1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225 |
- // Copyright 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- //
- // This file is auto-generated from
- // gpu/vulkan/generate_bindings.py
- // It's formatted by clang-format using chromium coding style:
- // clang-format -i -style=chromium filename
- // DO NOT EDIT!
- #ifndef GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
- #define GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
- #include <vulkan/vulkan.h>
- #include <memory>
- #include "base/compiler_specific.h"
- #include "base/component_export.h"
- #include "base/containers/flat_map.h"
- #include "base/native_library.h"
- #include "base/synchronization/lock.h"
- #include "build/build_config.h"
- #include "ui/gfx/extension_set.h"
- #if BUILDFLAG(IS_ANDROID)
- #include <vulkan/vulkan_android.h>
- #endif
- #if BUILDFLAG(IS_FUCHSIA)
- #include <zircon/types.h>
- // <vulkan/vulkan_fuchsia.h> must be included after <zircon/types.h>
- #include <vulkan/vulkan_fuchsia.h>
- #include "gpu/vulkan/fuchsia/vulkan_fuchsia_ext.h"
- #endif
- #if defined(USE_VULKAN_XCB)
- #include <xcb/xcb.h>
- // <vulkan/vulkan_xcb.h> must be included after <xcb/xcb.h>
- #include <vulkan/vulkan_xcb.h>
- #endif
- #if BUILDFLAG(IS_WIN)
- #include <vulkan/vulkan_win32.h>
- #endif
- namespace gpu {
- struct VulkanFunctionPointers;
- constexpr uint32_t kVulkanRequiredApiVersion = VK_API_VERSION_1_1;
- COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers* GetVulkanFunctionPointers();
- struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers {
- VulkanFunctionPointers();
- ~VulkanFunctionPointers();
- bool BindUnassociatedFunctionPointersFromLoaderLib(base::NativeLibrary lib);
- bool BindUnassociatedFunctionPointersFromGetProcAddr(
- PFN_vkGetInstanceProcAddr proc);
- // These functions assume that vkGetInstanceProcAddr has been populated.
- bool BindInstanceFunctionPointers(
- VkInstance vk_instance,
- uint32_t api_version,
- const gfx::ExtensionSet& enabled_extensions);
- // These functions assume that vkGetDeviceProcAddr has been populated.
- bool BindDeviceFunctionPointers(VkDevice vk_device,
- uint32_t api_version,
- const gfx::ExtensionSet& enabled_extensions);
- // This is used to allow thread safe access to a given vulkan queue when
- // multiple gpu threads are accessing it. Note that this map will be only
- // accessed by multiple gpu threads concurrently to read the data, so it
- // should be thread safe to use this map by multiple threads.
- base::flat_map<VkQueue, std::unique_ptr<base::Lock>> per_queue_lock_map;
- template <typename T>
- class VulkanFunction;
- template <typename R, typename... Args>
- class VulkanFunction<R(VKAPI_PTR*)(Args...)> {
- public:
- using Fn = R(VKAPI_PTR*)(Args...);
- explicit operator bool() const { return !!fn_; }
- NO_SANITIZE("cfi-icall")
- R operator()(Args... args) const { return fn_(args...); }
- Fn get() const { return fn_; }
- private:
- friend VulkanFunctionPointers;
- Fn operator=(Fn fn) {
- fn_ = fn;
- return fn_;
- }
- Fn fn_ = nullptr;
- };
- // Unassociated functions
- VulkanFunction<PFN_vkGetInstanceProcAddr> vkGetInstanceProcAddr;
- VulkanFunction<PFN_vkEnumerateInstanceVersion> vkEnumerateInstanceVersion;
- VulkanFunction<PFN_vkCreateInstance> vkCreateInstance;
- VulkanFunction<PFN_vkEnumerateInstanceExtensionProperties>
- vkEnumerateInstanceExtensionProperties;
- VulkanFunction<PFN_vkEnumerateInstanceLayerProperties>
- vkEnumerateInstanceLayerProperties;
- // Instance functions
- VulkanFunction<PFN_vkCreateDevice> vkCreateDevice;
- VulkanFunction<PFN_vkDestroyInstance> vkDestroyInstance;
- VulkanFunction<PFN_vkEnumerateDeviceExtensionProperties>
- vkEnumerateDeviceExtensionProperties;
- VulkanFunction<PFN_vkEnumerateDeviceLayerProperties>
- vkEnumerateDeviceLayerProperties;
- VulkanFunction<PFN_vkEnumeratePhysicalDevices> vkEnumeratePhysicalDevices;
- VulkanFunction<PFN_vkGetDeviceProcAddr> vkGetDeviceProcAddr;
- VulkanFunction<PFN_vkGetPhysicalDeviceFeatures2> vkGetPhysicalDeviceFeatures2;
- VulkanFunction<PFN_vkGetPhysicalDeviceFormatProperties>
- vkGetPhysicalDeviceFormatProperties;
- VulkanFunction<PFN_vkGetPhysicalDeviceFormatProperties2>
- vkGetPhysicalDeviceFormatProperties2;
- VulkanFunction<PFN_vkGetPhysicalDeviceImageFormatProperties2>
- vkGetPhysicalDeviceImageFormatProperties2;
- VulkanFunction<PFN_vkGetPhysicalDeviceMemoryProperties>
- vkGetPhysicalDeviceMemoryProperties;
- VulkanFunction<PFN_vkGetPhysicalDeviceMemoryProperties2>
- vkGetPhysicalDeviceMemoryProperties2;
- VulkanFunction<PFN_vkGetPhysicalDeviceProperties>
- vkGetPhysicalDeviceProperties;
- VulkanFunction<PFN_vkGetPhysicalDeviceProperties2>
- vkGetPhysicalDeviceProperties2;
- VulkanFunction<PFN_vkGetPhysicalDeviceQueueFamilyProperties>
- vkGetPhysicalDeviceQueueFamilyProperties;
- #if DCHECK_IS_ON()
- VulkanFunction<PFN_vkCreateDebugReportCallbackEXT>
- vkCreateDebugReportCallbackEXT;
- VulkanFunction<PFN_vkDestroyDebugReportCallbackEXT>
- vkDestroyDebugReportCallbackEXT;
- #endif // DCHECK_IS_ON()
- VulkanFunction<PFN_vkDestroySurfaceKHR> vkDestroySurfaceKHR;
- VulkanFunction<PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR>
- vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
- VulkanFunction<PFN_vkGetPhysicalDeviceSurfaceFormatsKHR>
- vkGetPhysicalDeviceSurfaceFormatsKHR;
- VulkanFunction<PFN_vkGetPhysicalDeviceSurfaceSupportKHR>
- vkGetPhysicalDeviceSurfaceSupportKHR;
- VulkanFunction<PFN_vkCreateHeadlessSurfaceEXT> vkCreateHeadlessSurfaceEXT;
- #if defined(USE_VULKAN_XCB)
- VulkanFunction<PFN_vkCreateXcbSurfaceKHR> vkCreateXcbSurfaceKHR;
- VulkanFunction<PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR>
- vkGetPhysicalDeviceXcbPresentationSupportKHR;
- #endif // defined(USE_VULKAN_XCB)
- #if BUILDFLAG(IS_WIN)
- VulkanFunction<PFN_vkCreateWin32SurfaceKHR> vkCreateWin32SurfaceKHR;
- VulkanFunction<PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR>
- vkGetPhysicalDeviceWin32PresentationSupportKHR;
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_ANDROID)
- VulkanFunction<PFN_vkCreateAndroidSurfaceKHR> vkCreateAndroidSurfaceKHR;
- #endif // BUILDFLAG(IS_ANDROID)
- #if BUILDFLAG(IS_FUCHSIA)
- VulkanFunction<PFN_vkCreateImagePipeSurfaceFUCHSIA>
- vkCreateImagePipeSurfaceFUCHSIA;
- #endif // BUILDFLAG(IS_FUCHSIA)
- // Device functions
- VulkanFunction<PFN_vkAllocateCommandBuffers> vkAllocateCommandBuffers;
- VulkanFunction<PFN_vkAllocateDescriptorSets> vkAllocateDescriptorSets;
- VulkanFunction<PFN_vkAllocateMemory> vkAllocateMemory;
- VulkanFunction<PFN_vkBeginCommandBuffer> vkBeginCommandBuffer;
- VulkanFunction<PFN_vkBindBufferMemory> vkBindBufferMemory;
- VulkanFunction<PFN_vkBindBufferMemory2> vkBindBufferMemory2;
- VulkanFunction<PFN_vkBindImageMemory> vkBindImageMemory;
- VulkanFunction<PFN_vkBindImageMemory2> vkBindImageMemory2;
- VulkanFunction<PFN_vkCmdBeginRenderPass> vkCmdBeginRenderPass;
- VulkanFunction<PFN_vkCmdCopyBuffer> vkCmdCopyBuffer;
- VulkanFunction<PFN_vkCmdCopyBufferToImage> vkCmdCopyBufferToImage;
- VulkanFunction<PFN_vkCmdCopyImageToBuffer> vkCmdCopyImageToBuffer;
- VulkanFunction<PFN_vkCmdEndRenderPass> vkCmdEndRenderPass;
- VulkanFunction<PFN_vkCmdExecuteCommands> vkCmdExecuteCommands;
- VulkanFunction<PFN_vkCmdNextSubpass> vkCmdNextSubpass;
- VulkanFunction<PFN_vkCmdPipelineBarrier> vkCmdPipelineBarrier;
- VulkanFunction<PFN_vkCreateBuffer> vkCreateBuffer;
- VulkanFunction<PFN_vkCreateCommandPool> vkCreateCommandPool;
- VulkanFunction<PFN_vkCreateDescriptorPool> vkCreateDescriptorPool;
- VulkanFunction<PFN_vkCreateDescriptorSetLayout> vkCreateDescriptorSetLayout;
- VulkanFunction<PFN_vkCreateFence> vkCreateFence;
- VulkanFunction<PFN_vkCreateFramebuffer> vkCreateFramebuffer;
- VulkanFunction<PFN_vkCreateGraphicsPipelines> vkCreateGraphicsPipelines;
- VulkanFunction<PFN_vkCreateImage> vkCreateImage;
- VulkanFunction<PFN_vkCreateImageView> vkCreateImageView;
- VulkanFunction<PFN_vkCreateRenderPass> vkCreateRenderPass;
- VulkanFunction<PFN_vkCreateSampler> vkCreateSampler;
- VulkanFunction<PFN_vkCreateSemaphore> vkCreateSemaphore;
- VulkanFunction<PFN_vkCreateShaderModule> vkCreateShaderModule;
- VulkanFunction<PFN_vkDestroyBuffer> vkDestroyBuffer;
- VulkanFunction<PFN_vkDestroyCommandPool> vkDestroyCommandPool;
- VulkanFunction<PFN_vkDestroyDescriptorPool> vkDestroyDescriptorPool;
- VulkanFunction<PFN_vkDestroyDescriptorSetLayout> vkDestroyDescriptorSetLayout;
- VulkanFunction<PFN_vkDestroyDevice> vkDestroyDevice;
- VulkanFunction<PFN_vkDestroyFence> vkDestroyFence;
- VulkanFunction<PFN_vkDestroyFramebuffer> vkDestroyFramebuffer;
- VulkanFunction<PFN_vkDestroyImage> vkDestroyImage;
- VulkanFunction<PFN_vkDestroyImageView> vkDestroyImageView;
- VulkanFunction<PFN_vkDestroyRenderPass> vkDestroyRenderPass;
- VulkanFunction<PFN_vkDestroySampler> vkDestroySampler;
- VulkanFunction<PFN_vkDestroySemaphore> vkDestroySemaphore;
- VulkanFunction<PFN_vkDestroyShaderModule> vkDestroyShaderModule;
- VulkanFunction<PFN_vkDeviceWaitIdle> vkDeviceWaitIdle;
- VulkanFunction<PFN_vkFlushMappedMemoryRanges> vkFlushMappedMemoryRanges;
- VulkanFunction<PFN_vkEndCommandBuffer> vkEndCommandBuffer;
- VulkanFunction<PFN_vkFreeCommandBuffers> vkFreeCommandBuffers;
- VulkanFunction<PFN_vkFreeDescriptorSets> vkFreeDescriptorSets;
- VulkanFunction<PFN_vkFreeMemory> vkFreeMemory;
- VulkanFunction<PFN_vkInvalidateMappedMemoryRanges>
- vkInvalidateMappedMemoryRanges;
- VulkanFunction<PFN_vkGetBufferMemoryRequirements>
- vkGetBufferMemoryRequirements;
- VulkanFunction<PFN_vkGetBufferMemoryRequirements2>
- vkGetBufferMemoryRequirements2;
- VulkanFunction<PFN_vkGetDeviceQueue> vkGetDeviceQueue;
- VulkanFunction<PFN_vkGetDeviceQueue2> vkGetDeviceQueue2;
- VulkanFunction<PFN_vkGetFenceStatus> vkGetFenceStatus;
- VulkanFunction<PFN_vkGetImageMemoryRequirements> vkGetImageMemoryRequirements;
- VulkanFunction<PFN_vkGetImageMemoryRequirements2>
- vkGetImageMemoryRequirements2;
- VulkanFunction<PFN_vkGetImageSubresourceLayout> vkGetImageSubresourceLayout;
- VulkanFunction<PFN_vkMapMemory> vkMapMemory;
- VulkanFunction<PFN_vkQueueSubmit> vkQueueSubmit;
- VulkanFunction<PFN_vkQueueWaitIdle> vkQueueWaitIdle;
- VulkanFunction<PFN_vkResetCommandBuffer> vkResetCommandBuffer;
- VulkanFunction<PFN_vkResetFences> vkResetFences;
- VulkanFunction<PFN_vkUnmapMemory> vkUnmapMemory;
- VulkanFunction<PFN_vkUpdateDescriptorSets> vkUpdateDescriptorSets;
- VulkanFunction<PFN_vkWaitForFences> vkWaitForFences;
- #if BUILDFLAG(IS_ANDROID)
- VulkanFunction<PFN_vkGetAndroidHardwareBufferPropertiesANDROID>
- vkGetAndroidHardwareBufferPropertiesANDROID;
- #endif // BUILDFLAG(IS_ANDROID)
- #if BUILDFLAG(IS_POSIX)
- VulkanFunction<PFN_vkGetSemaphoreFdKHR> vkGetSemaphoreFdKHR;
- VulkanFunction<PFN_vkImportSemaphoreFdKHR> vkImportSemaphoreFdKHR;
- #endif // BUILDFLAG(IS_POSIX)
- #if BUILDFLAG(IS_WIN)
- VulkanFunction<PFN_vkGetSemaphoreWin32HandleKHR> vkGetSemaphoreWin32HandleKHR;
- VulkanFunction<PFN_vkImportSemaphoreWin32HandleKHR>
- vkImportSemaphoreWin32HandleKHR;
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_POSIX)
- VulkanFunction<PFN_vkGetMemoryFdKHR> vkGetMemoryFdKHR;
- VulkanFunction<PFN_vkGetMemoryFdPropertiesKHR> vkGetMemoryFdPropertiesKHR;
- #endif // BUILDFLAG(IS_POSIX)
- #if BUILDFLAG(IS_WIN)
- VulkanFunction<PFN_vkGetMemoryWin32HandleKHR> vkGetMemoryWin32HandleKHR;
- VulkanFunction<PFN_vkGetMemoryWin32HandlePropertiesKHR>
- vkGetMemoryWin32HandlePropertiesKHR;
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_FUCHSIA)
- VulkanFunction<PFN_vkImportSemaphoreZirconHandleFUCHSIA>
- vkImportSemaphoreZirconHandleFUCHSIA;
- VulkanFunction<PFN_vkGetSemaphoreZirconHandleFUCHSIA>
- vkGetSemaphoreZirconHandleFUCHSIA;
- #endif // BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_FUCHSIA)
- VulkanFunction<PFN_vkGetMemoryZirconHandleFUCHSIA>
- vkGetMemoryZirconHandleFUCHSIA;
- #endif // BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_FUCHSIA)
- VulkanFunction<PFN_vkCreateBufferCollectionFUCHSIA>
- vkCreateBufferCollectionFUCHSIA;
- VulkanFunction<PFN_vkSetBufferCollectionImageConstraintsFUCHSIA>
- vkSetBufferCollectionImageConstraintsFUCHSIA;
- VulkanFunction<PFN_vkGetBufferCollectionPropertiesFUCHSIA>
- vkGetBufferCollectionPropertiesFUCHSIA;
- VulkanFunction<PFN_vkDestroyBufferCollectionFUCHSIA>
- vkDestroyBufferCollectionFUCHSIA;
- #endif // BUILDFLAG(IS_FUCHSIA)
- VulkanFunction<PFN_vkAcquireNextImageKHR> vkAcquireNextImageKHR;
- VulkanFunction<PFN_vkCreateSwapchainKHR> vkCreateSwapchainKHR;
- VulkanFunction<PFN_vkDestroySwapchainKHR> vkDestroySwapchainKHR;
- VulkanFunction<PFN_vkGetSwapchainImagesKHR> vkGetSwapchainImagesKHR;
- VulkanFunction<PFN_vkQueuePresentKHR> vkQueuePresentKHR;
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- VulkanFunction<PFN_vkGetImageDrmFormatModifierPropertiesEXT>
- vkGetImageDrmFormatModifierPropertiesEXT;
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- private:
- bool BindUnassociatedFunctionPointersCommon();
- // The `Bind*` functions will acquires lock, so should not be called with
- // with this lock held. Code that writes to members directly should take this
- // lock as well.
- base::Lock write_lock_;
- base::NativeLibrary loader_library_ = nullptr;
- };
- } // namespace gpu
- // Unassociated functions
- ALWAYS_INLINE PFN_vkVoidFunction vkGetInstanceProcAddr(VkInstance instance,
- const char* pName) {
- return gpu::GetVulkanFunctionPointers()->vkGetInstanceProcAddr(instance,
- pName);
- }
- ALWAYS_INLINE VkResult vkEnumerateInstanceVersion(uint32_t* pApiVersion) {
- return gpu::GetVulkanFunctionPointers()->vkEnumerateInstanceVersion(
- pApiVersion);
- }
- ALWAYS_INLINE VkResult vkCreateInstance(const VkInstanceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkInstance* pInstance) {
- return gpu::GetVulkanFunctionPointers()->vkCreateInstance(
- pCreateInfo, pAllocator, pInstance);
- }
- ALWAYS_INLINE VkResult
- vkEnumerateInstanceExtensionProperties(const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount,
- pProperties);
- }
- ALWAYS_INLINE VkResult
- vkEnumerateInstanceLayerProperties(uint32_t* pPropertyCount,
- VkLayerProperties* pProperties) {
- return gpu::GetVulkanFunctionPointers()->vkEnumerateInstanceLayerProperties(
- pPropertyCount, pProperties);
- }
- // Instance functions
- ALWAYS_INLINE VkResult vkCreateDevice(VkPhysicalDevice physicalDevice,
- const VkDeviceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDevice* pDevice) {
- return gpu::GetVulkanFunctionPointers()->vkCreateDevice(
- physicalDevice, pCreateInfo, pAllocator, pDevice);
- }
- ALWAYS_INLINE void vkDestroyInstance(VkInstance instance,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyInstance(instance,
- pAllocator);
- }
- ALWAYS_INLINE VkResult
- vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties) {
- return gpu::GetVulkanFunctionPointers()->vkEnumerateDeviceExtensionProperties(
- physicalDevice, pLayerName, pPropertyCount, pProperties);
- }
- ALWAYS_INLINE VkResult
- vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties) {
- return gpu::GetVulkanFunctionPointers()->vkEnumerateDeviceLayerProperties(
- physicalDevice, pPropertyCount, pProperties);
- }
- ALWAYS_INLINE VkResult
- vkEnumeratePhysicalDevices(VkInstance instance,
- uint32_t* pPhysicalDeviceCount,
- VkPhysicalDevice* pPhysicalDevices) {
- return gpu::GetVulkanFunctionPointers()->vkEnumeratePhysicalDevices(
- instance, pPhysicalDeviceCount, pPhysicalDevices);
- }
- ALWAYS_INLINE PFN_vkVoidFunction vkGetDeviceProcAddr(VkDevice device,
- const char* pName) {
- return gpu::GetVulkanFunctionPointers()->vkGetDeviceProcAddr(device, pName);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceFeatures2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceFeatures2(
- physicalDevice, pFeatures);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties* pFormatProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceFormatProperties(
- physicalDevice, format, pFormatProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceFormatProperties2(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceFormatProperties2(
- physicalDevice, format, pFormatProperties);
- }
- ALWAYS_INLINE VkResult vkGetPhysicalDeviceImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetPhysicalDeviceImageFormatProperties2(
- physicalDevice, pImageFormatInfo, pImageFormatProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceMemoryProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties* pMemoryProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceMemoryProperties(
- physicalDevice, pMemoryProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceMemoryProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceMemoryProperties2(
- physicalDevice, pMemoryProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties* pProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceProperties(
- physicalDevice, pProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceProperties2(
- physicalDevice, pProperties);
- }
- ALWAYS_INLINE void vkGetPhysicalDeviceQueueFamilyProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties* pQueueFamilyProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetPhysicalDeviceQueueFamilyProperties(
- physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- }
- #if DCHECK_IS_ON()
- ALWAYS_INLINE VkResult vkCreateDebugReportCallbackEXT(
- VkInstance instance,
- const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugReportCallbackEXT* pCallback) {
- return gpu::GetVulkanFunctionPointers()->vkCreateDebugReportCallbackEXT(
- instance, pCreateInfo, pAllocator, pCallback);
- }
- ALWAYS_INLINE void vkDestroyDebugReportCallbackEXT(
- VkInstance instance,
- VkDebugReportCallbackEXT callback,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyDebugReportCallbackEXT(
- instance, callback, pAllocator);
- }
- #endif // DCHECK_IS_ON()
- ALWAYS_INLINE void vkDestroySurfaceKHR(
- VkInstance instance,
- VkSurfaceKHR surface,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroySurfaceKHR(
- instance, surface, pAllocator);
- }
- ALWAYS_INLINE VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface,
- pSurfaceCapabilities);
- }
- ALWAYS_INLINE VkResult
- vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormatKHR* pSurfaceFormats) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceSurfaceFormatsKHR(
- physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
- }
- ALWAYS_INLINE VkResult
- vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- VkSurfaceKHR surface,
- VkBool32* pSupported) {
- return gpu::GetVulkanFunctionPointers()->vkGetPhysicalDeviceSurfaceSupportKHR(
- physicalDevice, queueFamilyIndex, surface, pSupported);
- }
- ALWAYS_INLINE VkResult
- vkCreateHeadlessSurfaceEXT(VkInstance instance,
- const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface) {
- return gpu::GetVulkanFunctionPointers()->vkCreateHeadlessSurfaceEXT(
- instance, pCreateInfo, pAllocator, pSurface);
- }
- #if defined(USE_VULKAN_XCB)
- ALWAYS_INLINE VkResult
- vkCreateXcbSurfaceKHR(VkInstance instance,
- const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface) {
- return gpu::GetVulkanFunctionPointers()->vkCreateXcbSurfaceKHR(
- instance, pCreateInfo, pAllocator, pSurface);
- }
- ALWAYS_INLINE VkBool32
- vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- xcb_connection_t* connection,
- xcb_visualid_t visual_id) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetPhysicalDeviceXcbPresentationSupportKHR(
- physicalDevice, queueFamilyIndex, connection, visual_id);
- }
- #endif // defined(USE_VULKAN_XCB)
- #if BUILDFLAG(IS_WIN)
- ALWAYS_INLINE VkResult
- vkCreateWin32SurfaceKHR(VkInstance instance,
- const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface) {
- return gpu::GetVulkanFunctionPointers()->vkCreateWin32SurfaceKHR(
- instance, pCreateInfo, pAllocator, pSurface);
- }
- ALWAYS_INLINE VkBool32
- vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice,
- queueFamilyIndex);
- }
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_ANDROID)
- ALWAYS_INLINE VkResult
- vkCreateAndroidSurfaceKHR(VkInstance instance,
- const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface) {
- return gpu::GetVulkanFunctionPointers()->vkCreateAndroidSurfaceKHR(
- instance, pCreateInfo, pAllocator, pSurface);
- }
- #endif // BUILDFLAG(IS_ANDROID)
- #if BUILDFLAG(IS_FUCHSIA)
- ALWAYS_INLINE VkResult vkCreateImagePipeSurfaceFUCHSIA(
- VkInstance instance,
- const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface) {
- return gpu::GetVulkanFunctionPointers()->vkCreateImagePipeSurfaceFUCHSIA(
- instance, pCreateInfo, pAllocator, pSurface);
- }
- #endif // BUILDFLAG(IS_FUCHSIA)
- // Device functions
- ALWAYS_INLINE VkResult
- vkAllocateCommandBuffers(VkDevice device,
- const VkCommandBufferAllocateInfo* pAllocateInfo,
- VkCommandBuffer* pCommandBuffers) {
- return gpu::GetVulkanFunctionPointers()->vkAllocateCommandBuffers(
- device, pAllocateInfo, pCommandBuffers);
- }
- ALWAYS_INLINE VkResult
- vkAllocateDescriptorSets(VkDevice device,
- const VkDescriptorSetAllocateInfo* pAllocateInfo,
- VkDescriptorSet* pDescriptorSets) {
- return gpu::GetVulkanFunctionPointers()->vkAllocateDescriptorSets(
- device, pAllocateInfo, pDescriptorSets);
- }
- ALWAYS_INLINE VkResult
- vkAllocateMemory(VkDevice device,
- const VkMemoryAllocateInfo* pAllocateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDeviceMemory* pMemory) {
- return gpu::GetVulkanFunctionPointers()->vkAllocateMemory(
- device, pAllocateInfo, pAllocator, pMemory);
- }
- ALWAYS_INLINE VkResult
- vkBeginCommandBuffer(VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo) {
- return gpu::GetVulkanFunctionPointers()->vkBeginCommandBuffer(commandBuffer,
- pBeginInfo);
- }
- ALWAYS_INLINE VkResult vkBindBufferMemory(VkDevice device,
- VkBuffer buffer,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset) {
- return gpu::GetVulkanFunctionPointers()->vkBindBufferMemory(
- device, buffer, memory, memoryOffset);
- }
- ALWAYS_INLINE VkResult
- vkBindBufferMemory2(VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos) {
- return gpu::GetVulkanFunctionPointers()->vkBindBufferMemory2(
- device, bindInfoCount, pBindInfos);
- }
- ALWAYS_INLINE VkResult vkBindImageMemory(VkDevice device,
- VkImage image,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset) {
- return gpu::GetVulkanFunctionPointers()->vkBindImageMemory(
- device, image, memory, memoryOffset);
- }
- ALWAYS_INLINE VkResult
- vkBindImageMemory2(VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos) {
- return gpu::GetVulkanFunctionPointers()->vkBindImageMemory2(
- device, bindInfoCount, pBindInfos);
- }
- ALWAYS_INLINE void vkCmdBeginRenderPass(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- VkSubpassContents contents) {
- return gpu::GetVulkanFunctionPointers()->vkCmdBeginRenderPass(
- commandBuffer, pRenderPassBegin, contents);
- }
- ALWAYS_INLINE void vkCmdCopyBuffer(VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferCopy* pRegions) {
- return gpu::GetVulkanFunctionPointers()->vkCmdCopyBuffer(
- commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
- }
- ALWAYS_INLINE void vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions) {
- return gpu::GetVulkanFunctionPointers()->vkCmdCopyBufferToImage(
- commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount,
- pRegions);
- }
- ALWAYS_INLINE void vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions) {
- return gpu::GetVulkanFunctionPointers()->vkCmdCopyImageToBuffer(
- commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount,
- pRegions);
- }
- ALWAYS_INLINE void vkCmdEndRenderPass(VkCommandBuffer commandBuffer) {
- return gpu::GetVulkanFunctionPointers()->vkCmdEndRenderPass(commandBuffer);
- }
- ALWAYS_INLINE void vkCmdExecuteCommands(
- VkCommandBuffer commandBuffer,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers) {
- return gpu::GetVulkanFunctionPointers()->vkCmdExecuteCommands(
- commandBuffer, commandBufferCount, pCommandBuffers);
- }
- ALWAYS_INLINE void vkCmdNextSubpass(VkCommandBuffer commandBuffer,
- VkSubpassContents contents) {
- return gpu::GetVulkanFunctionPointers()->vkCmdNextSubpass(commandBuffer,
- contents);
- }
- ALWAYS_INLINE void vkCmdPipelineBarrier(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlags srcStageMask,
- VkPipelineStageFlags dstStageMask,
- VkDependencyFlags dependencyFlags,
- uint32_t memoryBarrierCount,
- const VkMemoryBarrier* pMemoryBarriers,
- uint32_t bufferMemoryBarrierCount,
- const VkBufferMemoryBarrier* pBufferMemoryBarriers,
- uint32_t imageMemoryBarrierCount,
- const VkImageMemoryBarrier* pImageMemoryBarriers) {
- return gpu::GetVulkanFunctionPointers()->vkCmdPipelineBarrier(
- commandBuffer, srcStageMask, dstStageMask, dependencyFlags,
- memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount,
- pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- }
- ALWAYS_INLINE VkResult vkCreateBuffer(VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer) {
- return gpu::GetVulkanFunctionPointers()->vkCreateBuffer(device, pCreateInfo,
- pAllocator, pBuffer);
- }
- ALWAYS_INLINE VkResult
- vkCreateCommandPool(VkDevice device,
- const VkCommandPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCommandPool* pCommandPool) {
- return gpu::GetVulkanFunctionPointers()->vkCreateCommandPool(
- device, pCreateInfo, pAllocator, pCommandPool);
- }
- ALWAYS_INLINE VkResult
- vkCreateDescriptorPool(VkDevice device,
- const VkDescriptorPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorPool* pDescriptorPool) {
- return gpu::GetVulkanFunctionPointers()->vkCreateDescriptorPool(
- device, pCreateInfo, pAllocator, pDescriptorPool);
- }
- ALWAYS_INLINE VkResult
- vkCreateDescriptorSetLayout(VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorSetLayout* pSetLayout) {
- return gpu::GetVulkanFunctionPointers()->vkCreateDescriptorSetLayout(
- device, pCreateInfo, pAllocator, pSetLayout);
- }
- ALWAYS_INLINE VkResult vkCreateFence(VkDevice device,
- const VkFenceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence) {
- return gpu::GetVulkanFunctionPointers()->vkCreateFence(device, pCreateInfo,
- pAllocator, pFence);
- }
- ALWAYS_INLINE VkResult
- vkCreateFramebuffer(VkDevice device,
- const VkFramebufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFramebuffer* pFramebuffer) {
- return gpu::GetVulkanFunctionPointers()->vkCreateFramebuffer(
- device, pCreateInfo, pAllocator, pFramebuffer);
- }
- ALWAYS_INLINE VkResult
- vkCreateGraphicsPipelines(VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkGraphicsPipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines) {
- return gpu::GetVulkanFunctionPointers()->vkCreateGraphicsPipelines(
- device, pipelineCache, createInfoCount, pCreateInfos, pAllocator,
- pPipelines);
- }
- ALWAYS_INLINE VkResult vkCreateImage(VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage) {
- return gpu::GetVulkanFunctionPointers()->vkCreateImage(device, pCreateInfo,
- pAllocator, pImage);
- }
- ALWAYS_INLINE VkResult
- vkCreateImageView(VkDevice device,
- const VkImageViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImageView* pView) {
- return gpu::GetVulkanFunctionPointers()->vkCreateImageView(
- device, pCreateInfo, pAllocator, pView);
- }
- ALWAYS_INLINE VkResult
- vkCreateRenderPass(VkDevice device,
- const VkRenderPassCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass) {
- return gpu::GetVulkanFunctionPointers()->vkCreateRenderPass(
- device, pCreateInfo, pAllocator, pRenderPass);
- }
- ALWAYS_INLINE VkResult vkCreateSampler(VkDevice device,
- const VkSamplerCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSampler* pSampler) {
- return gpu::GetVulkanFunctionPointers()->vkCreateSampler(
- device, pCreateInfo, pAllocator, pSampler);
- }
- ALWAYS_INLINE VkResult
- vkCreateSemaphore(VkDevice device,
- const VkSemaphoreCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSemaphore* pSemaphore) {
- return gpu::GetVulkanFunctionPointers()->vkCreateSemaphore(
- device, pCreateInfo, pAllocator, pSemaphore);
- }
- ALWAYS_INLINE VkResult
- vkCreateShaderModule(VkDevice device,
- const VkShaderModuleCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkShaderModule* pShaderModule) {
- return gpu::GetVulkanFunctionPointers()->vkCreateShaderModule(
- device, pCreateInfo, pAllocator, pShaderModule);
- }
- ALWAYS_INLINE void vkDestroyBuffer(VkDevice device,
- VkBuffer buffer,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyBuffer(device, buffer,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroyCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyCommandPool(
- device, commandPool, pAllocator);
- }
- ALWAYS_INLINE void vkDestroyDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyDescriptorPool(
- device, descriptorPool, pAllocator);
- }
- ALWAYS_INLINE void vkDestroyDescriptorSetLayout(
- VkDevice device,
- VkDescriptorSetLayout descriptorSetLayout,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyDescriptorSetLayout(
- device, descriptorSetLayout, pAllocator);
- }
- ALWAYS_INLINE void vkDestroyDevice(VkDevice device,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyDevice(device, pAllocator);
- }
- ALWAYS_INLINE void vkDestroyFence(VkDevice device,
- VkFence fence,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyFence(device, fence,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroyFramebuffer(
- VkDevice device,
- VkFramebuffer framebuffer,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyFramebuffer(
- device, framebuffer, pAllocator);
- }
- ALWAYS_INLINE void vkDestroyImage(VkDevice device,
- VkImage image,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyImage(device, image,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroyImageView(VkDevice device,
- VkImageView imageView,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyImageView(device, imageView,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroyRenderPass(
- VkDevice device,
- VkRenderPass renderPass,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyRenderPass(
- device, renderPass, pAllocator);
- }
- ALWAYS_INLINE void vkDestroySampler(VkDevice device,
- VkSampler sampler,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroySampler(device, sampler,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroySemaphore(VkDevice device,
- VkSemaphore semaphore,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroySemaphore(device, semaphore,
- pAllocator);
- }
- ALWAYS_INLINE void vkDestroyShaderModule(
- VkDevice device,
- VkShaderModule shaderModule,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyShaderModule(
- device, shaderModule, pAllocator);
- }
- ALWAYS_INLINE VkResult vkDeviceWaitIdle(VkDevice device) {
- return gpu::GetVulkanFunctionPointers()->vkDeviceWaitIdle(device);
- }
- ALWAYS_INLINE VkResult
- vkFlushMappedMemoryRanges(VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges) {
- return gpu::GetVulkanFunctionPointers()->vkFlushMappedMemoryRanges(
- device, memoryRangeCount, pMemoryRanges);
- }
- ALWAYS_INLINE VkResult vkEndCommandBuffer(VkCommandBuffer commandBuffer) {
- return gpu::GetVulkanFunctionPointers()->vkEndCommandBuffer(commandBuffer);
- }
- ALWAYS_INLINE void vkFreeCommandBuffers(
- VkDevice device,
- VkCommandPool commandPool,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers) {
- return gpu::GetVulkanFunctionPointers()->vkFreeCommandBuffers(
- device, commandPool, commandBufferCount, pCommandBuffers);
- }
- ALWAYS_INLINE VkResult
- vkFreeDescriptorSets(VkDevice device,
- VkDescriptorPool descriptorPool,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets) {
- return gpu::GetVulkanFunctionPointers()->vkFreeDescriptorSets(
- device, descriptorPool, descriptorSetCount, pDescriptorSets);
- }
- ALWAYS_INLINE void vkFreeMemory(VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkFreeMemory(device, memory,
- pAllocator);
- }
- ALWAYS_INLINE VkResult
- vkInvalidateMappedMemoryRanges(VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges) {
- return gpu::GetVulkanFunctionPointers()->vkInvalidateMappedMemoryRanges(
- device, memoryRangeCount, pMemoryRanges);
- }
- ALWAYS_INLINE void vkGetBufferMemoryRequirements(
- VkDevice device,
- VkBuffer buffer,
- VkMemoryRequirements* pMemoryRequirements) {
- return gpu::GetVulkanFunctionPointers()->vkGetBufferMemoryRequirements(
- device, buffer, pMemoryRequirements);
- }
- ALWAYS_INLINE void vkGetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements) {
- return gpu::GetVulkanFunctionPointers()->vkGetBufferMemoryRequirements2(
- device, pInfo, pMemoryRequirements);
- }
- ALWAYS_INLINE void vkGetDeviceQueue(VkDevice device,
- uint32_t queueFamilyIndex,
- uint32_t queueIndex,
- VkQueue* pQueue) {
- return gpu::GetVulkanFunctionPointers()->vkGetDeviceQueue(
- device, queueFamilyIndex, queueIndex, pQueue);
- }
- ALWAYS_INLINE void vkGetDeviceQueue2(VkDevice device,
- const VkDeviceQueueInfo2* pQueueInfo,
- VkQueue* pQueue) {
- return gpu::GetVulkanFunctionPointers()->vkGetDeviceQueue2(device, pQueueInfo,
- pQueue);
- }
- ALWAYS_INLINE VkResult vkGetFenceStatus(VkDevice device, VkFence fence) {
- return gpu::GetVulkanFunctionPointers()->vkGetFenceStatus(device, fence);
- }
- ALWAYS_INLINE void vkGetImageMemoryRequirements(
- VkDevice device,
- VkImage image,
- VkMemoryRequirements* pMemoryRequirements) {
- return gpu::GetVulkanFunctionPointers()->vkGetImageMemoryRequirements(
- device, image, pMemoryRequirements);
- }
- ALWAYS_INLINE void vkGetImageMemoryRequirements2(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements) {
- return gpu::GetVulkanFunctionPointers()->vkGetImageMemoryRequirements2(
- device, pInfo, pMemoryRequirements);
- }
- ALWAYS_INLINE void vkGetImageSubresourceLayout(
- VkDevice device,
- VkImage image,
- const VkImageSubresource* pSubresource,
- VkSubresourceLayout* pLayout) {
- return gpu::GetVulkanFunctionPointers()->vkGetImageSubresourceLayout(
- device, image, pSubresource, pLayout);
- }
- ALWAYS_INLINE VkResult vkMapMemory(VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize offset,
- VkDeviceSize size,
- VkMemoryMapFlags flags,
- void** ppData) {
- return gpu::GetVulkanFunctionPointers()->vkMapMemory(device, memory, offset,
- size, flags, ppData);
- }
- ALWAYS_INLINE VkResult vkQueueSubmit(VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence) {
- base::AutoLockMaybe auto_lock(
- gpu::GetVulkanFunctionPointers()->per_queue_lock_map[queue].get());
- return gpu::GetVulkanFunctionPointers()->vkQueueSubmit(queue, submitCount,
- pSubmits, fence);
- }
- ALWAYS_INLINE VkResult vkQueueWaitIdle(VkQueue queue) {
- base::AutoLockMaybe auto_lock(
- gpu::GetVulkanFunctionPointers()->per_queue_lock_map[queue].get());
- return gpu::GetVulkanFunctionPointers()->vkQueueWaitIdle(queue);
- }
- ALWAYS_INLINE VkResult vkResetCommandBuffer(VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags) {
- return gpu::GetVulkanFunctionPointers()->vkResetCommandBuffer(commandBuffer,
- flags);
- }
- ALWAYS_INLINE VkResult vkResetFences(VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences) {
- return gpu::GetVulkanFunctionPointers()->vkResetFences(device, fenceCount,
- pFences);
- }
- ALWAYS_INLINE void vkUnmapMemory(VkDevice device, VkDeviceMemory memory) {
- return gpu::GetVulkanFunctionPointers()->vkUnmapMemory(device, memory);
- }
- ALWAYS_INLINE void vkUpdateDescriptorSets(
- VkDevice device,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites,
- uint32_t descriptorCopyCount,
- const VkCopyDescriptorSet* pDescriptorCopies) {
- return gpu::GetVulkanFunctionPointers()->vkUpdateDescriptorSets(
- device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount,
- pDescriptorCopies);
- }
- ALWAYS_INLINE VkResult vkWaitForFences(VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences,
- VkBool32 waitAll,
- uint64_t timeout) {
- return gpu::GetVulkanFunctionPointers()->vkWaitForFences(
- device, fenceCount, pFences, waitAll, timeout);
- }
- #if BUILDFLAG(IS_ANDROID)
- ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPropertiesANDROID(
- VkDevice device,
- const struct AHardwareBuffer* buffer,
- VkAndroidHardwareBufferPropertiesANDROID* pProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetAndroidHardwareBufferPropertiesANDROID(device, buffer,
- pProperties);
- }
- #endif // BUILDFLAG(IS_ANDROID)
- #if BUILDFLAG(IS_POSIX)
- ALWAYS_INLINE VkResult
- vkGetSemaphoreFdKHR(VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
- int* pFd) {
- return gpu::GetVulkanFunctionPointers()->vkGetSemaphoreFdKHR(device,
- pGetFdInfo, pFd);
- }
- ALWAYS_INLINE VkResult vkImportSemaphoreFdKHR(
- VkDevice device,
- const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) {
- return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHR(
- device, pImportSemaphoreFdInfo);
- }
- #endif // BUILDFLAG(IS_POSIX)
- #if BUILDFLAG(IS_WIN)
- ALWAYS_INLINE VkResult vkGetSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle) {
- return gpu::GetVulkanFunctionPointers()->vkGetSemaphoreWin32HandleKHR(
- device, pGetWin32HandleInfo, pHandle);
- }
- ALWAYS_INLINE VkResult
- vkImportSemaphoreWin32HandleKHR(VkDevice device,
- const VkImportSemaphoreWin32HandleInfoKHR*
- pImportSemaphoreWin32HandleInfo) {
- return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreWin32HandleKHR(
- device, pImportSemaphoreWin32HandleInfo);
- }
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_POSIX)
- ALWAYS_INLINE VkResult vkGetMemoryFdKHR(VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd) {
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdKHR(device, pGetFdInfo,
- pFd);
- }
- ALWAYS_INLINE VkResult
- vkGetMemoryFdPropertiesKHR(VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- int fd,
- VkMemoryFdPropertiesKHR* pMemoryFdProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHR(
- device, handleType, fd, pMemoryFdProperties);
- }
- #endif // BUILDFLAG(IS_POSIX)
- #if BUILDFLAG(IS_WIN)
- ALWAYS_INLINE VkResult vkGetMemoryWin32HandleKHR(
- VkDevice device,
- const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle) {
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryWin32HandleKHR(
- device, pGetWin32HandleInfo, pHandle);
- }
- ALWAYS_INLINE VkResult vkGetMemoryWin32HandlePropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- HANDLE handle,
- VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) {
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryWin32HandlePropertiesKHR(
- device, handleType, handle, pMemoryWin32HandleProperties);
- }
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(IS_FUCHSIA)
- ALWAYS_INLINE VkResult vkImportSemaphoreZirconHandleFUCHSIA(
- VkDevice device,
- const VkImportSemaphoreZirconHandleInfoFUCHSIA*
- pImportSemaphoreZirconHandleInfo) {
- return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreZirconHandleFUCHSIA(
- device, pImportSemaphoreZirconHandleInfo);
- }
- ALWAYS_INLINE VkResult vkGetSemaphoreZirconHandleFUCHSIA(
- VkDevice device,
- const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
- zx_handle_t* pZirconHandle) {
- return gpu::GetVulkanFunctionPointers()->vkGetSemaphoreZirconHandleFUCHSIA(
- device, pGetZirconHandleInfo, pZirconHandle);
- }
- #endif // BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_FUCHSIA)
- ALWAYS_INLINE VkResult vkGetMemoryZirconHandleFUCHSIA(
- VkDevice device,
- const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
- zx_handle_t* pZirconHandle) {
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryZirconHandleFUCHSIA(
- device, pGetZirconHandleInfo, pZirconHandle);
- }
- #endif // BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_FUCHSIA)
- ALWAYS_INLINE VkResult vkCreateBufferCollectionFUCHSIA(
- VkDevice device,
- const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferCollectionFUCHSIA* pCollection) {
- return gpu::GetVulkanFunctionPointers()->vkCreateBufferCollectionFUCHSIA(
- device, pCreateInfo, pAllocator, pCollection);
- }
- ALWAYS_INLINE VkResult vkSetBufferCollectionImageConstraintsFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) {
- return gpu::GetVulkanFunctionPointers()
- ->vkSetBufferCollectionImageConstraintsFUCHSIA(device, collection,
- pImageConstraintsInfo);
- }
- ALWAYS_INLINE VkResult vkGetBufferCollectionPropertiesFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- VkBufferCollectionPropertiesFUCHSIA* pProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetBufferCollectionPropertiesFUCHSIA(device, collection, pProperties);
- }
- ALWAYS_INLINE void vkDestroyBufferCollectionFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroyBufferCollectionFUCHSIA(
- device, collection, pAllocator);
- }
- #endif // BUILDFLAG(IS_FUCHSIA)
- ALWAYS_INLINE VkResult vkAcquireNextImageKHR(VkDevice device,
- VkSwapchainKHR swapchain,
- uint64_t timeout,
- VkSemaphore semaphore,
- VkFence fence,
- uint32_t* pImageIndex) {
- return gpu::GetVulkanFunctionPointers()->vkAcquireNextImageKHR(
- device, swapchain, timeout, semaphore, fence, pImageIndex);
- }
- ALWAYS_INLINE VkResult
- vkCreateSwapchainKHR(VkDevice device,
- const VkSwapchainCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchain) {
- return gpu::GetVulkanFunctionPointers()->vkCreateSwapchainKHR(
- device, pCreateInfo, pAllocator, pSwapchain);
- }
- ALWAYS_INLINE void vkDestroySwapchainKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- const VkAllocationCallbacks* pAllocator) {
- return gpu::GetVulkanFunctionPointers()->vkDestroySwapchainKHR(
- device, swapchain, pAllocator);
- }
- ALWAYS_INLINE VkResult vkGetSwapchainImagesKHR(VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pSwapchainImageCount,
- VkImage* pSwapchainImages) {
- return gpu::GetVulkanFunctionPointers()->vkGetSwapchainImagesKHR(
- device, swapchain, pSwapchainImageCount, pSwapchainImages);
- }
- ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue,
- const VkPresentInfoKHR* pPresentInfo) {
- base::AutoLockMaybe auto_lock(
- gpu::GetVulkanFunctionPointers()->per_queue_lock_map[queue].get());
- return gpu::GetVulkanFunctionPointers()->vkQueuePresentKHR(queue,
- pPresentInfo);
- }
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT(
- VkDevice device,
- VkImage image,
- VkImageDrmFormatModifierPropertiesEXT* pProperties) {
- return gpu::GetVulkanFunctionPointers()
- ->vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
- }
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- #endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
|