1*b7893ccfSSadaf Ebrahimi 2*b7893ccfSSadaf Ebrahimi // This file is ***GENERATED***. Do Not Edit. 3*b7893ccfSSadaf Ebrahimi // See layer_chassis_generator.py for modifications. 4*b7893ccfSSadaf Ebrahimi 5*b7893ccfSSadaf Ebrahimi /* Copyright (c) 2015-2019 The Khronos Group Inc. 6*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 Valve Corporation 7*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 LunarG, Inc. 8*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 Google Inc. 9*b7893ccfSSadaf Ebrahimi * 10*b7893ccfSSadaf Ebrahimi * Licensed under the Apache License, Version 2.0 (the "License"); 11*b7893ccfSSadaf Ebrahimi * you may not use this file except in compliance with the License. 12*b7893ccfSSadaf Ebrahimi * You may obtain a copy of the License at 13*b7893ccfSSadaf Ebrahimi * 14*b7893ccfSSadaf Ebrahimi * http://www.apache.org/licenses/LICENSE-2.0 15*b7893ccfSSadaf Ebrahimi * 16*b7893ccfSSadaf Ebrahimi * Unless required by applicable law or agreed to in writing, software 17*b7893ccfSSadaf Ebrahimi * distributed under the License is distributed on an "AS IS" BASIS, 18*b7893ccfSSadaf Ebrahimi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19*b7893ccfSSadaf Ebrahimi * See the License for the specific language governing permissions and 20*b7893ccfSSadaf Ebrahimi * limitations under the License. 21*b7893ccfSSadaf Ebrahimi * 22*b7893ccfSSadaf Ebrahimi * Author: Mark Lobodzinski <[email protected]> 23*b7893ccfSSadaf Ebrahimi */ 24*b7893ccfSSadaf Ebrahimi #pragma once 25*b7893ccfSSadaf Ebrahimi 26*b7893ccfSSadaf Ebrahimi 27*b7893ccfSSadaf Ebrahimi #define NOMINMAX 28*b7893ccfSSadaf Ebrahimi #include <atomic> 29*b7893ccfSSadaf Ebrahimi #include <mutex> 30*b7893ccfSSadaf Ebrahimi #include <cinttypes> 31*b7893ccfSSadaf Ebrahimi #include <stdio.h> 32*b7893ccfSSadaf Ebrahimi #include <stdlib.h> 33*b7893ccfSSadaf Ebrahimi #include <string.h> 34*b7893ccfSSadaf Ebrahimi #include <unordered_map> 35*b7893ccfSSadaf Ebrahimi #include <unordered_set> 36*b7893ccfSSadaf Ebrahimi #include <algorithm> 37*b7893ccfSSadaf Ebrahimi #include <memory> 38*b7893ccfSSadaf Ebrahimi 39*b7893ccfSSadaf Ebrahimi #include "vk_loader_platform.h" 40*b7893ccfSSadaf Ebrahimi #include "vulkan/vulkan.h" 41*b7893ccfSSadaf Ebrahimi #include "vk_layer_config.h" 42*b7893ccfSSadaf Ebrahimi #include "vk_layer_data.h" 43*b7893ccfSSadaf Ebrahimi #include "vk_layer_logging.h" 44*b7893ccfSSadaf Ebrahimi #include "vk_object_types.h" 45*b7893ccfSSadaf Ebrahimi #include "vulkan/vk_layer.h" 46*b7893ccfSSadaf Ebrahimi #include "vk_enum_string_helper.h" 47*b7893ccfSSadaf Ebrahimi #include "vk_layer_extension_utils.h" 48*b7893ccfSSadaf Ebrahimi #include "vk_layer_utils.h" 49*b7893ccfSSadaf Ebrahimi #include "vulkan/vk_layer.h" 50*b7893ccfSSadaf Ebrahimi #include "vk_dispatch_table_helper.h" 51*b7893ccfSSadaf Ebrahimi #include "vk_extension_helper.h" 52*b7893ccfSSadaf Ebrahimi #include "vk_safe_struct.h" 53*b7893ccfSSadaf Ebrahimi #include "vk_typemap_helper.h" 54*b7893ccfSSadaf Ebrahimi 55*b7893ccfSSadaf Ebrahimi 56*b7893ccfSSadaf Ebrahimi extern std::atomic<uint64_t> global_unique_id; 57*b7893ccfSSadaf Ebrahimi extern vl_concurrent_unordered_map<uint64_t, uint64_t, 4> unique_id_mapping; 58*b7893ccfSSadaf Ebrahimi 59*b7893ccfSSadaf Ebrahimi 60*b7893ccfSSadaf Ebrahimi 61*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateInstance( 62*b7893ccfSSadaf Ebrahimi const VkInstanceCreateInfo* pCreateInfo, 63*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 64*b7893ccfSSadaf Ebrahimi VkInstance* pInstance); 65*b7893ccfSSadaf Ebrahimi 66*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyInstance( 67*b7893ccfSSadaf Ebrahimi VkInstance instance, 68*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 69*b7893ccfSSadaf Ebrahimi 70*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices( 71*b7893ccfSSadaf Ebrahimi VkInstance instance, 72*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceCount, 73*b7893ccfSSadaf Ebrahimi VkPhysicalDevice* pPhysicalDevices); 74*b7893ccfSSadaf Ebrahimi 75*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures( 76*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 77*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures* pFeatures); 78*b7893ccfSSadaf Ebrahimi 79*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties( 80*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 81*b7893ccfSSadaf Ebrahimi VkFormat format, 82*b7893ccfSSadaf Ebrahimi VkFormatProperties* pFormatProperties); 83*b7893ccfSSadaf Ebrahimi 84*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties( 85*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 86*b7893ccfSSadaf Ebrahimi VkFormat format, 87*b7893ccfSSadaf Ebrahimi VkImageType type, 88*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 89*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 90*b7893ccfSSadaf Ebrahimi VkImageCreateFlags flags, 91*b7893ccfSSadaf Ebrahimi VkImageFormatProperties* pImageFormatProperties); 92*b7893ccfSSadaf Ebrahimi 93*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties( 94*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 95*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties* pProperties); 96*b7893ccfSSadaf Ebrahimi 97*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties( 98*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 99*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 100*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties* pQueueFamilyProperties); 101*b7893ccfSSadaf Ebrahimi 102*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties( 103*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 104*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties* pMemoryProperties); 105*b7893ccfSSadaf Ebrahimi 106*b7893ccfSSadaf Ebrahimi VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr( 107*b7893ccfSSadaf Ebrahimi VkInstance instance, 108*b7893ccfSSadaf Ebrahimi const char* pName); 109*b7893ccfSSadaf Ebrahimi 110*b7893ccfSSadaf Ebrahimi VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr( 111*b7893ccfSSadaf Ebrahimi VkDevice device, 112*b7893ccfSSadaf Ebrahimi const char* pName); 113*b7893ccfSSadaf Ebrahimi 114*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDevice( 115*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 116*b7893ccfSSadaf Ebrahimi const VkDeviceCreateInfo* pCreateInfo, 117*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 118*b7893ccfSSadaf Ebrahimi VkDevice* pDevice); 119*b7893ccfSSadaf Ebrahimi 120*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDevice( 121*b7893ccfSSadaf Ebrahimi VkDevice device, 122*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 123*b7893ccfSSadaf Ebrahimi 124*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties( 125*b7893ccfSSadaf Ebrahimi const char* pLayerName, 126*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 127*b7893ccfSSadaf Ebrahimi VkExtensionProperties* pProperties); 128*b7893ccfSSadaf Ebrahimi 129*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties( 130*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 131*b7893ccfSSadaf Ebrahimi const char* pLayerName, 132*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 133*b7893ccfSSadaf Ebrahimi VkExtensionProperties* pProperties); 134*b7893ccfSSadaf Ebrahimi 135*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceLayerProperties( 136*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 137*b7893ccfSSadaf Ebrahimi VkLayerProperties* pProperties); 138*b7893ccfSSadaf Ebrahimi 139*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceLayerProperties( 140*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 141*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 142*b7893ccfSSadaf Ebrahimi VkLayerProperties* pProperties); 143*b7893ccfSSadaf Ebrahimi 144*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDeviceQueue( 145*b7893ccfSSadaf Ebrahimi VkDevice device, 146*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 147*b7893ccfSSadaf Ebrahimi uint32_t queueIndex, 148*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 149*b7893ccfSSadaf Ebrahimi 150*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit( 151*b7893ccfSSadaf Ebrahimi VkQueue queue, 152*b7893ccfSSadaf Ebrahimi uint32_t submitCount, 153*b7893ccfSSadaf Ebrahimi const VkSubmitInfo* pSubmits, 154*b7893ccfSSadaf Ebrahimi VkFence fence); 155*b7893ccfSSadaf Ebrahimi 156*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL QueueWaitIdle( 157*b7893ccfSSadaf Ebrahimi VkQueue queue); 158*b7893ccfSSadaf Ebrahimi 159*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL DeviceWaitIdle( 160*b7893ccfSSadaf Ebrahimi VkDevice device); 161*b7893ccfSSadaf Ebrahimi 162*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AllocateMemory( 163*b7893ccfSSadaf Ebrahimi VkDevice device, 164*b7893ccfSSadaf Ebrahimi const VkMemoryAllocateInfo* pAllocateInfo, 165*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 166*b7893ccfSSadaf Ebrahimi VkDeviceMemory* pMemory); 167*b7893ccfSSadaf Ebrahimi 168*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL FreeMemory( 169*b7893ccfSSadaf Ebrahimi VkDevice device, 170*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 171*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 172*b7893ccfSSadaf Ebrahimi 173*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL MapMemory( 174*b7893ccfSSadaf Ebrahimi VkDevice device, 175*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 176*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 177*b7893ccfSSadaf Ebrahimi VkDeviceSize size, 178*b7893ccfSSadaf Ebrahimi VkMemoryMapFlags flags, 179*b7893ccfSSadaf Ebrahimi void** ppData); 180*b7893ccfSSadaf Ebrahimi 181*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL UnmapMemory( 182*b7893ccfSSadaf Ebrahimi VkDevice device, 183*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory); 184*b7893ccfSSadaf Ebrahimi 185*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL FlushMappedMemoryRanges( 186*b7893ccfSSadaf Ebrahimi VkDevice device, 187*b7893ccfSSadaf Ebrahimi uint32_t memoryRangeCount, 188*b7893ccfSSadaf Ebrahimi const VkMappedMemoryRange* pMemoryRanges); 189*b7893ccfSSadaf Ebrahimi 190*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL InvalidateMappedMemoryRanges( 191*b7893ccfSSadaf Ebrahimi VkDevice device, 192*b7893ccfSSadaf Ebrahimi uint32_t memoryRangeCount, 193*b7893ccfSSadaf Ebrahimi const VkMappedMemoryRange* pMemoryRanges); 194*b7893ccfSSadaf Ebrahimi 195*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDeviceMemoryCommitment( 196*b7893ccfSSadaf Ebrahimi VkDevice device, 197*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 198*b7893ccfSSadaf Ebrahimi VkDeviceSize* pCommittedMemoryInBytes); 199*b7893ccfSSadaf Ebrahimi 200*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory( 201*b7893ccfSSadaf Ebrahimi VkDevice device, 202*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 203*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 204*b7893ccfSSadaf Ebrahimi VkDeviceSize memoryOffset); 205*b7893ccfSSadaf Ebrahimi 206*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory( 207*b7893ccfSSadaf Ebrahimi VkDevice device, 208*b7893ccfSSadaf Ebrahimi VkImage image, 209*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 210*b7893ccfSSadaf Ebrahimi VkDeviceSize memoryOffset); 211*b7893ccfSSadaf Ebrahimi 212*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements( 213*b7893ccfSSadaf Ebrahimi VkDevice device, 214*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 215*b7893ccfSSadaf Ebrahimi VkMemoryRequirements* pMemoryRequirements); 216*b7893ccfSSadaf Ebrahimi 217*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements( 218*b7893ccfSSadaf Ebrahimi VkDevice device, 219*b7893ccfSSadaf Ebrahimi VkImage image, 220*b7893ccfSSadaf Ebrahimi VkMemoryRequirements* pMemoryRequirements); 221*b7893ccfSSadaf Ebrahimi 222*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements( 223*b7893ccfSSadaf Ebrahimi VkDevice device, 224*b7893ccfSSadaf Ebrahimi VkImage image, 225*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 226*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 227*b7893ccfSSadaf Ebrahimi 228*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties( 229*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 230*b7893ccfSSadaf Ebrahimi VkFormat format, 231*b7893ccfSSadaf Ebrahimi VkImageType type, 232*b7893ccfSSadaf Ebrahimi VkSampleCountFlagBits samples, 233*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 234*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 235*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 236*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties* pProperties); 237*b7893ccfSSadaf Ebrahimi 238*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL QueueBindSparse( 239*b7893ccfSSadaf Ebrahimi VkQueue queue, 240*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 241*b7893ccfSSadaf Ebrahimi const VkBindSparseInfo* pBindInfo, 242*b7893ccfSSadaf Ebrahimi VkFence fence); 243*b7893ccfSSadaf Ebrahimi 244*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateFence( 245*b7893ccfSSadaf Ebrahimi VkDevice device, 246*b7893ccfSSadaf Ebrahimi const VkFenceCreateInfo* pCreateInfo, 247*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 248*b7893ccfSSadaf Ebrahimi VkFence* pFence); 249*b7893ccfSSadaf Ebrahimi 250*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyFence( 251*b7893ccfSSadaf Ebrahimi VkDevice device, 252*b7893ccfSSadaf Ebrahimi VkFence fence, 253*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 254*b7893ccfSSadaf Ebrahimi 255*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ResetFences( 256*b7893ccfSSadaf Ebrahimi VkDevice device, 257*b7893ccfSSadaf Ebrahimi uint32_t fenceCount, 258*b7893ccfSSadaf Ebrahimi const VkFence* pFences); 259*b7893ccfSSadaf Ebrahimi 260*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetFenceStatus( 261*b7893ccfSSadaf Ebrahimi VkDevice device, 262*b7893ccfSSadaf Ebrahimi VkFence fence); 263*b7893ccfSSadaf Ebrahimi 264*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL WaitForFences( 265*b7893ccfSSadaf Ebrahimi VkDevice device, 266*b7893ccfSSadaf Ebrahimi uint32_t fenceCount, 267*b7893ccfSSadaf Ebrahimi const VkFence* pFences, 268*b7893ccfSSadaf Ebrahimi VkBool32 waitAll, 269*b7893ccfSSadaf Ebrahimi uint64_t timeout); 270*b7893ccfSSadaf Ebrahimi 271*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSemaphore( 272*b7893ccfSSadaf Ebrahimi VkDevice device, 273*b7893ccfSSadaf Ebrahimi const VkSemaphoreCreateInfo* pCreateInfo, 274*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 275*b7893ccfSSadaf Ebrahimi VkSemaphore* pSemaphore); 276*b7893ccfSSadaf Ebrahimi 277*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySemaphore( 278*b7893ccfSSadaf Ebrahimi VkDevice device, 279*b7893ccfSSadaf Ebrahimi VkSemaphore semaphore, 280*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 281*b7893ccfSSadaf Ebrahimi 282*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateEvent( 283*b7893ccfSSadaf Ebrahimi VkDevice device, 284*b7893ccfSSadaf Ebrahimi const VkEventCreateInfo* pCreateInfo, 285*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 286*b7893ccfSSadaf Ebrahimi VkEvent* pEvent); 287*b7893ccfSSadaf Ebrahimi 288*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyEvent( 289*b7893ccfSSadaf Ebrahimi VkDevice device, 290*b7893ccfSSadaf Ebrahimi VkEvent event, 291*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 292*b7893ccfSSadaf Ebrahimi 293*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetEventStatus( 294*b7893ccfSSadaf Ebrahimi VkDevice device, 295*b7893ccfSSadaf Ebrahimi VkEvent event); 296*b7893ccfSSadaf Ebrahimi 297*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL SetEvent( 298*b7893ccfSSadaf Ebrahimi VkDevice device, 299*b7893ccfSSadaf Ebrahimi VkEvent event); 300*b7893ccfSSadaf Ebrahimi 301*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ResetEvent( 302*b7893ccfSSadaf Ebrahimi VkDevice device, 303*b7893ccfSSadaf Ebrahimi VkEvent event); 304*b7893ccfSSadaf Ebrahimi 305*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateQueryPool( 306*b7893ccfSSadaf Ebrahimi VkDevice device, 307*b7893ccfSSadaf Ebrahimi const VkQueryPoolCreateInfo* pCreateInfo, 308*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 309*b7893ccfSSadaf Ebrahimi VkQueryPool* pQueryPool); 310*b7893ccfSSadaf Ebrahimi 311*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyQueryPool( 312*b7893ccfSSadaf Ebrahimi VkDevice device, 313*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 314*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 315*b7893ccfSSadaf Ebrahimi 316*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetQueryPoolResults( 317*b7893ccfSSadaf Ebrahimi VkDevice device, 318*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 319*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 320*b7893ccfSSadaf Ebrahimi uint32_t queryCount, 321*b7893ccfSSadaf Ebrahimi size_t dataSize, 322*b7893ccfSSadaf Ebrahimi void* pData, 323*b7893ccfSSadaf Ebrahimi VkDeviceSize stride, 324*b7893ccfSSadaf Ebrahimi VkQueryResultFlags flags); 325*b7893ccfSSadaf Ebrahimi 326*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer( 327*b7893ccfSSadaf Ebrahimi VkDevice device, 328*b7893ccfSSadaf Ebrahimi const VkBufferCreateInfo* pCreateInfo, 329*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 330*b7893ccfSSadaf Ebrahimi VkBuffer* pBuffer); 331*b7893ccfSSadaf Ebrahimi 332*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyBuffer( 333*b7893ccfSSadaf Ebrahimi VkDevice device, 334*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 335*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 336*b7893ccfSSadaf Ebrahimi 337*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateBufferView( 338*b7893ccfSSadaf Ebrahimi VkDevice device, 339*b7893ccfSSadaf Ebrahimi const VkBufferViewCreateInfo* pCreateInfo, 340*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 341*b7893ccfSSadaf Ebrahimi VkBufferView* pView); 342*b7893ccfSSadaf Ebrahimi 343*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyBufferView( 344*b7893ccfSSadaf Ebrahimi VkDevice device, 345*b7893ccfSSadaf Ebrahimi VkBufferView bufferView, 346*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 347*b7893ccfSSadaf Ebrahimi 348*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateImage( 349*b7893ccfSSadaf Ebrahimi VkDevice device, 350*b7893ccfSSadaf Ebrahimi const VkImageCreateInfo* pCreateInfo, 351*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 352*b7893ccfSSadaf Ebrahimi VkImage* pImage); 353*b7893ccfSSadaf Ebrahimi 354*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyImage( 355*b7893ccfSSadaf Ebrahimi VkDevice device, 356*b7893ccfSSadaf Ebrahimi VkImage image, 357*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 358*b7893ccfSSadaf Ebrahimi 359*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout( 360*b7893ccfSSadaf Ebrahimi VkDevice device, 361*b7893ccfSSadaf Ebrahimi VkImage image, 362*b7893ccfSSadaf Ebrahimi const VkImageSubresource* pSubresource, 363*b7893ccfSSadaf Ebrahimi VkSubresourceLayout* pLayout); 364*b7893ccfSSadaf Ebrahimi 365*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateImageView( 366*b7893ccfSSadaf Ebrahimi VkDevice device, 367*b7893ccfSSadaf Ebrahimi const VkImageViewCreateInfo* pCreateInfo, 368*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 369*b7893ccfSSadaf Ebrahimi VkImageView* pView); 370*b7893ccfSSadaf Ebrahimi 371*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyImageView( 372*b7893ccfSSadaf Ebrahimi VkDevice device, 373*b7893ccfSSadaf Ebrahimi VkImageView imageView, 374*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 375*b7893ccfSSadaf Ebrahimi 376*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule( 377*b7893ccfSSadaf Ebrahimi VkDevice device, 378*b7893ccfSSadaf Ebrahimi const VkShaderModuleCreateInfo* pCreateInfo, 379*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 380*b7893ccfSSadaf Ebrahimi VkShaderModule* pShaderModule); 381*b7893ccfSSadaf Ebrahimi 382*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyShaderModule( 383*b7893ccfSSadaf Ebrahimi VkDevice device, 384*b7893ccfSSadaf Ebrahimi VkShaderModule shaderModule, 385*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 386*b7893ccfSSadaf Ebrahimi 387*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineCache( 388*b7893ccfSSadaf Ebrahimi VkDevice device, 389*b7893ccfSSadaf Ebrahimi const VkPipelineCacheCreateInfo* pCreateInfo, 390*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 391*b7893ccfSSadaf Ebrahimi VkPipelineCache* pPipelineCache); 392*b7893ccfSSadaf Ebrahimi 393*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyPipelineCache( 394*b7893ccfSSadaf Ebrahimi VkDevice device, 395*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 396*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 397*b7893ccfSSadaf Ebrahimi 398*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPipelineCacheData( 399*b7893ccfSSadaf Ebrahimi VkDevice device, 400*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 401*b7893ccfSSadaf Ebrahimi size_t* pDataSize, 402*b7893ccfSSadaf Ebrahimi void* pData); 403*b7893ccfSSadaf Ebrahimi 404*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL MergePipelineCaches( 405*b7893ccfSSadaf Ebrahimi VkDevice device, 406*b7893ccfSSadaf Ebrahimi VkPipelineCache dstCache, 407*b7893ccfSSadaf Ebrahimi uint32_t srcCacheCount, 408*b7893ccfSSadaf Ebrahimi const VkPipelineCache* pSrcCaches); 409*b7893ccfSSadaf Ebrahimi 410*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines( 411*b7893ccfSSadaf Ebrahimi VkDevice device, 412*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 413*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 414*b7893ccfSSadaf Ebrahimi const VkGraphicsPipelineCreateInfo* pCreateInfos, 415*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 416*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 417*b7893ccfSSadaf Ebrahimi 418*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines( 419*b7893ccfSSadaf Ebrahimi VkDevice device, 420*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 421*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 422*b7893ccfSSadaf Ebrahimi const VkComputePipelineCreateInfo* pCreateInfos, 423*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 424*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 425*b7893ccfSSadaf Ebrahimi 426*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyPipeline( 427*b7893ccfSSadaf Ebrahimi VkDevice device, 428*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 429*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 430*b7893ccfSSadaf Ebrahimi 431*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout( 432*b7893ccfSSadaf Ebrahimi VkDevice device, 433*b7893ccfSSadaf Ebrahimi const VkPipelineLayoutCreateInfo* pCreateInfo, 434*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 435*b7893ccfSSadaf Ebrahimi VkPipelineLayout* pPipelineLayout); 436*b7893ccfSSadaf Ebrahimi 437*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyPipelineLayout( 438*b7893ccfSSadaf Ebrahimi VkDevice device, 439*b7893ccfSSadaf Ebrahimi VkPipelineLayout pipelineLayout, 440*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 441*b7893ccfSSadaf Ebrahimi 442*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSampler( 443*b7893ccfSSadaf Ebrahimi VkDevice device, 444*b7893ccfSSadaf Ebrahimi const VkSamplerCreateInfo* pCreateInfo, 445*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 446*b7893ccfSSadaf Ebrahimi VkSampler* pSampler); 447*b7893ccfSSadaf Ebrahimi 448*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySampler( 449*b7893ccfSSadaf Ebrahimi VkDevice device, 450*b7893ccfSSadaf Ebrahimi VkSampler sampler, 451*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 452*b7893ccfSSadaf Ebrahimi 453*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout( 454*b7893ccfSSadaf Ebrahimi VkDevice device, 455*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 456*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 457*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout* pSetLayout); 458*b7893ccfSSadaf Ebrahimi 459*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDescriptorSetLayout( 460*b7893ccfSSadaf Ebrahimi VkDevice device, 461*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout descriptorSetLayout, 462*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 463*b7893ccfSSadaf Ebrahimi 464*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorPool( 465*b7893ccfSSadaf Ebrahimi VkDevice device, 466*b7893ccfSSadaf Ebrahimi const VkDescriptorPoolCreateInfo* pCreateInfo, 467*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 468*b7893ccfSSadaf Ebrahimi VkDescriptorPool* pDescriptorPool); 469*b7893ccfSSadaf Ebrahimi 470*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDescriptorPool( 471*b7893ccfSSadaf Ebrahimi VkDevice device, 472*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 473*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 474*b7893ccfSSadaf Ebrahimi 475*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ResetDescriptorPool( 476*b7893ccfSSadaf Ebrahimi VkDevice device, 477*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 478*b7893ccfSSadaf Ebrahimi VkDescriptorPoolResetFlags flags); 479*b7893ccfSSadaf Ebrahimi 480*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets( 481*b7893ccfSSadaf Ebrahimi VkDevice device, 482*b7893ccfSSadaf Ebrahimi const VkDescriptorSetAllocateInfo* pAllocateInfo, 483*b7893ccfSSadaf Ebrahimi VkDescriptorSet* pDescriptorSets); 484*b7893ccfSSadaf Ebrahimi 485*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL FreeDescriptorSets( 486*b7893ccfSSadaf Ebrahimi VkDevice device, 487*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 488*b7893ccfSSadaf Ebrahimi uint32_t descriptorSetCount, 489*b7893ccfSSadaf Ebrahimi const VkDescriptorSet* pDescriptorSets); 490*b7893ccfSSadaf Ebrahimi 491*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets( 492*b7893ccfSSadaf Ebrahimi VkDevice device, 493*b7893ccfSSadaf Ebrahimi uint32_t descriptorWriteCount, 494*b7893ccfSSadaf Ebrahimi const VkWriteDescriptorSet* pDescriptorWrites, 495*b7893ccfSSadaf Ebrahimi uint32_t descriptorCopyCount, 496*b7893ccfSSadaf Ebrahimi const VkCopyDescriptorSet* pDescriptorCopies); 497*b7893ccfSSadaf Ebrahimi 498*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateFramebuffer( 499*b7893ccfSSadaf Ebrahimi VkDevice device, 500*b7893ccfSSadaf Ebrahimi const VkFramebufferCreateInfo* pCreateInfo, 501*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 502*b7893ccfSSadaf Ebrahimi VkFramebuffer* pFramebuffer); 503*b7893ccfSSadaf Ebrahimi 504*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer( 505*b7893ccfSSadaf Ebrahimi VkDevice device, 506*b7893ccfSSadaf Ebrahimi VkFramebuffer framebuffer, 507*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 508*b7893ccfSSadaf Ebrahimi 509*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass( 510*b7893ccfSSadaf Ebrahimi VkDevice device, 511*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo* pCreateInfo, 512*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 513*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass); 514*b7893ccfSSadaf Ebrahimi 515*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyRenderPass( 516*b7893ccfSSadaf Ebrahimi VkDevice device, 517*b7893ccfSSadaf Ebrahimi VkRenderPass renderPass, 518*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 519*b7893ccfSSadaf Ebrahimi 520*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetRenderAreaGranularity( 521*b7893ccfSSadaf Ebrahimi VkDevice device, 522*b7893ccfSSadaf Ebrahimi VkRenderPass renderPass, 523*b7893ccfSSadaf Ebrahimi VkExtent2D* pGranularity); 524*b7893ccfSSadaf Ebrahimi 525*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateCommandPool( 526*b7893ccfSSadaf Ebrahimi VkDevice device, 527*b7893ccfSSadaf Ebrahimi const VkCommandPoolCreateInfo* pCreateInfo, 528*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 529*b7893ccfSSadaf Ebrahimi VkCommandPool* pCommandPool); 530*b7893ccfSSadaf Ebrahimi 531*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyCommandPool( 532*b7893ccfSSadaf Ebrahimi VkDevice device, 533*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 534*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 535*b7893ccfSSadaf Ebrahimi 536*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ResetCommandPool( 537*b7893ccfSSadaf Ebrahimi VkDevice device, 538*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 539*b7893ccfSSadaf Ebrahimi VkCommandPoolResetFlags flags); 540*b7893ccfSSadaf Ebrahimi 541*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AllocateCommandBuffers( 542*b7893ccfSSadaf Ebrahimi VkDevice device, 543*b7893ccfSSadaf Ebrahimi const VkCommandBufferAllocateInfo* pAllocateInfo, 544*b7893ccfSSadaf Ebrahimi VkCommandBuffer* pCommandBuffers); 545*b7893ccfSSadaf Ebrahimi 546*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL FreeCommandBuffers( 547*b7893ccfSSadaf Ebrahimi VkDevice device, 548*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 549*b7893ccfSSadaf Ebrahimi uint32_t commandBufferCount, 550*b7893ccfSSadaf Ebrahimi const VkCommandBuffer* pCommandBuffers); 551*b7893ccfSSadaf Ebrahimi 552*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer( 553*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 554*b7893ccfSSadaf Ebrahimi const VkCommandBufferBeginInfo* pBeginInfo); 555*b7893ccfSSadaf Ebrahimi 556*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EndCommandBuffer( 557*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 558*b7893ccfSSadaf Ebrahimi 559*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ResetCommandBuffer( 560*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 561*b7893ccfSSadaf Ebrahimi VkCommandBufferResetFlags flags); 562*b7893ccfSSadaf Ebrahimi 563*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindPipeline( 564*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 565*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 566*b7893ccfSSadaf Ebrahimi VkPipeline pipeline); 567*b7893ccfSSadaf Ebrahimi 568*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetViewport( 569*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 570*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 571*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 572*b7893ccfSSadaf Ebrahimi const VkViewport* pViewports); 573*b7893ccfSSadaf Ebrahimi 574*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetScissor( 575*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 576*b7893ccfSSadaf Ebrahimi uint32_t firstScissor, 577*b7893ccfSSadaf Ebrahimi uint32_t scissorCount, 578*b7893ccfSSadaf Ebrahimi const VkRect2D* pScissors); 579*b7893ccfSSadaf Ebrahimi 580*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetLineWidth( 581*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 582*b7893ccfSSadaf Ebrahimi float lineWidth); 583*b7893ccfSSadaf Ebrahimi 584*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias( 585*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 586*b7893ccfSSadaf Ebrahimi float depthBiasConstantFactor, 587*b7893ccfSSadaf Ebrahimi float depthBiasClamp, 588*b7893ccfSSadaf Ebrahimi float depthBiasSlopeFactor); 589*b7893ccfSSadaf Ebrahimi 590*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetBlendConstants( 591*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 592*b7893ccfSSadaf Ebrahimi const float blendConstants[4]); 593*b7893ccfSSadaf Ebrahimi 594*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetDepthBounds( 595*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 596*b7893ccfSSadaf Ebrahimi float minDepthBounds, 597*b7893ccfSSadaf Ebrahimi float maxDepthBounds); 598*b7893ccfSSadaf Ebrahimi 599*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetStencilCompareMask( 600*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 601*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 602*b7893ccfSSadaf Ebrahimi uint32_t compareMask); 603*b7893ccfSSadaf Ebrahimi 604*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetStencilWriteMask( 605*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 606*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 607*b7893ccfSSadaf Ebrahimi uint32_t writeMask); 608*b7893ccfSSadaf Ebrahimi 609*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetStencilReference( 610*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 611*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 612*b7893ccfSSadaf Ebrahimi uint32_t reference); 613*b7893ccfSSadaf Ebrahimi 614*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets( 615*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 616*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 617*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 618*b7893ccfSSadaf Ebrahimi uint32_t firstSet, 619*b7893ccfSSadaf Ebrahimi uint32_t descriptorSetCount, 620*b7893ccfSSadaf Ebrahimi const VkDescriptorSet* pDescriptorSets, 621*b7893ccfSSadaf Ebrahimi uint32_t dynamicOffsetCount, 622*b7893ccfSSadaf Ebrahimi const uint32_t* pDynamicOffsets); 623*b7893ccfSSadaf Ebrahimi 624*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer( 625*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 626*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 627*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 628*b7893ccfSSadaf Ebrahimi VkIndexType indexType); 629*b7893ccfSSadaf Ebrahimi 630*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers( 631*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 632*b7893ccfSSadaf Ebrahimi uint32_t firstBinding, 633*b7893ccfSSadaf Ebrahimi uint32_t bindingCount, 634*b7893ccfSSadaf Ebrahimi const VkBuffer* pBuffers, 635*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pOffsets); 636*b7893ccfSSadaf Ebrahimi 637*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDraw( 638*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 639*b7893ccfSSadaf Ebrahimi uint32_t vertexCount, 640*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 641*b7893ccfSSadaf Ebrahimi uint32_t firstVertex, 642*b7893ccfSSadaf Ebrahimi uint32_t firstInstance); 643*b7893ccfSSadaf Ebrahimi 644*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndexed( 645*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 646*b7893ccfSSadaf Ebrahimi uint32_t indexCount, 647*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 648*b7893ccfSSadaf Ebrahimi uint32_t firstIndex, 649*b7893ccfSSadaf Ebrahimi int32_t vertexOffset, 650*b7893ccfSSadaf Ebrahimi uint32_t firstInstance); 651*b7893ccfSSadaf Ebrahimi 652*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect( 653*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 654*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 655*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 656*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 657*b7893ccfSSadaf Ebrahimi uint32_t stride); 658*b7893ccfSSadaf Ebrahimi 659*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect( 660*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 661*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 662*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 663*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 664*b7893ccfSSadaf Ebrahimi uint32_t stride); 665*b7893ccfSSadaf Ebrahimi 666*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDispatch( 667*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 668*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 669*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 670*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 671*b7893ccfSSadaf Ebrahimi 672*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect( 673*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 674*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 675*b7893ccfSSadaf Ebrahimi VkDeviceSize offset); 676*b7893ccfSSadaf Ebrahimi 677*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer( 678*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 679*b7893ccfSSadaf Ebrahimi VkBuffer srcBuffer, 680*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 681*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 682*b7893ccfSSadaf Ebrahimi const VkBufferCopy* pRegions); 683*b7893ccfSSadaf Ebrahimi 684*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyImage( 685*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 686*b7893ccfSSadaf Ebrahimi VkImage srcImage, 687*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 688*b7893ccfSSadaf Ebrahimi VkImage dstImage, 689*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 690*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 691*b7893ccfSSadaf Ebrahimi const VkImageCopy* pRegions); 692*b7893ccfSSadaf Ebrahimi 693*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBlitImage( 694*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 695*b7893ccfSSadaf Ebrahimi VkImage srcImage, 696*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 697*b7893ccfSSadaf Ebrahimi VkImage dstImage, 698*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 699*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 700*b7893ccfSSadaf Ebrahimi const VkImageBlit* pRegions, 701*b7893ccfSSadaf Ebrahimi VkFilter filter); 702*b7893ccfSSadaf Ebrahimi 703*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage( 704*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 705*b7893ccfSSadaf Ebrahimi VkBuffer srcBuffer, 706*b7893ccfSSadaf Ebrahimi VkImage dstImage, 707*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 708*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 709*b7893ccfSSadaf Ebrahimi const VkBufferImageCopy* pRegions); 710*b7893ccfSSadaf Ebrahimi 711*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer( 712*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 713*b7893ccfSSadaf Ebrahimi VkImage srcImage, 714*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 715*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 716*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 717*b7893ccfSSadaf Ebrahimi const VkBufferImageCopy* pRegions); 718*b7893ccfSSadaf Ebrahimi 719*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer( 720*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 721*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 722*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 723*b7893ccfSSadaf Ebrahimi VkDeviceSize dataSize, 724*b7893ccfSSadaf Ebrahimi const void* pData); 725*b7893ccfSSadaf Ebrahimi 726*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdFillBuffer( 727*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 728*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 729*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 730*b7893ccfSSadaf Ebrahimi VkDeviceSize size, 731*b7893ccfSSadaf Ebrahimi uint32_t data); 732*b7893ccfSSadaf Ebrahimi 733*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdClearColorImage( 734*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 735*b7893ccfSSadaf Ebrahimi VkImage image, 736*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout, 737*b7893ccfSSadaf Ebrahimi const VkClearColorValue* pColor, 738*b7893ccfSSadaf Ebrahimi uint32_t rangeCount, 739*b7893ccfSSadaf Ebrahimi const VkImageSubresourceRange* pRanges); 740*b7893ccfSSadaf Ebrahimi 741*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdClearDepthStencilImage( 742*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 743*b7893ccfSSadaf Ebrahimi VkImage image, 744*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout, 745*b7893ccfSSadaf Ebrahimi const VkClearDepthStencilValue* pDepthStencil, 746*b7893ccfSSadaf Ebrahimi uint32_t rangeCount, 747*b7893ccfSSadaf Ebrahimi const VkImageSubresourceRange* pRanges); 748*b7893ccfSSadaf Ebrahimi 749*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdClearAttachments( 750*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 751*b7893ccfSSadaf Ebrahimi uint32_t attachmentCount, 752*b7893ccfSSadaf Ebrahimi const VkClearAttachment* pAttachments, 753*b7893ccfSSadaf Ebrahimi uint32_t rectCount, 754*b7893ccfSSadaf Ebrahimi const VkClearRect* pRects); 755*b7893ccfSSadaf Ebrahimi 756*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdResolveImage( 757*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 758*b7893ccfSSadaf Ebrahimi VkImage srcImage, 759*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 760*b7893ccfSSadaf Ebrahimi VkImage dstImage, 761*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 762*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 763*b7893ccfSSadaf Ebrahimi const VkImageResolve* pRegions); 764*b7893ccfSSadaf Ebrahimi 765*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetEvent( 766*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 767*b7893ccfSSadaf Ebrahimi VkEvent event, 768*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags stageMask); 769*b7893ccfSSadaf Ebrahimi 770*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdResetEvent( 771*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 772*b7893ccfSSadaf Ebrahimi VkEvent event, 773*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags stageMask); 774*b7893ccfSSadaf Ebrahimi 775*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdWaitEvents( 776*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 777*b7893ccfSSadaf Ebrahimi uint32_t eventCount, 778*b7893ccfSSadaf Ebrahimi const VkEvent* pEvents, 779*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags srcStageMask, 780*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags dstStageMask, 781*b7893ccfSSadaf Ebrahimi uint32_t memoryBarrierCount, 782*b7893ccfSSadaf Ebrahimi const VkMemoryBarrier* pMemoryBarriers, 783*b7893ccfSSadaf Ebrahimi uint32_t bufferMemoryBarrierCount, 784*b7893ccfSSadaf Ebrahimi const VkBufferMemoryBarrier* pBufferMemoryBarriers, 785*b7893ccfSSadaf Ebrahimi uint32_t imageMemoryBarrierCount, 786*b7893ccfSSadaf Ebrahimi const VkImageMemoryBarrier* pImageMemoryBarriers); 787*b7893ccfSSadaf Ebrahimi 788*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier( 789*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 790*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags srcStageMask, 791*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags dstStageMask, 792*b7893ccfSSadaf Ebrahimi VkDependencyFlags dependencyFlags, 793*b7893ccfSSadaf Ebrahimi uint32_t memoryBarrierCount, 794*b7893ccfSSadaf Ebrahimi const VkMemoryBarrier* pMemoryBarriers, 795*b7893ccfSSadaf Ebrahimi uint32_t bufferMemoryBarrierCount, 796*b7893ccfSSadaf Ebrahimi const VkBufferMemoryBarrier* pBufferMemoryBarriers, 797*b7893ccfSSadaf Ebrahimi uint32_t imageMemoryBarrierCount, 798*b7893ccfSSadaf Ebrahimi const VkImageMemoryBarrier* pImageMemoryBarriers); 799*b7893ccfSSadaf Ebrahimi 800*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginQuery( 801*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 802*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 803*b7893ccfSSadaf Ebrahimi uint32_t query, 804*b7893ccfSSadaf Ebrahimi VkQueryControlFlags flags); 805*b7893ccfSSadaf Ebrahimi 806*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndQuery( 807*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 808*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 809*b7893ccfSSadaf Ebrahimi uint32_t query); 810*b7893ccfSSadaf Ebrahimi 811*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdResetQueryPool( 812*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 813*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 814*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 815*b7893ccfSSadaf Ebrahimi uint32_t queryCount); 816*b7893ccfSSadaf Ebrahimi 817*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp( 818*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 819*b7893ccfSSadaf Ebrahimi VkPipelineStageFlagBits pipelineStage, 820*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 821*b7893ccfSSadaf Ebrahimi uint32_t query); 822*b7893ccfSSadaf Ebrahimi 823*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResults( 824*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 825*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 826*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 827*b7893ccfSSadaf Ebrahimi uint32_t queryCount, 828*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 829*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 830*b7893ccfSSadaf Ebrahimi VkDeviceSize stride, 831*b7893ccfSSadaf Ebrahimi VkQueryResultFlags flags); 832*b7893ccfSSadaf Ebrahimi 833*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdPushConstants( 834*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 835*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 836*b7893ccfSSadaf Ebrahimi VkShaderStageFlags stageFlags, 837*b7893ccfSSadaf Ebrahimi uint32_t offset, 838*b7893ccfSSadaf Ebrahimi uint32_t size, 839*b7893ccfSSadaf Ebrahimi const void* pValues); 840*b7893ccfSSadaf Ebrahimi 841*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass( 842*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 843*b7893ccfSSadaf Ebrahimi const VkRenderPassBeginInfo* pRenderPassBegin, 844*b7893ccfSSadaf Ebrahimi VkSubpassContents contents); 845*b7893ccfSSadaf Ebrahimi 846*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdNextSubpass( 847*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 848*b7893ccfSSadaf Ebrahimi VkSubpassContents contents); 849*b7893ccfSSadaf Ebrahimi 850*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass( 851*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 852*b7893ccfSSadaf Ebrahimi 853*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands( 854*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 855*b7893ccfSSadaf Ebrahimi uint32_t commandBufferCount, 856*b7893ccfSSadaf Ebrahimi const VkCommandBuffer* pCommandBuffers); 857*b7893ccfSSadaf Ebrahimi 858*b7893ccfSSadaf Ebrahimi 859*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2( 860*b7893ccfSSadaf Ebrahimi VkDevice device, 861*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 862*b7893ccfSSadaf Ebrahimi const VkBindBufferMemoryInfo* pBindInfos); 863*b7893ccfSSadaf Ebrahimi 864*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2( 865*b7893ccfSSadaf Ebrahimi VkDevice device, 866*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 867*b7893ccfSSadaf Ebrahimi const VkBindImageMemoryInfo* pBindInfos); 868*b7893ccfSSadaf Ebrahimi 869*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeatures( 870*b7893ccfSSadaf Ebrahimi VkDevice device, 871*b7893ccfSSadaf Ebrahimi uint32_t heapIndex, 872*b7893ccfSSadaf Ebrahimi uint32_t localDeviceIndex, 873*b7893ccfSSadaf Ebrahimi uint32_t remoteDeviceIndex, 874*b7893ccfSSadaf Ebrahimi VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 875*b7893ccfSSadaf Ebrahimi 876*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMask( 877*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 878*b7893ccfSSadaf Ebrahimi uint32_t deviceMask); 879*b7893ccfSSadaf Ebrahimi 880*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDispatchBase( 881*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 882*b7893ccfSSadaf Ebrahimi uint32_t baseGroupX, 883*b7893ccfSSadaf Ebrahimi uint32_t baseGroupY, 884*b7893ccfSSadaf Ebrahimi uint32_t baseGroupZ, 885*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 886*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 887*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 888*b7893ccfSSadaf Ebrahimi 889*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroups( 890*b7893ccfSSadaf Ebrahimi VkInstance instance, 891*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceGroupCount, 892*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 893*b7893ccfSSadaf Ebrahimi 894*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2( 895*b7893ccfSSadaf Ebrahimi VkDevice device, 896*b7893ccfSSadaf Ebrahimi const VkImageMemoryRequirementsInfo2* pInfo, 897*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 898*b7893ccfSSadaf Ebrahimi 899*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2( 900*b7893ccfSSadaf Ebrahimi VkDevice device, 901*b7893ccfSSadaf Ebrahimi const VkBufferMemoryRequirementsInfo2* pInfo, 902*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 903*b7893ccfSSadaf Ebrahimi 904*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2( 905*b7893ccfSSadaf Ebrahimi VkDevice device, 906*b7893ccfSSadaf Ebrahimi const VkImageSparseMemoryRequirementsInfo2* pInfo, 907*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 908*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 909*b7893ccfSSadaf Ebrahimi 910*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2( 911*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 912*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures2* pFeatures); 913*b7893ccfSSadaf Ebrahimi 914*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2( 915*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 916*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties2* pProperties); 917*b7893ccfSSadaf Ebrahimi 918*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2( 919*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 920*b7893ccfSSadaf Ebrahimi VkFormat format, 921*b7893ccfSSadaf Ebrahimi VkFormatProperties2* pFormatProperties); 922*b7893ccfSSadaf Ebrahimi 923*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2( 924*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 925*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 926*b7893ccfSSadaf Ebrahimi VkImageFormatProperties2* pImageFormatProperties); 927*b7893ccfSSadaf Ebrahimi 928*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2( 929*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 930*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 931*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties2* pQueueFamilyProperties); 932*b7893ccfSSadaf Ebrahimi 933*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2( 934*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 935*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 936*b7893ccfSSadaf Ebrahimi 937*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2( 938*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 939*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 940*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 941*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties2* pProperties); 942*b7893ccfSSadaf Ebrahimi 943*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL TrimCommandPool( 944*b7893ccfSSadaf Ebrahimi VkDevice device, 945*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 946*b7893ccfSSadaf Ebrahimi VkCommandPoolTrimFlags flags); 947*b7893ccfSSadaf Ebrahimi 948*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDeviceQueue2( 949*b7893ccfSSadaf Ebrahimi VkDevice device, 950*b7893ccfSSadaf Ebrahimi const VkDeviceQueueInfo2* pQueueInfo, 951*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 952*b7893ccfSSadaf Ebrahimi 953*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversion( 954*b7893ccfSSadaf Ebrahimi VkDevice device, 955*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 956*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 957*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion); 958*b7893ccfSSadaf Ebrahimi 959*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversion( 960*b7893ccfSSadaf Ebrahimi VkDevice device, 961*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 962*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 963*b7893ccfSSadaf Ebrahimi 964*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplate( 965*b7893ccfSSadaf Ebrahimi VkDevice device, 966*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 967*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 968*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 969*b7893ccfSSadaf Ebrahimi 970*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplate( 971*b7893ccfSSadaf Ebrahimi VkDevice device, 972*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 973*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 974*b7893ccfSSadaf Ebrahimi 975*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplate( 976*b7893ccfSSadaf Ebrahimi VkDevice device, 977*b7893ccfSSadaf Ebrahimi VkDescriptorSet descriptorSet, 978*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 979*b7893ccfSSadaf Ebrahimi const void* pData); 980*b7893ccfSSadaf Ebrahimi 981*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferProperties( 982*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 983*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 984*b7893ccfSSadaf Ebrahimi VkExternalBufferProperties* pExternalBufferProperties); 985*b7893ccfSSadaf Ebrahimi 986*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFenceProperties( 987*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 988*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 989*b7893ccfSSadaf Ebrahimi VkExternalFenceProperties* pExternalFenceProperties); 990*b7893ccfSSadaf Ebrahimi 991*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphoreProperties( 992*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 993*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 994*b7893ccfSSadaf Ebrahimi VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 995*b7893ccfSSadaf Ebrahimi 996*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupport( 997*b7893ccfSSadaf Ebrahimi VkDevice device, 998*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 999*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayoutSupport* pSupport); 1000*b7893ccfSSadaf Ebrahimi 1001*b7893ccfSSadaf Ebrahimi 1002*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR( 1003*b7893ccfSSadaf Ebrahimi VkInstance instance, 1004*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1005*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1006*b7893ccfSSadaf Ebrahimi 1007*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceSupportKHR( 1008*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1009*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1010*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1011*b7893ccfSSadaf Ebrahimi VkBool32* pSupported); 1012*b7893ccfSSadaf Ebrahimi 1013*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR( 1014*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1015*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1016*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 1017*b7893ccfSSadaf Ebrahimi 1018*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR( 1019*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1020*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1021*b7893ccfSSadaf Ebrahimi uint32_t* pSurfaceFormatCount, 1022*b7893ccfSSadaf Ebrahimi VkSurfaceFormatKHR* pSurfaceFormats); 1023*b7893ccfSSadaf Ebrahimi 1024*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR( 1025*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1026*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1027*b7893ccfSSadaf Ebrahimi uint32_t* pPresentModeCount, 1028*b7893ccfSSadaf Ebrahimi VkPresentModeKHR* pPresentModes); 1029*b7893ccfSSadaf Ebrahimi 1030*b7893ccfSSadaf Ebrahimi 1031*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR( 1032*b7893ccfSSadaf Ebrahimi VkDevice device, 1033*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfo, 1034*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1035*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchain); 1036*b7893ccfSSadaf Ebrahimi 1037*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySwapchainKHR( 1038*b7893ccfSSadaf Ebrahimi VkDevice device, 1039*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1040*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1041*b7893ccfSSadaf Ebrahimi 1042*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR( 1043*b7893ccfSSadaf Ebrahimi VkDevice device, 1044*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1045*b7893ccfSSadaf Ebrahimi uint32_t* pSwapchainImageCount, 1046*b7893ccfSSadaf Ebrahimi VkImage* pSwapchainImages); 1047*b7893ccfSSadaf Ebrahimi 1048*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR( 1049*b7893ccfSSadaf Ebrahimi VkDevice device, 1050*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1051*b7893ccfSSadaf Ebrahimi uint64_t timeout, 1052*b7893ccfSSadaf Ebrahimi VkSemaphore semaphore, 1053*b7893ccfSSadaf Ebrahimi VkFence fence, 1054*b7893ccfSSadaf Ebrahimi uint32_t* pImageIndex); 1055*b7893ccfSSadaf Ebrahimi 1056*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR( 1057*b7893ccfSSadaf Ebrahimi VkQueue queue, 1058*b7893ccfSSadaf Ebrahimi const VkPresentInfoKHR* pPresentInfo); 1059*b7893ccfSSadaf Ebrahimi 1060*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupPresentCapabilitiesKHR( 1061*b7893ccfSSadaf Ebrahimi VkDevice device, 1062*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 1063*b7893ccfSSadaf Ebrahimi 1064*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModesKHR( 1065*b7893ccfSSadaf Ebrahimi VkDevice device, 1066*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1067*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentModeFlagsKHR* pModes); 1068*b7893ccfSSadaf Ebrahimi 1069*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDevicePresentRectanglesKHR( 1070*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1071*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1072*b7893ccfSSadaf Ebrahimi uint32_t* pRectCount, 1073*b7893ccfSSadaf Ebrahimi VkRect2D* pRects); 1074*b7893ccfSSadaf Ebrahimi 1075*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImage2KHR( 1076*b7893ccfSSadaf Ebrahimi VkDevice device, 1077*b7893ccfSSadaf Ebrahimi const VkAcquireNextImageInfoKHR* pAcquireInfo, 1078*b7893ccfSSadaf Ebrahimi uint32_t* pImageIndex); 1079*b7893ccfSSadaf Ebrahimi 1080*b7893ccfSSadaf Ebrahimi 1081*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR( 1082*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1083*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1084*b7893ccfSSadaf Ebrahimi VkDisplayPropertiesKHR* pProperties); 1085*b7893ccfSSadaf Ebrahimi 1086*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR( 1087*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1088*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1089*b7893ccfSSadaf Ebrahimi VkDisplayPlanePropertiesKHR* pProperties); 1090*b7893ccfSSadaf Ebrahimi 1091*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR( 1092*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1093*b7893ccfSSadaf Ebrahimi uint32_t planeIndex, 1094*b7893ccfSSadaf Ebrahimi uint32_t* pDisplayCount, 1095*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplays); 1096*b7893ccfSSadaf Ebrahimi 1097*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR( 1098*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1099*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1100*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1101*b7893ccfSSadaf Ebrahimi VkDisplayModePropertiesKHR* pProperties); 1102*b7893ccfSSadaf Ebrahimi 1103*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayModeKHR( 1104*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1105*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1106*b7893ccfSSadaf Ebrahimi const VkDisplayModeCreateInfoKHR* pCreateInfo, 1107*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1108*b7893ccfSSadaf Ebrahimi VkDisplayModeKHR* pMode); 1109*b7893ccfSSadaf Ebrahimi 1110*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR( 1111*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1112*b7893ccfSSadaf Ebrahimi VkDisplayModeKHR mode, 1113*b7893ccfSSadaf Ebrahimi uint32_t planeIndex, 1114*b7893ccfSSadaf Ebrahimi VkDisplayPlaneCapabilitiesKHR* pCapabilities); 1115*b7893ccfSSadaf Ebrahimi 1116*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR( 1117*b7893ccfSSadaf Ebrahimi VkInstance instance, 1118*b7893ccfSSadaf Ebrahimi const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 1119*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1120*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1121*b7893ccfSSadaf Ebrahimi 1122*b7893ccfSSadaf Ebrahimi 1123*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR( 1124*b7893ccfSSadaf Ebrahimi VkDevice device, 1125*b7893ccfSSadaf Ebrahimi uint32_t swapchainCount, 1126*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfos, 1127*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1128*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchains); 1129*b7893ccfSSadaf Ebrahimi 1130*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_KHR 1131*b7893ccfSSadaf Ebrahimi 1132*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR( 1133*b7893ccfSSadaf Ebrahimi VkInstance instance, 1134*b7893ccfSSadaf Ebrahimi const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 1135*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1136*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1137*b7893ccfSSadaf Ebrahimi 1138*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKHR( 1139*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1140*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1141*b7893ccfSSadaf Ebrahimi Display* dpy, 1142*b7893ccfSSadaf Ebrahimi VisualID visualID); 1143*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_KHR 1144*b7893ccfSSadaf Ebrahimi 1145*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XCB_KHR 1146*b7893ccfSSadaf Ebrahimi 1147*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR( 1148*b7893ccfSSadaf Ebrahimi VkInstance instance, 1149*b7893ccfSSadaf Ebrahimi const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 1150*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1151*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1152*b7893ccfSSadaf Ebrahimi 1153*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR( 1154*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1155*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1156*b7893ccfSSadaf Ebrahimi xcb_connection_t* connection, 1157*b7893ccfSSadaf Ebrahimi xcb_visualid_t visual_id); 1158*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XCB_KHR 1159*b7893ccfSSadaf Ebrahimi 1160*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WAYLAND_KHR 1161*b7893ccfSSadaf Ebrahimi 1162*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR( 1163*b7893ccfSSadaf Ebrahimi VkInstance instance, 1164*b7893ccfSSadaf Ebrahimi const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 1165*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1166*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1167*b7893ccfSSadaf Ebrahimi 1168*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSupportKHR( 1169*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1170*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1171*b7893ccfSSadaf Ebrahimi struct wl_display* display); 1172*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WAYLAND_KHR 1173*b7893ccfSSadaf Ebrahimi 1174*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_ANDROID_KHR 1175*b7893ccfSSadaf Ebrahimi 1176*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR( 1177*b7893ccfSSadaf Ebrahimi VkInstance instance, 1178*b7893ccfSSadaf Ebrahimi const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, 1179*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1180*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1181*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_ANDROID_KHR 1182*b7893ccfSSadaf Ebrahimi 1183*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1184*b7893ccfSSadaf Ebrahimi 1185*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR( 1186*b7893ccfSSadaf Ebrahimi VkInstance instance, 1187*b7893ccfSSadaf Ebrahimi const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 1188*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1189*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1190*b7893ccfSSadaf Ebrahimi 1191*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportKHR( 1192*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1193*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex); 1194*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1195*b7893ccfSSadaf Ebrahimi 1196*b7893ccfSSadaf Ebrahimi 1197*b7893ccfSSadaf Ebrahimi 1198*b7893ccfSSadaf Ebrahimi 1199*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR( 1200*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1201*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures2* pFeatures); 1202*b7893ccfSSadaf Ebrahimi 1203*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR( 1204*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1205*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties2* pProperties); 1206*b7893ccfSSadaf Ebrahimi 1207*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR( 1208*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1209*b7893ccfSSadaf Ebrahimi VkFormat format, 1210*b7893ccfSSadaf Ebrahimi VkFormatProperties2* pFormatProperties); 1211*b7893ccfSSadaf Ebrahimi 1212*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR( 1213*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1214*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 1215*b7893ccfSSadaf Ebrahimi VkImageFormatProperties2* pImageFormatProperties); 1216*b7893ccfSSadaf Ebrahimi 1217*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR( 1218*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1219*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 1220*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties2* pQueueFamilyProperties); 1221*b7893ccfSSadaf Ebrahimi 1222*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2KHR( 1223*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1224*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 1225*b7893ccfSSadaf Ebrahimi 1226*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2KHR( 1227*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1228*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 1229*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1230*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties2* pProperties); 1231*b7893ccfSSadaf Ebrahimi 1232*b7893ccfSSadaf Ebrahimi 1233*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR( 1234*b7893ccfSSadaf Ebrahimi VkDevice device, 1235*b7893ccfSSadaf Ebrahimi uint32_t heapIndex, 1236*b7893ccfSSadaf Ebrahimi uint32_t localDeviceIndex, 1237*b7893ccfSSadaf Ebrahimi uint32_t remoteDeviceIndex, 1238*b7893ccfSSadaf Ebrahimi VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 1239*b7893ccfSSadaf Ebrahimi 1240*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMaskKHR( 1241*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1242*b7893ccfSSadaf Ebrahimi uint32_t deviceMask); 1243*b7893ccfSSadaf Ebrahimi 1244*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR( 1245*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1246*b7893ccfSSadaf Ebrahimi uint32_t baseGroupX, 1247*b7893ccfSSadaf Ebrahimi uint32_t baseGroupY, 1248*b7893ccfSSadaf Ebrahimi uint32_t baseGroupZ, 1249*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 1250*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 1251*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 1252*b7893ccfSSadaf Ebrahimi 1253*b7893ccfSSadaf Ebrahimi 1254*b7893ccfSSadaf Ebrahimi 1255*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR( 1256*b7893ccfSSadaf Ebrahimi VkDevice device, 1257*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 1258*b7893ccfSSadaf Ebrahimi VkCommandPoolTrimFlags flags); 1259*b7893ccfSSadaf Ebrahimi 1260*b7893ccfSSadaf Ebrahimi 1261*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHR( 1262*b7893ccfSSadaf Ebrahimi VkInstance instance, 1263*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceGroupCount, 1264*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 1265*b7893ccfSSadaf Ebrahimi 1266*b7893ccfSSadaf Ebrahimi 1267*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR( 1268*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1269*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 1270*b7893ccfSSadaf Ebrahimi VkExternalBufferProperties* pExternalBufferProperties); 1271*b7893ccfSSadaf Ebrahimi 1272*b7893ccfSSadaf Ebrahimi 1273*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1274*b7893ccfSSadaf Ebrahimi 1275*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR( 1276*b7893ccfSSadaf Ebrahimi VkDevice device, 1277*b7893ccfSSadaf Ebrahimi const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1278*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1279*b7893ccfSSadaf Ebrahimi 1280*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR( 1281*b7893ccfSSadaf Ebrahimi VkDevice device, 1282*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 1283*b7893ccfSSadaf Ebrahimi HANDLE handle, 1284*b7893ccfSSadaf Ebrahimi VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); 1285*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1286*b7893ccfSSadaf Ebrahimi 1287*b7893ccfSSadaf Ebrahimi 1288*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR( 1289*b7893ccfSSadaf Ebrahimi VkDevice device, 1290*b7893ccfSSadaf Ebrahimi const VkMemoryGetFdInfoKHR* pGetFdInfo, 1291*b7893ccfSSadaf Ebrahimi int* pFd); 1292*b7893ccfSSadaf Ebrahimi 1293*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR( 1294*b7893ccfSSadaf Ebrahimi VkDevice device, 1295*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 1296*b7893ccfSSadaf Ebrahimi int fd, 1297*b7893ccfSSadaf Ebrahimi VkMemoryFdPropertiesKHR* pMemoryFdProperties); 1298*b7893ccfSSadaf Ebrahimi 1299*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1300*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1301*b7893ccfSSadaf Ebrahimi 1302*b7893ccfSSadaf Ebrahimi 1303*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKHR( 1304*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1305*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 1306*b7893ccfSSadaf Ebrahimi VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 1307*b7893ccfSSadaf Ebrahimi 1308*b7893ccfSSadaf Ebrahimi 1309*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1310*b7893ccfSSadaf Ebrahimi 1311*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR( 1312*b7893ccfSSadaf Ebrahimi VkDevice device, 1313*b7893ccfSSadaf Ebrahimi const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); 1314*b7893ccfSSadaf Ebrahimi 1315*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR( 1316*b7893ccfSSadaf Ebrahimi VkDevice device, 1317*b7893ccfSSadaf Ebrahimi const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1318*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1319*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1320*b7893ccfSSadaf Ebrahimi 1321*b7893ccfSSadaf Ebrahimi 1322*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR( 1323*b7893ccfSSadaf Ebrahimi VkDevice device, 1324*b7893ccfSSadaf Ebrahimi const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 1325*b7893ccfSSadaf Ebrahimi 1326*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR( 1327*b7893ccfSSadaf Ebrahimi VkDevice device, 1328*b7893ccfSSadaf Ebrahimi const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 1329*b7893ccfSSadaf Ebrahimi int* pFd); 1330*b7893ccfSSadaf Ebrahimi 1331*b7893ccfSSadaf Ebrahimi 1332*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR( 1333*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1334*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 1335*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 1336*b7893ccfSSadaf Ebrahimi uint32_t set, 1337*b7893ccfSSadaf Ebrahimi uint32_t descriptorWriteCount, 1338*b7893ccfSSadaf Ebrahimi const VkWriteDescriptorSet* pDescriptorWrites); 1339*b7893ccfSSadaf Ebrahimi 1340*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR( 1341*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1342*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1343*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 1344*b7893ccfSSadaf Ebrahimi uint32_t set, 1345*b7893ccfSSadaf Ebrahimi const void* pData); 1346*b7893ccfSSadaf Ebrahimi 1347*b7893ccfSSadaf Ebrahimi 1348*b7893ccfSSadaf Ebrahimi 1349*b7893ccfSSadaf Ebrahimi 1350*b7893ccfSSadaf Ebrahimi 1351*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR( 1352*b7893ccfSSadaf Ebrahimi VkDevice device, 1353*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1354*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1355*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 1356*b7893ccfSSadaf Ebrahimi 1357*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplateKHR( 1358*b7893ccfSSadaf Ebrahimi VkDevice device, 1359*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1360*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1361*b7893ccfSSadaf Ebrahimi 1362*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR( 1363*b7893ccfSSadaf Ebrahimi VkDevice device, 1364*b7893ccfSSadaf Ebrahimi VkDescriptorSet descriptorSet, 1365*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1366*b7893ccfSSadaf Ebrahimi const void* pData); 1367*b7893ccfSSadaf Ebrahimi 1368*b7893ccfSSadaf Ebrahimi 1369*b7893ccfSSadaf Ebrahimi 1370*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR( 1371*b7893ccfSSadaf Ebrahimi VkDevice device, 1372*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo2KHR* pCreateInfo, 1373*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1374*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass); 1375*b7893ccfSSadaf Ebrahimi 1376*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2KHR( 1377*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1378*b7893ccfSSadaf Ebrahimi const VkRenderPassBeginInfo* pRenderPassBegin, 1379*b7893ccfSSadaf Ebrahimi const VkSubpassBeginInfoKHR* pSubpassBeginInfo); 1380*b7893ccfSSadaf Ebrahimi 1381*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2KHR( 1382*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1383*b7893ccfSSadaf Ebrahimi const VkSubpassBeginInfoKHR* pSubpassBeginInfo, 1384*b7893ccfSSadaf Ebrahimi const VkSubpassEndInfoKHR* pSubpassEndInfo); 1385*b7893ccfSSadaf Ebrahimi 1386*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2KHR( 1387*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1388*b7893ccfSSadaf Ebrahimi const VkSubpassEndInfoKHR* pSubpassEndInfo); 1389*b7893ccfSSadaf Ebrahimi 1390*b7893ccfSSadaf Ebrahimi 1391*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR( 1392*b7893ccfSSadaf Ebrahimi VkDevice device, 1393*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 1394*b7893ccfSSadaf Ebrahimi 1395*b7893ccfSSadaf Ebrahimi 1396*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR( 1397*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1398*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 1399*b7893ccfSSadaf Ebrahimi VkExternalFenceProperties* pExternalFenceProperties); 1400*b7893ccfSSadaf Ebrahimi 1401*b7893ccfSSadaf Ebrahimi 1402*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1403*b7893ccfSSadaf Ebrahimi 1404*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR( 1405*b7893ccfSSadaf Ebrahimi VkDevice device, 1406*b7893ccfSSadaf Ebrahimi const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); 1407*b7893ccfSSadaf Ebrahimi 1408*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR( 1409*b7893ccfSSadaf Ebrahimi VkDevice device, 1410*b7893ccfSSadaf Ebrahimi const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1411*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1412*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1413*b7893ccfSSadaf Ebrahimi 1414*b7893ccfSSadaf Ebrahimi 1415*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR( 1416*b7893ccfSSadaf Ebrahimi VkDevice device, 1417*b7893ccfSSadaf Ebrahimi const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 1418*b7893ccfSSadaf Ebrahimi 1419*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR( 1420*b7893ccfSSadaf Ebrahimi VkDevice device, 1421*b7893ccfSSadaf Ebrahimi const VkFenceGetFdInfoKHR* pGetFdInfo, 1422*b7893ccfSSadaf Ebrahimi int* pFd); 1423*b7893ccfSSadaf Ebrahimi 1424*b7893ccfSSadaf Ebrahimi 1425*b7893ccfSSadaf Ebrahimi 1426*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR( 1427*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1428*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1429*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 1430*b7893ccfSSadaf Ebrahimi 1431*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR( 1432*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1433*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1434*b7893ccfSSadaf Ebrahimi uint32_t* pSurfaceFormatCount, 1435*b7893ccfSSadaf Ebrahimi VkSurfaceFormat2KHR* pSurfaceFormats); 1436*b7893ccfSSadaf Ebrahimi 1437*b7893ccfSSadaf Ebrahimi 1438*b7893ccfSSadaf Ebrahimi 1439*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR( 1440*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1441*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1442*b7893ccfSSadaf Ebrahimi VkDisplayProperties2KHR* pProperties); 1443*b7893ccfSSadaf Ebrahimi 1444*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlaneProperties2KHR( 1445*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1446*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1447*b7893ccfSSadaf Ebrahimi VkDisplayPlaneProperties2KHR* pProperties); 1448*b7893ccfSSadaf Ebrahimi 1449*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModeProperties2KHR( 1450*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1451*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1452*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1453*b7893ccfSSadaf Ebrahimi VkDisplayModeProperties2KHR* pProperties); 1454*b7893ccfSSadaf Ebrahimi 1455*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilities2KHR( 1456*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1457*b7893ccfSSadaf Ebrahimi const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 1458*b7893ccfSSadaf Ebrahimi VkDisplayPlaneCapabilities2KHR* pCapabilities); 1459*b7893ccfSSadaf Ebrahimi 1460*b7893ccfSSadaf Ebrahimi 1461*b7893ccfSSadaf Ebrahimi 1462*b7893ccfSSadaf Ebrahimi 1463*b7893ccfSSadaf Ebrahimi 1464*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR( 1465*b7893ccfSSadaf Ebrahimi VkDevice device, 1466*b7893ccfSSadaf Ebrahimi const VkImageMemoryRequirementsInfo2* pInfo, 1467*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 1468*b7893ccfSSadaf Ebrahimi 1469*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2KHR( 1470*b7893ccfSSadaf Ebrahimi VkDevice device, 1471*b7893ccfSSadaf Ebrahimi const VkBufferMemoryRequirementsInfo2* pInfo, 1472*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 1473*b7893ccfSSadaf Ebrahimi 1474*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR( 1475*b7893ccfSSadaf Ebrahimi VkDevice device, 1476*b7893ccfSSadaf Ebrahimi const VkImageSparseMemoryRequirementsInfo2* pInfo, 1477*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 1478*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 1479*b7893ccfSSadaf Ebrahimi 1480*b7893ccfSSadaf Ebrahimi 1481*b7893ccfSSadaf Ebrahimi 1482*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR( 1483*b7893ccfSSadaf Ebrahimi VkDevice device, 1484*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1485*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1486*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion); 1487*b7893ccfSSadaf Ebrahimi 1488*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR( 1489*b7893ccfSSadaf Ebrahimi VkDevice device, 1490*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 1491*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1492*b7893ccfSSadaf Ebrahimi 1493*b7893ccfSSadaf Ebrahimi 1494*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR( 1495*b7893ccfSSadaf Ebrahimi VkDevice device, 1496*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 1497*b7893ccfSSadaf Ebrahimi const VkBindBufferMemoryInfo* pBindInfos); 1498*b7893ccfSSadaf Ebrahimi 1499*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR( 1500*b7893ccfSSadaf Ebrahimi VkDevice device, 1501*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 1502*b7893ccfSSadaf Ebrahimi const VkBindImageMemoryInfo* pBindInfos); 1503*b7893ccfSSadaf Ebrahimi 1504*b7893ccfSSadaf Ebrahimi 1505*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR( 1506*b7893ccfSSadaf Ebrahimi VkDevice device, 1507*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 1508*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayoutSupport* pSupport); 1509*b7893ccfSSadaf Ebrahimi 1510*b7893ccfSSadaf Ebrahimi 1511*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR( 1512*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1513*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1514*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1515*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1516*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1517*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1518*b7893ccfSSadaf Ebrahimi uint32_t stride); 1519*b7893ccfSSadaf Ebrahimi 1520*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR( 1521*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1522*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1523*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1524*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1525*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1526*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1527*b7893ccfSSadaf Ebrahimi uint32_t stride); 1528*b7893ccfSSadaf Ebrahimi 1529*b7893ccfSSadaf Ebrahimi 1530*b7893ccfSSadaf Ebrahimi 1531*b7893ccfSSadaf Ebrahimi 1532*b7893ccfSSadaf Ebrahimi 1533*b7893ccfSSadaf Ebrahimi 1534*b7893ccfSSadaf Ebrahimi 1535*b7893ccfSSadaf Ebrahimi 1536*b7893ccfSSadaf Ebrahimi 1537*b7893ccfSSadaf Ebrahimi 1538*b7893ccfSSadaf Ebrahimi 1539*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR( 1540*b7893ccfSSadaf Ebrahimi VkDevice device, 1541*b7893ccfSSadaf Ebrahimi const VkPipelineInfoKHR* pPipelineInfo, 1542*b7893ccfSSadaf Ebrahimi uint32_t* pExecutableCount, 1543*b7893ccfSSadaf Ebrahimi VkPipelineExecutablePropertiesKHR* pProperties); 1544*b7893ccfSSadaf Ebrahimi 1545*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableStatisticsKHR( 1546*b7893ccfSSadaf Ebrahimi VkDevice device, 1547*b7893ccfSSadaf Ebrahimi const VkPipelineExecutableInfoKHR* pExecutableInfo, 1548*b7893ccfSSadaf Ebrahimi uint32_t* pStatisticCount, 1549*b7893ccfSSadaf Ebrahimi VkPipelineExecutableStatisticKHR* pStatistics); 1550*b7893ccfSSadaf Ebrahimi 1551*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentationsKHR( 1552*b7893ccfSSadaf Ebrahimi VkDevice device, 1553*b7893ccfSSadaf Ebrahimi const VkPipelineExecutableInfoKHR* pExecutableInfo, 1554*b7893ccfSSadaf Ebrahimi uint32_t* pInternalRepresentationCount, 1555*b7893ccfSSadaf Ebrahimi VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 1556*b7893ccfSSadaf Ebrahimi 1557*b7893ccfSSadaf Ebrahimi 1558*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDebugReportCallbackEXT( 1559*b7893ccfSSadaf Ebrahimi VkInstance instance, 1560*b7893ccfSSadaf Ebrahimi const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 1561*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1562*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT* pCallback); 1563*b7893ccfSSadaf Ebrahimi 1564*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDebugReportCallbackEXT( 1565*b7893ccfSSadaf Ebrahimi VkInstance instance, 1566*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT callback, 1567*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1568*b7893ccfSSadaf Ebrahimi 1569*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT( 1570*b7893ccfSSadaf Ebrahimi VkInstance instance, 1571*b7893ccfSSadaf Ebrahimi VkDebugReportFlagsEXT flags, 1572*b7893ccfSSadaf Ebrahimi VkDebugReportObjectTypeEXT objectType, 1573*b7893ccfSSadaf Ebrahimi uint64_t object, 1574*b7893ccfSSadaf Ebrahimi size_t location, 1575*b7893ccfSSadaf Ebrahimi int32_t messageCode, 1576*b7893ccfSSadaf Ebrahimi const char* pLayerPrefix, 1577*b7893ccfSSadaf Ebrahimi const char* pMessage); 1578*b7893ccfSSadaf Ebrahimi 1579*b7893ccfSSadaf Ebrahimi 1580*b7893ccfSSadaf Ebrahimi 1581*b7893ccfSSadaf Ebrahimi 1582*b7893ccfSSadaf Ebrahimi 1583*b7893ccfSSadaf Ebrahimi 1584*b7893ccfSSadaf Ebrahimi 1585*b7893ccfSSadaf Ebrahimi 1586*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT( 1587*b7893ccfSSadaf Ebrahimi VkDevice device, 1588*b7893ccfSSadaf Ebrahimi const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 1589*b7893ccfSSadaf Ebrahimi 1590*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT( 1591*b7893ccfSSadaf Ebrahimi VkDevice device, 1592*b7893ccfSSadaf Ebrahimi const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 1593*b7893ccfSSadaf Ebrahimi 1594*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT( 1595*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1596*b7893ccfSSadaf Ebrahimi const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1597*b7893ccfSSadaf Ebrahimi 1598*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT( 1599*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1600*b7893ccfSSadaf Ebrahimi 1601*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT( 1602*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1603*b7893ccfSSadaf Ebrahimi const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1604*b7893ccfSSadaf Ebrahimi 1605*b7893ccfSSadaf Ebrahimi 1606*b7893ccfSSadaf Ebrahimi 1607*b7893ccfSSadaf Ebrahimi 1608*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT( 1609*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1610*b7893ccfSSadaf Ebrahimi uint32_t firstBinding, 1611*b7893ccfSSadaf Ebrahimi uint32_t bindingCount, 1612*b7893ccfSSadaf Ebrahimi const VkBuffer* pBuffers, 1613*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pOffsets, 1614*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pSizes); 1615*b7893ccfSSadaf Ebrahimi 1616*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedbackEXT( 1617*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1618*b7893ccfSSadaf Ebrahimi uint32_t firstCounterBuffer, 1619*b7893ccfSSadaf Ebrahimi uint32_t counterBufferCount, 1620*b7893ccfSSadaf Ebrahimi const VkBuffer* pCounterBuffers, 1621*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pCounterBufferOffsets); 1622*b7893ccfSSadaf Ebrahimi 1623*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedbackEXT( 1624*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1625*b7893ccfSSadaf Ebrahimi uint32_t firstCounterBuffer, 1626*b7893ccfSSadaf Ebrahimi uint32_t counterBufferCount, 1627*b7893ccfSSadaf Ebrahimi const VkBuffer* pCounterBuffers, 1628*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pCounterBufferOffsets); 1629*b7893ccfSSadaf Ebrahimi 1630*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginQueryIndexedEXT( 1631*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1632*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 1633*b7893ccfSSadaf Ebrahimi uint32_t query, 1634*b7893ccfSSadaf Ebrahimi VkQueryControlFlags flags, 1635*b7893ccfSSadaf Ebrahimi uint32_t index); 1636*b7893ccfSSadaf Ebrahimi 1637*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndQueryIndexedEXT( 1638*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1639*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 1640*b7893ccfSSadaf Ebrahimi uint32_t query, 1641*b7893ccfSSadaf Ebrahimi uint32_t index); 1642*b7893ccfSSadaf Ebrahimi 1643*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT( 1644*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1645*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 1646*b7893ccfSSadaf Ebrahimi uint32_t firstInstance, 1647*b7893ccfSSadaf Ebrahimi VkBuffer counterBuffer, 1648*b7893ccfSSadaf Ebrahimi VkDeviceSize counterBufferOffset, 1649*b7893ccfSSadaf Ebrahimi uint32_t counterOffset, 1650*b7893ccfSSadaf Ebrahimi uint32_t vertexStride); 1651*b7893ccfSSadaf Ebrahimi 1652*b7893ccfSSadaf Ebrahimi 1653*b7893ccfSSadaf Ebrahimi VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX( 1654*b7893ccfSSadaf Ebrahimi VkDevice device, 1655*b7893ccfSSadaf Ebrahimi const VkImageViewHandleInfoNVX* pInfo); 1656*b7893ccfSSadaf Ebrahimi 1657*b7893ccfSSadaf Ebrahimi 1658*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD( 1659*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1660*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1661*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1662*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1663*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1664*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1665*b7893ccfSSadaf Ebrahimi uint32_t stride); 1666*b7893ccfSSadaf Ebrahimi 1667*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD( 1668*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1669*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1670*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1671*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1672*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1673*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1674*b7893ccfSSadaf Ebrahimi uint32_t stride); 1675*b7893ccfSSadaf Ebrahimi 1676*b7893ccfSSadaf Ebrahimi 1677*b7893ccfSSadaf Ebrahimi 1678*b7893ccfSSadaf Ebrahimi 1679*b7893ccfSSadaf Ebrahimi 1680*b7893ccfSSadaf Ebrahimi 1681*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD( 1682*b7893ccfSSadaf Ebrahimi VkDevice device, 1683*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 1684*b7893ccfSSadaf Ebrahimi VkShaderStageFlagBits shaderStage, 1685*b7893ccfSSadaf Ebrahimi VkShaderInfoTypeAMD infoType, 1686*b7893ccfSSadaf Ebrahimi size_t* pInfoSize, 1687*b7893ccfSSadaf Ebrahimi void* pInfo); 1688*b7893ccfSSadaf Ebrahimi 1689*b7893ccfSSadaf Ebrahimi 1690*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_GGP 1691*b7893ccfSSadaf Ebrahimi 1692*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateStreamDescriptorSurfaceGGP( 1693*b7893ccfSSadaf Ebrahimi VkInstance instance, 1694*b7893ccfSSadaf Ebrahimi const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, 1695*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1696*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1697*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_GGP 1698*b7893ccfSSadaf Ebrahimi 1699*b7893ccfSSadaf Ebrahimi 1700*b7893ccfSSadaf Ebrahimi 1701*b7893ccfSSadaf Ebrahimi 1702*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV( 1703*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1704*b7893ccfSSadaf Ebrahimi VkFormat format, 1705*b7893ccfSSadaf Ebrahimi VkImageType type, 1706*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 1707*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 1708*b7893ccfSSadaf Ebrahimi VkImageCreateFlags flags, 1709*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagsNV externalHandleType, 1710*b7893ccfSSadaf Ebrahimi VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 1711*b7893ccfSSadaf Ebrahimi 1712*b7893ccfSSadaf Ebrahimi 1713*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1714*b7893ccfSSadaf Ebrahimi 1715*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV( 1716*b7893ccfSSadaf Ebrahimi VkDevice device, 1717*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 1718*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagsNV handleType, 1719*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1720*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1721*b7893ccfSSadaf Ebrahimi 1722*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1723*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1724*b7893ccfSSadaf Ebrahimi 1725*b7893ccfSSadaf Ebrahimi 1726*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_VI_NN 1727*b7893ccfSSadaf Ebrahimi 1728*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateViSurfaceNN( 1729*b7893ccfSSadaf Ebrahimi VkInstance instance, 1730*b7893ccfSSadaf Ebrahimi const VkViSurfaceCreateInfoNN* pCreateInfo, 1731*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1732*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1733*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_VI_NN 1734*b7893ccfSSadaf Ebrahimi 1735*b7893ccfSSadaf Ebrahimi 1736*b7893ccfSSadaf Ebrahimi 1737*b7893ccfSSadaf Ebrahimi 1738*b7893ccfSSadaf Ebrahimi 1739*b7893ccfSSadaf Ebrahimi 1740*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT( 1741*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1742*b7893ccfSSadaf Ebrahimi const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 1743*b7893ccfSSadaf Ebrahimi 1744*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndConditionalRenderingEXT( 1745*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1746*b7893ccfSSadaf Ebrahimi 1747*b7893ccfSSadaf Ebrahimi 1748*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdProcessCommandsNVX( 1749*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1750*b7893ccfSSadaf Ebrahimi const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); 1751*b7893ccfSSadaf Ebrahimi 1752*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdReserveSpaceForCommandsNVX( 1753*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1754*b7893ccfSSadaf Ebrahimi const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); 1755*b7893ccfSSadaf Ebrahimi 1756*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNVX( 1757*b7893ccfSSadaf Ebrahimi VkDevice device, 1758*b7893ccfSSadaf Ebrahimi const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, 1759*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1760*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); 1761*b7893ccfSSadaf Ebrahimi 1762*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNVX( 1763*b7893ccfSSadaf Ebrahimi VkDevice device, 1764*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX indirectCommandsLayout, 1765*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1766*b7893ccfSSadaf Ebrahimi 1767*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateObjectTableNVX( 1768*b7893ccfSSadaf Ebrahimi VkDevice device, 1769*b7893ccfSSadaf Ebrahimi const VkObjectTableCreateInfoNVX* pCreateInfo, 1770*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1771*b7893ccfSSadaf Ebrahimi VkObjectTableNVX* pObjectTable); 1772*b7893ccfSSadaf Ebrahimi 1773*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyObjectTableNVX( 1774*b7893ccfSSadaf Ebrahimi VkDevice device, 1775*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1776*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1777*b7893ccfSSadaf Ebrahimi 1778*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL RegisterObjectsNVX( 1779*b7893ccfSSadaf Ebrahimi VkDevice device, 1780*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1781*b7893ccfSSadaf Ebrahimi uint32_t objectCount, 1782*b7893ccfSSadaf Ebrahimi const VkObjectTableEntryNVX* const* ppObjectTableEntries, 1783*b7893ccfSSadaf Ebrahimi const uint32_t* pObjectIndices); 1784*b7893ccfSSadaf Ebrahimi 1785*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL UnregisterObjectsNVX( 1786*b7893ccfSSadaf Ebrahimi VkDevice device, 1787*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1788*b7893ccfSSadaf Ebrahimi uint32_t objectCount, 1789*b7893ccfSSadaf Ebrahimi const VkObjectEntryTypeNVX* pObjectEntryTypes, 1790*b7893ccfSSadaf Ebrahimi const uint32_t* pObjectIndices); 1791*b7893ccfSSadaf Ebrahimi 1792*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceGeneratedCommandsPropertiesNVX( 1793*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1794*b7893ccfSSadaf Ebrahimi VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, 1795*b7893ccfSSadaf Ebrahimi VkDeviceGeneratedCommandsLimitsNVX* pLimits); 1796*b7893ccfSSadaf Ebrahimi 1797*b7893ccfSSadaf Ebrahimi 1798*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV( 1799*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1800*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 1801*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 1802*b7893ccfSSadaf Ebrahimi const VkViewportWScalingNV* pViewportWScalings); 1803*b7893ccfSSadaf Ebrahimi 1804*b7893ccfSSadaf Ebrahimi 1805*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT( 1806*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1807*b7893ccfSSadaf Ebrahimi VkDisplayKHR display); 1808*b7893ccfSSadaf Ebrahimi 1809*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 1810*b7893ccfSSadaf Ebrahimi 1811*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT( 1812*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1813*b7893ccfSSadaf Ebrahimi Display* dpy, 1814*b7893ccfSSadaf Ebrahimi VkDisplayKHR display); 1815*b7893ccfSSadaf Ebrahimi 1816*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT( 1817*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1818*b7893ccfSSadaf Ebrahimi Display* dpy, 1819*b7893ccfSSadaf Ebrahimi RROutput rrOutput, 1820*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplay); 1821*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 1822*b7893ccfSSadaf Ebrahimi 1823*b7893ccfSSadaf Ebrahimi 1824*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT( 1825*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1826*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1827*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 1828*b7893ccfSSadaf Ebrahimi 1829*b7893ccfSSadaf Ebrahimi 1830*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT( 1831*b7893ccfSSadaf Ebrahimi VkDevice device, 1832*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1833*b7893ccfSSadaf Ebrahimi const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 1834*b7893ccfSSadaf Ebrahimi 1835*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT( 1836*b7893ccfSSadaf Ebrahimi VkDevice device, 1837*b7893ccfSSadaf Ebrahimi const VkDeviceEventInfoEXT* pDeviceEventInfo, 1838*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1839*b7893ccfSSadaf Ebrahimi VkFence* pFence); 1840*b7893ccfSSadaf Ebrahimi 1841*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT( 1842*b7893ccfSSadaf Ebrahimi VkDevice device, 1843*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1844*b7893ccfSSadaf Ebrahimi const VkDisplayEventInfoEXT* pDisplayEventInfo, 1845*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1846*b7893ccfSSadaf Ebrahimi VkFence* pFence); 1847*b7893ccfSSadaf Ebrahimi 1848*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT( 1849*b7893ccfSSadaf Ebrahimi VkDevice device, 1850*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1851*b7893ccfSSadaf Ebrahimi VkSurfaceCounterFlagBitsEXT counter, 1852*b7893ccfSSadaf Ebrahimi uint64_t* pCounterValue); 1853*b7893ccfSSadaf Ebrahimi 1854*b7893ccfSSadaf Ebrahimi 1855*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE( 1856*b7893ccfSSadaf Ebrahimi VkDevice device, 1857*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1858*b7893ccfSSadaf Ebrahimi VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 1859*b7893ccfSSadaf Ebrahimi 1860*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE( 1861*b7893ccfSSadaf Ebrahimi VkDevice device, 1862*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1863*b7893ccfSSadaf Ebrahimi uint32_t* pPresentationTimingCount, 1864*b7893ccfSSadaf Ebrahimi VkPastPresentationTimingGOOGLE* pPresentationTimings); 1865*b7893ccfSSadaf Ebrahimi 1866*b7893ccfSSadaf Ebrahimi 1867*b7893ccfSSadaf Ebrahimi 1868*b7893ccfSSadaf Ebrahimi 1869*b7893ccfSSadaf Ebrahimi 1870*b7893ccfSSadaf Ebrahimi 1871*b7893ccfSSadaf Ebrahimi 1872*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT( 1873*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1874*b7893ccfSSadaf Ebrahimi uint32_t firstDiscardRectangle, 1875*b7893ccfSSadaf Ebrahimi uint32_t discardRectangleCount, 1876*b7893ccfSSadaf Ebrahimi const VkRect2D* pDiscardRectangles); 1877*b7893ccfSSadaf Ebrahimi 1878*b7893ccfSSadaf Ebrahimi 1879*b7893ccfSSadaf Ebrahimi 1880*b7893ccfSSadaf Ebrahimi 1881*b7893ccfSSadaf Ebrahimi 1882*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT( 1883*b7893ccfSSadaf Ebrahimi VkDevice device, 1884*b7893ccfSSadaf Ebrahimi uint32_t swapchainCount, 1885*b7893ccfSSadaf Ebrahimi const VkSwapchainKHR* pSwapchains, 1886*b7893ccfSSadaf Ebrahimi const VkHdrMetadataEXT* pMetadata); 1887*b7893ccfSSadaf Ebrahimi 1888*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_IOS_MVK 1889*b7893ccfSSadaf Ebrahimi 1890*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateIOSSurfaceMVK( 1891*b7893ccfSSadaf Ebrahimi VkInstance instance, 1892*b7893ccfSSadaf Ebrahimi const VkIOSSurfaceCreateInfoMVK* pCreateInfo, 1893*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1894*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1895*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_IOS_MVK 1896*b7893ccfSSadaf Ebrahimi 1897*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_MACOS_MVK 1898*b7893ccfSSadaf Ebrahimi 1899*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateMacOSSurfaceMVK( 1900*b7893ccfSSadaf Ebrahimi VkInstance instance, 1901*b7893ccfSSadaf Ebrahimi const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, 1902*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1903*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1904*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_MACOS_MVK 1905*b7893ccfSSadaf Ebrahimi 1906*b7893ccfSSadaf Ebrahimi 1907*b7893ccfSSadaf Ebrahimi 1908*b7893ccfSSadaf Ebrahimi 1909*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT( 1910*b7893ccfSSadaf Ebrahimi VkDevice device, 1911*b7893ccfSSadaf Ebrahimi const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 1912*b7893ccfSSadaf Ebrahimi 1913*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT( 1914*b7893ccfSSadaf Ebrahimi VkDevice device, 1915*b7893ccfSSadaf Ebrahimi const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 1916*b7893ccfSSadaf Ebrahimi 1917*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL QueueBeginDebugUtilsLabelEXT( 1918*b7893ccfSSadaf Ebrahimi VkQueue queue, 1919*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1920*b7893ccfSSadaf Ebrahimi 1921*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL QueueEndDebugUtilsLabelEXT( 1922*b7893ccfSSadaf Ebrahimi VkQueue queue); 1923*b7893ccfSSadaf Ebrahimi 1924*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL QueueInsertDebugUtilsLabelEXT( 1925*b7893ccfSSadaf Ebrahimi VkQueue queue, 1926*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1927*b7893ccfSSadaf Ebrahimi 1928*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBeginDebugUtilsLabelEXT( 1929*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1930*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1931*b7893ccfSSadaf Ebrahimi 1932*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdEndDebugUtilsLabelEXT( 1933*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1934*b7893ccfSSadaf Ebrahimi 1935*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdInsertDebugUtilsLabelEXT( 1936*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1937*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1938*b7893ccfSSadaf Ebrahimi 1939*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateDebugUtilsMessengerEXT( 1940*b7893ccfSSadaf Ebrahimi VkInstance instance, 1941*b7893ccfSSadaf Ebrahimi const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 1942*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1943*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT* pMessenger); 1944*b7893ccfSSadaf Ebrahimi 1945*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyDebugUtilsMessengerEXT( 1946*b7893ccfSSadaf Ebrahimi VkInstance instance, 1947*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT messenger, 1948*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1949*b7893ccfSSadaf Ebrahimi 1950*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL SubmitDebugUtilsMessageEXT( 1951*b7893ccfSSadaf Ebrahimi VkInstance instance, 1952*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 1953*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessageTypeFlagsEXT messageTypes, 1954*b7893ccfSSadaf Ebrahimi const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 1955*b7893ccfSSadaf Ebrahimi 1956*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_ANDROID_KHR 1957*b7893ccfSSadaf Ebrahimi 1958*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID( 1959*b7893ccfSSadaf Ebrahimi VkDevice device, 1960*b7893ccfSSadaf Ebrahimi const struct AHardwareBuffer* buffer, 1961*b7893ccfSSadaf Ebrahimi VkAndroidHardwareBufferPropertiesANDROID* pProperties); 1962*b7893ccfSSadaf Ebrahimi 1963*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID( 1964*b7893ccfSSadaf Ebrahimi VkDevice device, 1965*b7893ccfSSadaf Ebrahimi const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, 1966*b7893ccfSSadaf Ebrahimi struct AHardwareBuffer** pBuffer); 1967*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_ANDROID_KHR 1968*b7893ccfSSadaf Ebrahimi 1969*b7893ccfSSadaf Ebrahimi 1970*b7893ccfSSadaf Ebrahimi 1971*b7893ccfSSadaf Ebrahimi 1972*b7893ccfSSadaf Ebrahimi 1973*b7893ccfSSadaf Ebrahimi 1974*b7893ccfSSadaf Ebrahimi 1975*b7893ccfSSadaf Ebrahimi 1976*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEXT( 1977*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1978*b7893ccfSSadaf Ebrahimi const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 1979*b7893ccfSSadaf Ebrahimi 1980*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT( 1981*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1982*b7893ccfSSadaf Ebrahimi VkSampleCountFlagBits samples, 1983*b7893ccfSSadaf Ebrahimi VkMultisamplePropertiesEXT* pMultisampleProperties); 1984*b7893ccfSSadaf Ebrahimi 1985*b7893ccfSSadaf Ebrahimi 1986*b7893ccfSSadaf Ebrahimi 1987*b7893ccfSSadaf Ebrahimi 1988*b7893ccfSSadaf Ebrahimi 1989*b7893ccfSSadaf Ebrahimi 1990*b7893ccfSSadaf Ebrahimi 1991*b7893ccfSSadaf Ebrahimi 1992*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT( 1993*b7893ccfSSadaf Ebrahimi VkDevice device, 1994*b7893ccfSSadaf Ebrahimi VkImage image, 1995*b7893ccfSSadaf Ebrahimi VkImageDrmFormatModifierPropertiesEXT* pProperties); 1996*b7893ccfSSadaf Ebrahimi 1997*b7893ccfSSadaf Ebrahimi 1998*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT( 1999*b7893ccfSSadaf Ebrahimi VkDevice device, 2000*b7893ccfSSadaf Ebrahimi const VkValidationCacheCreateInfoEXT* pCreateInfo, 2001*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2002*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT* pValidationCache); 2003*b7893ccfSSadaf Ebrahimi 2004*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT( 2005*b7893ccfSSadaf Ebrahimi VkDevice device, 2006*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT validationCache, 2007*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2008*b7893ccfSSadaf Ebrahimi 2009*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT( 2010*b7893ccfSSadaf Ebrahimi VkDevice device, 2011*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT dstCache, 2012*b7893ccfSSadaf Ebrahimi uint32_t srcCacheCount, 2013*b7893ccfSSadaf Ebrahimi const VkValidationCacheEXT* pSrcCaches); 2014*b7893ccfSSadaf Ebrahimi 2015*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT( 2016*b7893ccfSSadaf Ebrahimi VkDevice device, 2017*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT validationCache, 2018*b7893ccfSSadaf Ebrahimi size_t* pDataSize, 2019*b7893ccfSSadaf Ebrahimi void* pData); 2020*b7893ccfSSadaf Ebrahimi 2021*b7893ccfSSadaf Ebrahimi 2022*b7893ccfSSadaf Ebrahimi 2023*b7893ccfSSadaf Ebrahimi 2024*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV( 2025*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2026*b7893ccfSSadaf Ebrahimi VkImageView imageView, 2027*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout); 2028*b7893ccfSSadaf Ebrahimi 2029*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetViewportShadingRatePaletteNV( 2030*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2031*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 2032*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 2033*b7893ccfSSadaf Ebrahimi const VkShadingRatePaletteNV* pShadingRatePalettes); 2034*b7893ccfSSadaf Ebrahimi 2035*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV( 2036*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2037*b7893ccfSSadaf Ebrahimi VkCoarseSampleOrderTypeNV sampleOrderType, 2038*b7893ccfSSadaf Ebrahimi uint32_t customSampleOrderCount, 2039*b7893ccfSSadaf Ebrahimi const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 2040*b7893ccfSSadaf Ebrahimi 2041*b7893ccfSSadaf Ebrahimi 2042*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV( 2043*b7893ccfSSadaf Ebrahimi VkDevice device, 2044*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureCreateInfoNV* pCreateInfo, 2045*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2046*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV* pAccelerationStructure); 2047*b7893ccfSSadaf Ebrahimi 2048*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureNV( 2049*b7893ccfSSadaf Ebrahimi VkDevice device, 2050*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV accelerationStructure, 2051*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2052*b7893ccfSSadaf Ebrahimi 2053*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureMemoryRequirementsNV( 2054*b7893ccfSSadaf Ebrahimi VkDevice device, 2055*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 2056*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2KHR* pMemoryRequirements); 2057*b7893ccfSSadaf Ebrahimi 2058*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL BindAccelerationStructureMemoryNV( 2059*b7893ccfSSadaf Ebrahimi VkDevice device, 2060*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 2061*b7893ccfSSadaf Ebrahimi const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 2062*b7893ccfSSadaf Ebrahimi 2063*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructureNV( 2064*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2065*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureInfoNV* pInfo, 2066*b7893ccfSSadaf Ebrahimi VkBuffer instanceData, 2067*b7893ccfSSadaf Ebrahimi VkDeviceSize instanceOffset, 2068*b7893ccfSSadaf Ebrahimi VkBool32 update, 2069*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV dst, 2070*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV src, 2071*b7893ccfSSadaf Ebrahimi VkBuffer scratch, 2072*b7893ccfSSadaf Ebrahimi VkDeviceSize scratchOffset); 2073*b7893ccfSSadaf Ebrahimi 2074*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureNV( 2075*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2076*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV dst, 2077*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV src, 2078*b7893ccfSSadaf Ebrahimi VkCopyAccelerationStructureModeNV mode); 2079*b7893ccfSSadaf Ebrahimi 2080*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdTraceRaysNV( 2081*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2082*b7893ccfSSadaf Ebrahimi VkBuffer raygenShaderBindingTableBuffer, 2083*b7893ccfSSadaf Ebrahimi VkDeviceSize raygenShaderBindingOffset, 2084*b7893ccfSSadaf Ebrahimi VkBuffer missShaderBindingTableBuffer, 2085*b7893ccfSSadaf Ebrahimi VkDeviceSize missShaderBindingOffset, 2086*b7893ccfSSadaf Ebrahimi VkDeviceSize missShaderBindingStride, 2087*b7893ccfSSadaf Ebrahimi VkBuffer hitShaderBindingTableBuffer, 2088*b7893ccfSSadaf Ebrahimi VkDeviceSize hitShaderBindingOffset, 2089*b7893ccfSSadaf Ebrahimi VkDeviceSize hitShaderBindingStride, 2090*b7893ccfSSadaf Ebrahimi VkBuffer callableShaderBindingTableBuffer, 2091*b7893ccfSSadaf Ebrahimi VkDeviceSize callableShaderBindingOffset, 2092*b7893ccfSSadaf Ebrahimi VkDeviceSize callableShaderBindingStride, 2093*b7893ccfSSadaf Ebrahimi uint32_t width, 2094*b7893ccfSSadaf Ebrahimi uint32_t height, 2095*b7893ccfSSadaf Ebrahimi uint32_t depth); 2096*b7893ccfSSadaf Ebrahimi 2097*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV( 2098*b7893ccfSSadaf Ebrahimi VkDevice device, 2099*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 2100*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 2101*b7893ccfSSadaf Ebrahimi const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 2102*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2103*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 2104*b7893ccfSSadaf Ebrahimi 2105*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV( 2106*b7893ccfSSadaf Ebrahimi VkDevice device, 2107*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 2108*b7893ccfSSadaf Ebrahimi uint32_t firstGroup, 2109*b7893ccfSSadaf Ebrahimi uint32_t groupCount, 2110*b7893ccfSSadaf Ebrahimi size_t dataSize, 2111*b7893ccfSSadaf Ebrahimi void* pData); 2112*b7893ccfSSadaf Ebrahimi 2113*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureHandleNV( 2114*b7893ccfSSadaf Ebrahimi VkDevice device, 2115*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV accelerationStructure, 2116*b7893ccfSSadaf Ebrahimi size_t dataSize, 2117*b7893ccfSSadaf Ebrahimi void* pData); 2118*b7893ccfSSadaf Ebrahimi 2119*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesNV( 2120*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2121*b7893ccfSSadaf Ebrahimi uint32_t accelerationStructureCount, 2122*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureNV* pAccelerationStructures, 2123*b7893ccfSSadaf Ebrahimi VkQueryType queryType, 2124*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 2125*b7893ccfSSadaf Ebrahimi uint32_t firstQuery); 2126*b7893ccfSSadaf Ebrahimi 2127*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV( 2128*b7893ccfSSadaf Ebrahimi VkDevice device, 2129*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 2130*b7893ccfSSadaf Ebrahimi uint32_t shader); 2131*b7893ccfSSadaf Ebrahimi 2132*b7893ccfSSadaf Ebrahimi 2133*b7893ccfSSadaf Ebrahimi 2134*b7893ccfSSadaf Ebrahimi 2135*b7893ccfSSadaf Ebrahimi 2136*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT( 2137*b7893ccfSSadaf Ebrahimi VkDevice device, 2138*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 2139*b7893ccfSSadaf Ebrahimi const void* pHostPointer, 2140*b7893ccfSSadaf Ebrahimi VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 2141*b7893ccfSSadaf Ebrahimi 2142*b7893ccfSSadaf Ebrahimi 2143*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD( 2144*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2145*b7893ccfSSadaf Ebrahimi VkPipelineStageFlagBits pipelineStage, 2146*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 2147*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 2148*b7893ccfSSadaf Ebrahimi uint32_t marker); 2149*b7893ccfSSadaf Ebrahimi 2150*b7893ccfSSadaf Ebrahimi 2151*b7893ccfSSadaf Ebrahimi 2152*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsEXT( 2153*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2154*b7893ccfSSadaf Ebrahimi uint32_t* pTimeDomainCount, 2155*b7893ccfSSadaf Ebrahimi VkTimeDomainEXT* pTimeDomains); 2156*b7893ccfSSadaf Ebrahimi 2157*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT( 2158*b7893ccfSSadaf Ebrahimi VkDevice device, 2159*b7893ccfSSadaf Ebrahimi uint32_t timestampCount, 2160*b7893ccfSSadaf Ebrahimi const VkCalibratedTimestampInfoEXT* pTimestampInfos, 2161*b7893ccfSSadaf Ebrahimi uint64_t* pTimestamps, 2162*b7893ccfSSadaf Ebrahimi uint64_t* pMaxDeviation); 2163*b7893ccfSSadaf Ebrahimi 2164*b7893ccfSSadaf Ebrahimi 2165*b7893ccfSSadaf Ebrahimi 2166*b7893ccfSSadaf Ebrahimi 2167*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_GGP 2168*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_GGP 2169*b7893ccfSSadaf Ebrahimi 2170*b7893ccfSSadaf Ebrahimi 2171*b7893ccfSSadaf Ebrahimi 2172*b7893ccfSSadaf Ebrahimi 2173*b7893ccfSSadaf Ebrahimi 2174*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV( 2175*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2176*b7893ccfSSadaf Ebrahimi uint32_t taskCount, 2177*b7893ccfSSadaf Ebrahimi uint32_t firstTask); 2178*b7893ccfSSadaf Ebrahimi 2179*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectNV( 2180*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2181*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 2182*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 2183*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 2184*b7893ccfSSadaf Ebrahimi uint32_t stride); 2185*b7893ccfSSadaf Ebrahimi 2186*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV( 2187*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2188*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 2189*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 2190*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 2191*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 2192*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 2193*b7893ccfSSadaf Ebrahimi uint32_t stride); 2194*b7893ccfSSadaf Ebrahimi 2195*b7893ccfSSadaf Ebrahimi 2196*b7893ccfSSadaf Ebrahimi 2197*b7893ccfSSadaf Ebrahimi 2198*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV( 2199*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2200*b7893ccfSSadaf Ebrahimi uint32_t firstExclusiveScissor, 2201*b7893ccfSSadaf Ebrahimi uint32_t exclusiveScissorCount, 2202*b7893ccfSSadaf Ebrahimi const VkRect2D* pExclusiveScissors); 2203*b7893ccfSSadaf Ebrahimi 2204*b7893ccfSSadaf Ebrahimi 2205*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetCheckpointNV( 2206*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2207*b7893ccfSSadaf Ebrahimi const void* pCheckpointMarker); 2208*b7893ccfSSadaf Ebrahimi 2209*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointDataNV( 2210*b7893ccfSSadaf Ebrahimi VkQueue queue, 2211*b7893ccfSSadaf Ebrahimi uint32_t* pCheckpointDataCount, 2212*b7893ccfSSadaf Ebrahimi VkCheckpointDataNV* pCheckpointData); 2213*b7893ccfSSadaf Ebrahimi 2214*b7893ccfSSadaf Ebrahimi 2215*b7893ccfSSadaf Ebrahimi 2216*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL( 2217*b7893ccfSSadaf Ebrahimi VkDevice device, 2218*b7893ccfSSadaf Ebrahimi const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 2219*b7893ccfSSadaf Ebrahimi 2220*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL UninitializePerformanceApiINTEL( 2221*b7893ccfSSadaf Ebrahimi VkDevice device); 2222*b7893ccfSSadaf Ebrahimi 2223*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceMarkerINTEL( 2224*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2225*b7893ccfSSadaf Ebrahimi const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 2226*b7893ccfSSadaf Ebrahimi 2227*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceStreamMarkerINTEL( 2228*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2229*b7893ccfSSadaf Ebrahimi const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 2230*b7893ccfSSadaf Ebrahimi 2231*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceOverrideINTEL( 2232*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2233*b7893ccfSSadaf Ebrahimi const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 2234*b7893ccfSSadaf Ebrahimi 2235*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AcquirePerformanceConfigurationINTEL( 2236*b7893ccfSSadaf Ebrahimi VkDevice device, 2237*b7893ccfSSadaf Ebrahimi const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 2238*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL* pConfiguration); 2239*b7893ccfSSadaf Ebrahimi 2240*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ReleasePerformanceConfigurationINTEL( 2241*b7893ccfSSadaf Ebrahimi VkDevice device, 2242*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL configuration); 2243*b7893ccfSSadaf Ebrahimi 2244*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL QueueSetPerformanceConfigurationINTEL( 2245*b7893ccfSSadaf Ebrahimi VkQueue queue, 2246*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL configuration); 2247*b7893ccfSSadaf Ebrahimi 2248*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL( 2249*b7893ccfSSadaf Ebrahimi VkDevice device, 2250*b7893ccfSSadaf Ebrahimi VkPerformanceParameterTypeINTEL parameter, 2251*b7893ccfSSadaf Ebrahimi VkPerformanceValueINTEL* pValue); 2252*b7893ccfSSadaf Ebrahimi 2253*b7893ccfSSadaf Ebrahimi 2254*b7893ccfSSadaf Ebrahimi 2255*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD( 2256*b7893ccfSSadaf Ebrahimi VkDevice device, 2257*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapChain, 2258*b7893ccfSSadaf Ebrahimi VkBool32 localDimmingEnable); 2259*b7893ccfSSadaf Ebrahimi 2260*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_FUCHSIA 2261*b7893ccfSSadaf Ebrahimi 2262*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateImagePipeSurfaceFUCHSIA( 2263*b7893ccfSSadaf Ebrahimi VkInstance instance, 2264*b7893ccfSSadaf Ebrahimi const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, 2265*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2266*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2267*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_FUCHSIA 2268*b7893ccfSSadaf Ebrahimi 2269*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_METAL_EXT 2270*b7893ccfSSadaf Ebrahimi 2271*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateMetalSurfaceEXT( 2272*b7893ccfSSadaf Ebrahimi VkInstance instance, 2273*b7893ccfSSadaf Ebrahimi const VkMetalSurfaceCreateInfoEXT* pCreateInfo, 2274*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2275*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2276*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_METAL_EXT 2277*b7893ccfSSadaf Ebrahimi 2278*b7893ccfSSadaf Ebrahimi 2279*b7893ccfSSadaf Ebrahimi 2280*b7893ccfSSadaf Ebrahimi 2281*b7893ccfSSadaf Ebrahimi 2282*b7893ccfSSadaf Ebrahimi 2283*b7893ccfSSadaf Ebrahimi 2284*b7893ccfSSadaf Ebrahimi 2285*b7893ccfSSadaf Ebrahimi 2286*b7893ccfSSadaf Ebrahimi 2287*b7893ccfSSadaf Ebrahimi 2288*b7893ccfSSadaf Ebrahimi 2289*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT( 2290*b7893ccfSSadaf Ebrahimi VkDevice device, 2291*b7893ccfSSadaf Ebrahimi const VkBufferDeviceAddressInfoEXT* pInfo); 2292*b7893ccfSSadaf Ebrahimi 2293*b7893ccfSSadaf Ebrahimi 2294*b7893ccfSSadaf Ebrahimi 2295*b7893ccfSSadaf Ebrahimi 2296*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV( 2297*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2298*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 2299*b7893ccfSSadaf Ebrahimi VkCooperativeMatrixPropertiesNV* pProperties); 2300*b7893ccfSSadaf Ebrahimi 2301*b7893ccfSSadaf Ebrahimi 2302*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 2303*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2304*b7893ccfSSadaf Ebrahimi uint32_t* pCombinationCount, 2305*b7893ccfSSadaf Ebrahimi VkFramebufferMixedSamplesCombinationNV* pCombinations); 2306*b7893ccfSSadaf Ebrahimi 2307*b7893ccfSSadaf Ebrahimi 2308*b7893ccfSSadaf Ebrahimi 2309*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 2310*b7893ccfSSadaf Ebrahimi 2311*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT( 2312*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2313*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 2314*b7893ccfSSadaf Ebrahimi uint32_t* pPresentModeCount, 2315*b7893ccfSSadaf Ebrahimi VkPresentModeKHR* pPresentModes); 2316*b7893ccfSSadaf Ebrahimi 2317*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL AcquireFullScreenExclusiveModeEXT( 2318*b7893ccfSSadaf Ebrahimi VkDevice device, 2319*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 2320*b7893ccfSSadaf Ebrahimi 2321*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL ReleaseFullScreenExclusiveModeEXT( 2322*b7893ccfSSadaf Ebrahimi VkDevice device, 2323*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 2324*b7893ccfSSadaf Ebrahimi 2325*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT( 2326*b7893ccfSSadaf Ebrahimi VkDevice device, 2327*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 2328*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentModeFlagsKHR* pModes); 2329*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 2330*b7893ccfSSadaf Ebrahimi 2331*b7893ccfSSadaf Ebrahimi 2332*b7893ccfSSadaf Ebrahimi VKAPI_ATTR VkResult VKAPI_CALL CreateHeadlessSurfaceEXT( 2333*b7893ccfSSadaf Ebrahimi VkInstance instance, 2334*b7893ccfSSadaf Ebrahimi const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 2335*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2336*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2337*b7893ccfSSadaf Ebrahimi 2338*b7893ccfSSadaf Ebrahimi 2339*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT( 2340*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2341*b7893ccfSSadaf Ebrahimi uint32_t lineStippleFactor, 2342*b7893ccfSSadaf Ebrahimi uint16_t lineStipplePattern); 2343*b7893ccfSSadaf Ebrahimi 2344*b7893ccfSSadaf Ebrahimi 2345*b7893ccfSSadaf Ebrahimi VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT( 2346*b7893ccfSSadaf Ebrahimi VkDevice device, 2347*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 2348*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 2349*b7893ccfSSadaf Ebrahimi uint32_t queryCount); 2350*b7893ccfSSadaf Ebrahimi 2351*b7893ccfSSadaf Ebrahimi 2352*b7893ccfSSadaf Ebrahimi 2353*b7893ccfSSadaf Ebrahimi 2354*b7893ccfSSadaf Ebrahimi 2355*b7893ccfSSadaf Ebrahimi 2356*b7893ccfSSadaf Ebrahimi 2357*b7893ccfSSadaf Ebrahimi // Layer object type identifiers 2358*b7893ccfSSadaf Ebrahimi enum LayerObjectTypeId { 2359*b7893ccfSSadaf Ebrahimi LayerObjectTypeInstance, // Container for an instance dispatch object 2360*b7893ccfSSadaf Ebrahimi LayerObjectTypeDevice, // Container for a device dispatch object 2361*b7893ccfSSadaf Ebrahimi LayerObjectTypeThreading, // Instance or device threading layer object 2362*b7893ccfSSadaf Ebrahimi LayerObjectTypeParameterValidation, // Instance or device parameter validation layer object 2363*b7893ccfSSadaf Ebrahimi LayerObjectTypeObjectTracker, // Instance or device object tracker layer object 2364*b7893ccfSSadaf Ebrahimi LayerObjectTypeCoreValidation, // Instance or device core validation layer object 2365*b7893ccfSSadaf Ebrahimi LayerObjectTypeBestPractices, // Instance or device best practices layer object 2366*b7893ccfSSadaf Ebrahimi }; 2367*b7893ccfSSadaf Ebrahimi 2368*b7893ccfSSadaf Ebrahimi struct TEMPLATE_STATE { 2369*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplateKHR desc_update_template; 2370*b7893ccfSSadaf Ebrahimi safe_VkDescriptorUpdateTemplateCreateInfo create_info; 2371*b7893ccfSSadaf Ebrahimi TEMPLATE_STATETEMPLATE_STATE2372*b7893ccfSSadaf Ebrahimi TEMPLATE_STATE(VkDescriptorUpdateTemplateKHR update_template, safe_VkDescriptorUpdateTemplateCreateInfo *pCreateInfo) 2373*b7893ccfSSadaf Ebrahimi : desc_update_template(update_template), create_info(*pCreateInfo) {} 2374*b7893ccfSSadaf Ebrahimi }; 2375*b7893ccfSSadaf Ebrahimi 2376*b7893ccfSSadaf Ebrahimi class LAYER_PHYS_DEV_PROPERTIES { 2377*b7893ccfSSadaf Ebrahimi public: 2378*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties properties; 2379*b7893ccfSSadaf Ebrahimi std::vector<VkQueueFamilyProperties> queue_family_properties; 2380*b7893ccfSSadaf Ebrahimi }; 2381*b7893ccfSSadaf Ebrahimi 2382*b7893ccfSSadaf Ebrahimi typedef enum ValidationCheckDisables { 2383*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_COMMAND_BUFFER_STATE, 2384*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_OBJECT_IN_USE, 2385*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_IDLE_DESCRIPTOR_SET, 2386*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_PUSH_CONSTANT_RANGE, 2387*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_QUERY_VALIDATION, 2388*b7893ccfSSadaf Ebrahimi VALIDATION_CHECK_DISABLE_IMAGE_LAYOUT_VALIDATION, 2389*b7893ccfSSadaf Ebrahimi } ValidationCheckDisables; 2390*b7893ccfSSadaf Ebrahimi 2391*b7893ccfSSadaf Ebrahimi typedef enum VkValidationFeatureEnable { 2392*b7893ccfSSadaf Ebrahimi VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES, 2393*b7893ccfSSadaf Ebrahimi } VkValidationFeatureEnable; 2394*b7893ccfSSadaf Ebrahimi 2395*b7893ccfSSadaf Ebrahimi 2396*b7893ccfSSadaf Ebrahimi // CHECK_DISABLED struct is a container for bools that can block validation checks from being performed. 2397*b7893ccfSSadaf Ebrahimi // These bools are all "false" by default meaning that all checks are enabled. Enum values can be specified 2398*b7893ccfSSadaf Ebrahimi // via the vk_layer_setting.txt config file or at CreateInstance time via the VK_EXT_validation_features extension 2399*b7893ccfSSadaf Ebrahimi // that can selectively disable checks. 2400*b7893ccfSSadaf Ebrahimi struct CHECK_DISABLED { 2401*b7893ccfSSadaf Ebrahimi bool command_buffer_state; // Skip command buffer state validation 2402*b7893ccfSSadaf Ebrahimi bool object_in_use; // Skip all object in_use checking 2403*b7893ccfSSadaf Ebrahimi bool idle_descriptor_set; // Skip check to verify that descriptor set is not in-use 2404*b7893ccfSSadaf Ebrahimi bool push_constant_range; // Skip push constant range checks 2405*b7893ccfSSadaf Ebrahimi bool query_validation; // Disable all core validation query-related checks 2406*b7893ccfSSadaf Ebrahimi bool image_layout_validation; // Disable image layout validation 2407*b7893ccfSSadaf Ebrahimi bool object_tracking; // Disable object lifetime validation 2408*b7893ccfSSadaf Ebrahimi bool core_checks; // Disable core validation checks 2409*b7893ccfSSadaf Ebrahimi bool thread_safety; // Disable thread safety validation 2410*b7893ccfSSadaf Ebrahimi bool stateless_checks; // Disable stateless validation checks 2411*b7893ccfSSadaf Ebrahimi bool handle_wrapping; // Disable unique handles/handle wrapping 2412*b7893ccfSSadaf Ebrahimi bool shader_validation; // Skip validation for shaders 2413*b7893ccfSSadaf Ebrahimi SetAllCHECK_DISABLED2414*b7893ccfSSadaf Ebrahimi void SetAll(bool value) { std::fill(&command_buffer_state, &shader_validation + 1, value); } 2415*b7893ccfSSadaf Ebrahimi }; 2416*b7893ccfSSadaf Ebrahimi 2417*b7893ccfSSadaf Ebrahimi struct CHECK_ENABLED { 2418*b7893ccfSSadaf Ebrahimi bool gpu_validation; 2419*b7893ccfSSadaf Ebrahimi bool gpu_validation_reserve_binding_slot; 2420*b7893ccfSSadaf Ebrahimi bool best_practices; 2421*b7893ccfSSadaf Ebrahimi SetAllCHECK_ENABLED2422*b7893ccfSSadaf Ebrahimi void SetAll(bool value) { std::fill(&gpu_validation, &gpu_validation_reserve_binding_slot + 1, value); } 2423*b7893ccfSSadaf Ebrahimi }; 2424*b7893ccfSSadaf Ebrahimi 2425*b7893ccfSSadaf Ebrahimi // Layer chassis validation object base class definition 2426*b7893ccfSSadaf Ebrahimi class ValidationObject { 2427*b7893ccfSSadaf Ebrahimi public: 2428*b7893ccfSSadaf Ebrahimi uint32_t api_version; 2429*b7893ccfSSadaf Ebrahimi debug_report_data* report_data = nullptr; 2430*b7893ccfSSadaf Ebrahimi std::vector<VkDebugReportCallbackEXT> logging_callback; 2431*b7893ccfSSadaf Ebrahimi std::vector<VkDebugUtilsMessengerEXT> logging_messenger; 2432*b7893ccfSSadaf Ebrahimi 2433*b7893ccfSSadaf Ebrahimi VkLayerInstanceDispatchTable instance_dispatch_table; 2434*b7893ccfSSadaf Ebrahimi VkLayerDispatchTable device_dispatch_table; 2435*b7893ccfSSadaf Ebrahimi 2436*b7893ccfSSadaf Ebrahimi InstanceExtensions instance_extensions; 2437*b7893ccfSSadaf Ebrahimi DeviceExtensions device_extensions = {}; 2438*b7893ccfSSadaf Ebrahimi CHECK_DISABLED disabled = {}; 2439*b7893ccfSSadaf Ebrahimi CHECK_ENABLED enabled = {}; 2440*b7893ccfSSadaf Ebrahimi 2441*b7893ccfSSadaf Ebrahimi VkInstance instance = VK_NULL_HANDLE; 2442*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physical_device = VK_NULL_HANDLE; 2443*b7893ccfSSadaf Ebrahimi VkDevice device = VK_NULL_HANDLE; 2444*b7893ccfSSadaf Ebrahimi LAYER_PHYS_DEV_PROPERTIES phys_dev_properties = {}; 2445*b7893ccfSSadaf Ebrahimi 2446*b7893ccfSSadaf Ebrahimi std::vector<ValidationObject*> object_dispatch; 2447*b7893ccfSSadaf Ebrahimi LayerObjectTypeId container_type; 2448*b7893ccfSSadaf Ebrahimi 2449*b7893ccfSSadaf Ebrahimi std::string layer_name = "CHASSIS"; 2450*b7893ccfSSadaf Ebrahimi 2451*b7893ccfSSadaf Ebrahimi // Constructor ValidationObject()2452*b7893ccfSSadaf Ebrahimi ValidationObject(){}; 2453*b7893ccfSSadaf Ebrahimi // Destructor ~ValidationObject()2454*b7893ccfSSadaf Ebrahimi virtual ~ValidationObject() {}; 2455*b7893ccfSSadaf Ebrahimi 2456*b7893ccfSSadaf Ebrahimi std::mutex validation_object_mutex; write_lock()2457*b7893ccfSSadaf Ebrahimi virtual std::unique_lock<std::mutex> write_lock() { 2458*b7893ccfSSadaf Ebrahimi return std::unique_lock<std::mutex>(validation_object_mutex); 2459*b7893ccfSSadaf Ebrahimi } 2460*b7893ccfSSadaf Ebrahimi GetValidationObject(std::vector<ValidationObject * > & object_dispatch,LayerObjectTypeId object_type)2461*b7893ccfSSadaf Ebrahimi ValidationObject* GetValidationObject(std::vector<ValidationObject*>& object_dispatch, LayerObjectTypeId object_type) { 2462*b7893ccfSSadaf Ebrahimi for (auto validation_object : object_dispatch) { 2463*b7893ccfSSadaf Ebrahimi if (validation_object->container_type == object_type) { 2464*b7893ccfSSadaf Ebrahimi return validation_object; 2465*b7893ccfSSadaf Ebrahimi } 2466*b7893ccfSSadaf Ebrahimi } 2467*b7893ccfSSadaf Ebrahimi return nullptr; 2468*b7893ccfSSadaf Ebrahimi }; 2469*b7893ccfSSadaf Ebrahimi 2470*b7893ccfSSadaf Ebrahimi // Handle Wrapping Data 2471*b7893ccfSSadaf Ebrahimi // Reverse map display handles 2472*b7893ccfSSadaf Ebrahimi vl_concurrent_unordered_map<VkDisplayKHR, uint64_t, 0> display_id_reverse_mapping; 2473*b7893ccfSSadaf Ebrahimi // Wrapping Descriptor Template Update structures requires access to the template createinfo structs 2474*b7893ccfSSadaf Ebrahimi std::unordered_map<uint64_t, std::unique_ptr<TEMPLATE_STATE>> desc_template_createinfo_map; 2475*b7893ccfSSadaf Ebrahimi struct SubpassesUsageStates { 2476*b7893ccfSSadaf Ebrahimi std::unordered_set<uint32_t> subpasses_using_color_attachment; 2477*b7893ccfSSadaf Ebrahimi std::unordered_set<uint32_t> subpasses_using_depthstencil_attachment; 2478*b7893ccfSSadaf Ebrahimi }; 2479*b7893ccfSSadaf Ebrahimi // Uses unwrapped handles 2480*b7893ccfSSadaf Ebrahimi std::unordered_map<VkRenderPass, SubpassesUsageStates> renderpasses_states; 2481*b7893ccfSSadaf Ebrahimi // Map of wrapped swapchain handles to arrays of wrapped swapchain image IDs 2482*b7893ccfSSadaf Ebrahimi // Each swapchain has an immutable list of wrapped swapchain image IDs -- always return these IDs if they exist 2483*b7893ccfSSadaf Ebrahimi std::unordered_map<VkSwapchainKHR, std::vector<VkImage>> swapchain_wrapped_image_handle_map; 2484*b7893ccfSSadaf Ebrahimi // Map of wrapped descriptor pools to set of wrapped descriptor sets allocated from each pool 2485*b7893ccfSSadaf Ebrahimi std::unordered_map<VkDescriptorPool, std::unordered_set<VkDescriptorSet>> pool_descriptor_sets_map; 2486*b7893ccfSSadaf Ebrahimi 2487*b7893ccfSSadaf Ebrahimi 2488*b7893ccfSSadaf Ebrahimi // Unwrap a handle. 2489*b7893ccfSSadaf Ebrahimi template <typename HandleType> Unwrap(HandleType wrappedHandle)2490*b7893ccfSSadaf Ebrahimi HandleType Unwrap(HandleType wrappedHandle) { 2491*b7893ccfSSadaf Ebrahimi auto iter = unique_id_mapping.find(reinterpret_cast<uint64_t const &>(wrappedHandle)); 2492*b7893ccfSSadaf Ebrahimi if (iter == unique_id_mapping.end()) 2493*b7893ccfSSadaf Ebrahimi return (HandleType)0; 2494*b7893ccfSSadaf Ebrahimi return (HandleType)iter->second; 2495*b7893ccfSSadaf Ebrahimi } 2496*b7893ccfSSadaf Ebrahimi 2497*b7893ccfSSadaf Ebrahimi // Wrap a newly created handle with a new unique ID, and return the new ID. 2498*b7893ccfSSadaf Ebrahimi template <typename HandleType> WrapNew(HandleType newlyCreatedHandle)2499*b7893ccfSSadaf Ebrahimi HandleType WrapNew(HandleType newlyCreatedHandle) { 2500*b7893ccfSSadaf Ebrahimi auto unique_id = global_unique_id++; 2501*b7893ccfSSadaf Ebrahimi unique_id_mapping.insert_or_assign(unique_id, reinterpret_cast<uint64_t const &>(newlyCreatedHandle)); 2502*b7893ccfSSadaf Ebrahimi return (HandleType)unique_id; 2503*b7893ccfSSadaf Ebrahimi } 2504*b7893ccfSSadaf Ebrahimi 2505*b7893ccfSSadaf Ebrahimi // Specialized handling for VkDisplayKHR. Adds an entry to enable reverse-lookup. WrapDisplay(VkDisplayKHR newlyCreatedHandle,ValidationObject * map_data)2506*b7893ccfSSadaf Ebrahimi VkDisplayKHR WrapDisplay(VkDisplayKHR newlyCreatedHandle, ValidationObject *map_data) { 2507*b7893ccfSSadaf Ebrahimi auto unique_id = global_unique_id++; 2508*b7893ccfSSadaf Ebrahimi unique_id_mapping.insert_or_assign(unique_id, reinterpret_cast<uint64_t const &>(newlyCreatedHandle)); 2509*b7893ccfSSadaf Ebrahimi map_data->display_id_reverse_mapping.insert_or_assign(newlyCreatedHandle, unique_id); 2510*b7893ccfSSadaf Ebrahimi return (VkDisplayKHR)unique_id; 2511*b7893ccfSSadaf Ebrahimi } 2512*b7893ccfSSadaf Ebrahimi 2513*b7893ccfSSadaf Ebrahimi // VkDisplayKHR objects don't have a single point of creation, so we need to see if one already exists in the map before 2514*b7893ccfSSadaf Ebrahimi // creating another. MaybeWrapDisplay(VkDisplayKHR handle,ValidationObject * map_data)2515*b7893ccfSSadaf Ebrahimi VkDisplayKHR MaybeWrapDisplay(VkDisplayKHR handle, ValidationObject *map_data) { 2516*b7893ccfSSadaf Ebrahimi // See if this display is already known 2517*b7893ccfSSadaf Ebrahimi auto it = map_data->display_id_reverse_mapping.find(handle); 2518*b7893ccfSSadaf Ebrahimi if (it != map_data->display_id_reverse_mapping.end()) return (VkDisplayKHR)it->second; 2519*b7893ccfSSadaf Ebrahimi // Unknown, so wrap 2520*b7893ccfSSadaf Ebrahimi return WrapDisplay(handle, map_data); 2521*b7893ccfSSadaf Ebrahimi } 2522*b7893ccfSSadaf Ebrahimi 2523*b7893ccfSSadaf Ebrahimi // Pre/post hook point declarations PreCallValidateCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance)2524*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) { return false; }; PreCallRecordCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance)2525*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) {}; PostCallRecordCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance,VkResult result)2526*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance, VkResult result) {}; PreCallValidateDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator)2527*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator)2528*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator)2529*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices)2530*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) { return false; }; PreCallRecordEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices)2531*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) {}; PostCallRecordEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices,VkResult result)2532*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices, VkResult result) {}; PreCallValidateGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures)2533*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) { return false; }; PreCallRecordGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures)2534*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) {}; PostCallRecordGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures)2535*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) {}; PreCallValidateGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties)2536*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) { return false; }; PreCallRecordGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties)2537*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) {}; PostCallRecordGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties)2538*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) {}; PreCallValidateGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties)2539*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) { return false; }; PreCallRecordGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties)2540*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) {}; PostCallRecordGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties,VkResult result)2541*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties, VkResult result) {}; PreCallValidateGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties)2542*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) { return false; }; PreCallRecordGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties)2543*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) {}; PostCallRecordGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties)2544*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) {}; PreCallValidateGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties)2545*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) { return false; }; PreCallRecordGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties)2546*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) {}; PostCallRecordGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties)2547*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) {}; PreCallValidateGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties)2548*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) { return false; }; PreCallRecordGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties)2549*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) {}; PostCallRecordGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties)2550*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) {}; PreCallValidateGetInstanceProcAddr(VkInstance instance,const char * pName)2551*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetInstanceProcAddr(VkInstance instance, const char* pName) { return false; }; PreCallRecordGetInstanceProcAddr(VkInstance instance,const char * pName)2552*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetInstanceProcAddr(VkInstance instance, const char* pName) {}; PostCallRecordGetInstanceProcAddr(VkInstance instance,const char * pName)2553*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetInstanceProcAddr(VkInstance instance, const char* pName) {}; PreCallValidateGetDeviceProcAddr(VkDevice device,const char * pName)2554*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetDeviceProcAddr(VkDevice device, const char* pName) { return false; }; PreCallRecordGetDeviceProcAddr(VkDevice device,const char * pName)2555*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetDeviceProcAddr(VkDevice device, const char* pName) {}; PostCallRecordGetDeviceProcAddr(VkDevice device,const char * pName)2556*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetDeviceProcAddr(VkDevice device, const char* pName) {}; PreCallValidateCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice)2557*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) { return false; }; PreCallRecordCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice)2558*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) {}; PostCallRecordCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice,VkResult result)2559*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice, VkResult result) {}; PreCallValidateDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)2560*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)2561*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)2562*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)2563*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateEnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { return false; }; PreCallRecordEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)2564*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordEnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) {}; PostCallRecordEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties,VkResult result)2565*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordEnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, VkResult result) {}; PreCallValidateEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)2566*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { return false; }; PreCallRecordEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)2567*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) {}; PostCallRecordEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties,VkResult result)2568*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, VkResult result) {}; PreCallValidateEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties)2569*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateEnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) { return false; }; PreCallRecordEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties)2570*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordEnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) {}; PostCallRecordEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties,VkResult result)2571*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordEnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties, VkResult result) {}; PreCallValidateEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties)2572*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) { return false; }; PreCallRecordEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties)2573*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) {}; PostCallRecordEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties,VkResult result)2574*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties, VkResult result) {}; PreCallValidateGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)2575*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) { return false; }; PreCallRecordGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)2576*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) {}; PostCallRecordGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)2577*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) {}; PreCallValidateQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence)2578*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) { return false; }; PreCallRecordQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence)2579*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) {}; PostCallRecordQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence,VkResult result)2580*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence, VkResult result) {}; PreCallValidateQueueWaitIdle(VkQueue queue)2581*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateQueueWaitIdle(VkQueue queue) { return false; }; PreCallRecordQueueWaitIdle(VkQueue queue)2582*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordQueueWaitIdle(VkQueue queue) {}; PostCallRecordQueueWaitIdle(VkQueue queue,VkResult result)2583*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordQueueWaitIdle(VkQueue queue, VkResult result) {}; PreCallValidateDeviceWaitIdle(VkDevice device)2584*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDeviceWaitIdle(VkDevice device) { return false; }; PreCallRecordDeviceWaitIdle(VkDevice device)2585*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDeviceWaitIdle(VkDevice device) {}; PostCallRecordDeviceWaitIdle(VkDevice device,VkResult result)2586*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDeviceWaitIdle(VkDevice device, VkResult result) {}; PreCallValidateAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory)2587*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) { return false; }; PreCallRecordAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory)2588*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) {}; PostCallRecordAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory,VkResult result)2589*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory, VkResult result) {}; PreCallValidateFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)2590*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)2591*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)2592*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData)2593*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) { return false; }; PreCallRecordMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData)2594*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) {}; PostCallRecordMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData,VkResult result)2595*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData, VkResult result) {}; PreCallValidateUnmapMemory(VkDevice device,VkDeviceMemory memory)2596*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateUnmapMemory(VkDevice device, VkDeviceMemory memory) { return false; }; PreCallRecordUnmapMemory(VkDevice device,VkDeviceMemory memory)2597*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordUnmapMemory(VkDevice device, VkDeviceMemory memory) {}; PostCallRecordUnmapMemory(VkDevice device,VkDeviceMemory memory)2598*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordUnmapMemory(VkDevice device, VkDeviceMemory memory) {}; PreCallValidateFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)2599*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) { return false; }; PreCallRecordFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)2600*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) {}; PostCallRecordFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges,VkResult result)2601*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, VkResult result) {}; PreCallValidateInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)2602*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) { return false; }; PreCallRecordInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)2603*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) {}; PostCallRecordInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges,VkResult result)2604*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, VkResult result) {}; PreCallValidateGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)2605*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) { return false; }; PreCallRecordGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)2606*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) {}; PostCallRecordGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)2607*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) {}; PreCallValidateBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset)2608*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) { return false; }; PreCallRecordBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset)2609*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) {}; PostCallRecordBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset,VkResult result)2610*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset, VkResult result) {}; PreCallValidateBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset)2611*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) { return false; }; PreCallRecordBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset)2612*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) {}; PostCallRecordBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset,VkResult result)2613*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset, VkResult result) {}; PreCallValidateGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)2614*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) { return false; }; PreCallRecordGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)2615*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) {}; PostCallRecordGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)2616*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) {}; PreCallValidateGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)2617*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) { return false; }; PreCallRecordGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)2618*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) {}; PostCallRecordGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)2619*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) {}; PreCallValidateGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)2620*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) { return false; }; PreCallRecordGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)2621*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) {}; PostCallRecordGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)2622*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) {}; PreCallValidateGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties)2623*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) { return false; }; PreCallRecordGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties)2624*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) {}; PostCallRecordGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties)2625*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) {}; PreCallValidateQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence)2626*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) { return false; }; PreCallRecordQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence)2627*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) {}; PostCallRecordQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence,VkResult result)2628*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence, VkResult result) {}; PreCallValidateCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)2629*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) { return false; }; PreCallRecordCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)2630*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) {}; PostCallRecordCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence,VkResult result)2631*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence, VkResult result) {}; PreCallValidateDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)2632*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)2633*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)2634*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences)2635*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) { return false; }; PreCallRecordResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences)2636*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) {}; PostCallRecordResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkResult result)2637*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkResult result) {}; PreCallValidateGetFenceStatus(VkDevice device,VkFence fence)2638*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetFenceStatus(VkDevice device, VkFence fence) { return false; }; PreCallRecordGetFenceStatus(VkDevice device,VkFence fence)2639*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetFenceStatus(VkDevice device, VkFence fence) {}; PostCallRecordGetFenceStatus(VkDevice device,VkFence fence,VkResult result)2640*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetFenceStatus(VkDevice device, VkFence fence, VkResult result) {}; PreCallValidateWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout)2641*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) { return false; }; PreCallRecordWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout)2642*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) {}; PostCallRecordWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout,VkResult result)2643*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout, VkResult result) {}; PreCallValidateCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore)2644*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) { return false; }; PreCallRecordCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore)2645*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) {}; PostCallRecordCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore,VkResult result)2646*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore, VkResult result) {}; PreCallValidateDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)2647*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)2648*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)2649*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent)2650*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) { return false; }; PreCallRecordCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent)2651*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) {}; PostCallRecordCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent,VkResult result)2652*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent, VkResult result) {}; PreCallValidateDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)2653*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)2654*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)2655*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateGetEventStatus(VkDevice device,VkEvent event)2656*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetEventStatus(VkDevice device, VkEvent event) { return false; }; PreCallRecordGetEventStatus(VkDevice device,VkEvent event)2657*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetEventStatus(VkDevice device, VkEvent event) {}; PostCallRecordGetEventStatus(VkDevice device,VkEvent event,VkResult result)2658*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetEventStatus(VkDevice device, VkEvent event, VkResult result) {}; PreCallValidateSetEvent(VkDevice device,VkEvent event)2659*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateSetEvent(VkDevice device, VkEvent event) { return false; }; PreCallRecordSetEvent(VkDevice device,VkEvent event)2660*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordSetEvent(VkDevice device, VkEvent event) {}; PostCallRecordSetEvent(VkDevice device,VkEvent event,VkResult result)2661*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordSetEvent(VkDevice device, VkEvent event, VkResult result) {}; PreCallValidateResetEvent(VkDevice device,VkEvent event)2662*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateResetEvent(VkDevice device, VkEvent event) { return false; }; PreCallRecordResetEvent(VkDevice device,VkEvent event)2663*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordResetEvent(VkDevice device, VkEvent event) {}; PostCallRecordResetEvent(VkDevice device,VkEvent event,VkResult result)2664*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordResetEvent(VkDevice device, VkEvent event, VkResult result) {}; PreCallValidateCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool)2665*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) { return false; }; PreCallRecordCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool)2666*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) {}; PostCallRecordCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool,VkResult result)2667*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool, VkResult result) {}; PreCallValidateDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)2668*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)2669*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)2670*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags)2671*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) { return false; }; PreCallRecordGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags)2672*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) {}; PostCallRecordGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags,VkResult result)2673*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags, VkResult result) {}; PreCallValidateCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer)2674*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) { return false; }; PreCallRecordCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer)2675*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) {}; PostCallRecordCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer,VkResult result)2676*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer, VkResult result) {}; PreCallValidateDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)2677*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)2678*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)2679*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView)2680*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) { return false; }; PreCallRecordCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView)2681*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) {}; PostCallRecordCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView,VkResult result)2682*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView, VkResult result) {}; PreCallValidateDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)2683*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)2684*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)2685*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage)2686*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) { return false; }; PreCallRecordCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage)2687*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) {}; PostCallRecordCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage,VkResult result)2688*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, VkResult result) {}; PreCallValidateDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)2689*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)2690*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)2691*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)2692*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) { return false; }; PreCallRecordGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)2693*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) {}; PostCallRecordGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)2694*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) {}; PreCallValidateCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView)2695*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) { return false; }; PreCallRecordCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView)2696*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) {}; PostCallRecordCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView,VkResult result)2697*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView, VkResult result) {}; PreCallValidateDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)2698*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)2699*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)2700*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule)2701*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) { return false; }; PreCallRecordCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule)2702*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) {}; PostCallRecordCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule,VkResult result)2703*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule, VkResult result) {}; PreCallValidateDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)2704*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)2705*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)2706*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache)2707*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) { return false; }; PreCallRecordCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache)2708*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) {}; PostCallRecordCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache,VkResult result)2709*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache, VkResult result) {}; PreCallValidateDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)2710*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)2711*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)2712*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData)2713*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) { return false; }; PreCallRecordGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData)2714*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) {}; PostCallRecordGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData,VkResult result)2715*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData, VkResult result) {}; PreCallValidateMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches)2716*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) { return false; }; PreCallRecordMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches)2717*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) {}; PostCallRecordMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches,VkResult result)2718*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches, VkResult result) {}; PreCallValidateCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2719*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) { return false; }; PreCallRecordCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2720*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) {}; PostCallRecordCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines,VkResult result)2721*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, VkResult result) {}; PreCallValidateCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2722*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) { return false; }; PreCallRecordCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2723*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) {}; PostCallRecordCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines,VkResult result)2724*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, VkResult result) {}; PreCallValidateDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)2725*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)2726*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)2727*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout)2728*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) { return false; }; PreCallRecordCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout)2729*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) {}; PostCallRecordCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout,VkResult result)2730*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout, VkResult result) {}; PreCallValidateDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)2731*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)2732*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)2733*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler)2734*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) { return false; }; PreCallRecordCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler)2735*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) {}; PostCallRecordCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler,VkResult result)2736*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler, VkResult result) {}; PreCallValidateDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)2737*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)2738*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)2739*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout)2740*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) { return false; }; PreCallRecordCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout)2741*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) {}; PostCallRecordCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout,VkResult result)2742*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout, VkResult result) {}; PreCallValidateDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)2743*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)2744*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)2745*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool)2746*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) { return false; }; PreCallRecordCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool)2747*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) {}; PostCallRecordCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool,VkResult result)2748*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool, VkResult result) {}; PreCallValidateDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)2749*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)2750*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)2751*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags)2752*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) { return false; }; PreCallRecordResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags)2753*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) {}; PostCallRecordResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags,VkResult result)2754*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags, VkResult result) {}; PreCallValidateAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets)2755*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) { return false; }; PreCallRecordAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets)2756*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) {}; PostCallRecordAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets,VkResult result)2757*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets, VkResult result) {}; PreCallValidateFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets)2758*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) { return false; }; PreCallRecordFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets)2759*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) {}; PostCallRecordFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,VkResult result)2760*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, VkResult result) {}; PreCallValidateUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)2761*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) { return false; }; PreCallRecordUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)2762*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) {}; PostCallRecordUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)2763*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) {}; PreCallValidateCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer)2764*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) { return false; }; PreCallRecordCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer)2765*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) {}; PostCallRecordCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer,VkResult result)2766*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer, VkResult result) {}; PreCallValidateDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)2767*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) { return false; }; PreCallRecordDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)2768*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) {}; PostCallRecordDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)2769*b7893ccfSSadaf Ebrahimi virtual void PostCallRecordDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) {}; PreCallValidateCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)2770*b7893ccfSSadaf Ebrahimi virtual bool PreCallValidateCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) { return false; }; PreCallRecordCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)2771*b7893ccfSSadaf Ebrahimi virtual void PreCallRecordCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) {}; PostCallRecordCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass,VkResult result)2772