| // 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 "base/native_library.h" |
| #include "gpu/vulkan/vulkan_export.h" |
| |
| namespace gpu { |
| |
| struct VulkanFunctionPointers; |
| |
| VULKAN_EXPORT VulkanFunctionPointers* GetVulkanFunctionPointers(); |
| |
| struct VulkanFunctionPointers { |
| VulkanFunctionPointers(); |
| ~VulkanFunctionPointers(); |
| |
| // This function assumes that vkGetDeviceProcAddr has been populated. |
| bool BindDeviceFunctionPointers(VkDevice vk_device); |
| |
| base::NativeLibrary vulkan_loader_library_ = nullptr; |
| |
| // Unassociated functions |
| PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = nullptr; |
| PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = nullptr; |
| PFN_vkEnumerateInstanceExtensionProperties |
| vkEnumerateInstanceExtensionProperties = nullptr; |
| PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = |
| nullptr; |
| PFN_vkCreateInstance vkCreateInstance = nullptr; |
| |
| // Instance functions |
| PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = nullptr; |
| PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = nullptr; |
| PFN_vkDestroyInstance vkDestroyInstance = nullptr; |
| #if defined(VK_USE_PLATFORM_XLIB_KHR) |
| PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = nullptr; |
| #endif // defined(VK_USE_PLATFORM_XLIB_KHR) |
| #if defined(VK_USE_PLATFORM_ANDROID_KHR) |
| PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = nullptr; |
| #endif // defined(VK_USE_PLATFORM_ANDROID_KHR) |
| |
| // Physical Device functions |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties |
| vkGetPhysicalDeviceQueueFamilyProperties = nullptr; |
| PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = |
| nullptr; |
| PFN_vkCreateDevice vkCreateDevice = nullptr; |
| PFN_vkGetPhysicalDeviceSurfaceSupportKHR |
| vkGetPhysicalDeviceSurfaceSupportKHR = nullptr; |
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR |
| vkGetPhysicalDeviceSurfaceFormatsKHR = nullptr; |
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR |
| vkGetPhysicalDeviceSurfaceCapabilitiesKHR = nullptr; |
| #if defined(VK_USE_PLATFORM_XLIB_KHR) |
| PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR |
| vkGetPhysicalDeviceXlibPresentationSupportKHR = nullptr; |
| #endif // defined(VK_USE_PLATFORM_XLIB_KHR) |
| |
| // Device functions |
| PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = nullptr; |
| PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = nullptr; |
| PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = nullptr; |
| PFN_vkCreateCommandPool vkCreateCommandPool = nullptr; |
| PFN_vkCreateDescriptorPool vkCreateDescriptorPool = nullptr; |
| PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = nullptr; |
| PFN_vkCreateFence vkCreateFence = nullptr; |
| PFN_vkCreateFramebuffer vkCreateFramebuffer = nullptr; |
| PFN_vkCreateImageView vkCreateImageView = nullptr; |
| PFN_vkCreateRenderPass vkCreateRenderPass = nullptr; |
| PFN_vkCreateSampler vkCreateSampler = nullptr; |
| PFN_vkCreateSemaphore vkCreateSemaphore = nullptr; |
| PFN_vkCreateShaderModule vkCreateShaderModule = nullptr; |
| PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = nullptr; |
| PFN_vkDestroyCommandPool vkDestroyCommandPool = nullptr; |
| PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = nullptr; |
| PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = nullptr; |
| PFN_vkDestroyDevice vkDestroyDevice = nullptr; |
| PFN_vkDestroyFramebuffer vkDestroyFramebuffer = nullptr; |
| PFN_vkDestroyFence vkDestroyFence = nullptr; |
| PFN_vkDestroyImageView vkDestroyImageView = nullptr; |
| PFN_vkDestroyRenderPass vkDestroyRenderPass = nullptr; |
| PFN_vkDestroySampler vkDestroySampler = nullptr; |
| PFN_vkDestroySemaphore vkDestroySemaphore = nullptr; |
| PFN_vkDestroyShaderModule vkDestroyShaderModule = nullptr; |
| PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = nullptr; |
| PFN_vkFreeCommandBuffers vkFreeCommandBuffers = nullptr; |
| PFN_vkFreeDescriptorSets vkFreeDescriptorSets = nullptr; |
| PFN_vkGetDeviceQueue vkGetDeviceQueue = nullptr; |
| PFN_vkGetFenceStatus vkGetFenceStatus = nullptr; |
| PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = nullptr; |
| PFN_vkResetFences vkResetFences = nullptr; |
| PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = nullptr; |
| PFN_vkWaitForFences vkWaitForFences = nullptr; |
| |
| // Queue functions |
| PFN_vkQueuePresentKHR vkQueuePresentKHR = nullptr; |
| PFN_vkQueueSubmit vkQueueSubmit = nullptr; |
| PFN_vkQueueWaitIdle vkQueueWaitIdle = nullptr; |
| |
| // Command Buffer functions |
| PFN_vkBeginCommandBuffer vkBeginCommandBuffer = nullptr; |
| PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = nullptr; |
| PFN_vkCmdEndRenderPass vkCmdEndRenderPass = nullptr; |
| PFN_vkCmdExecuteCommands vkCmdExecuteCommands = nullptr; |
| PFN_vkCmdNextSubpass vkCmdNextSubpass = nullptr; |
| PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = nullptr; |
| PFN_vkEndCommandBuffer vkEndCommandBuffer = nullptr; |
| PFN_vkResetCommandBuffer vkResetCommandBuffer = nullptr; |
| }; |
| |
| } // namespace gpu |
| |
| #endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ |