Lugdunum  0.1.0
Classes | Namespaces | Macros | Functions
Vulkan.hpp File Reference
#include <unordered_map>
#include <vector>
#include <ostream>
#include <lug/Graphics/Export.hpp>
#include <vulkan/vulkan.h>
Include dependency graph for Vulkan.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lug::Graphics::Vulkan::InstanceInfo
 
struct  lug::Graphics::Vulkan::PhysicalDeviceInfo
 
struct  lug::Graphics::Vulkan::PhysicalDeviceInfo::Swapchain
 

Namespaces

 Vulkan
 
 lug
 
 lug::Graphics
 
 lug::Graphics::Vulkan
 

Macros

#define VK_NO_PROTOTYPES
 
#define WIN32_LEAN_AND_MEAN
 
#define NOMINMAX
 
#define LUG_EXPORTED_VULKAN_FUNCTIONS(macro)   macro(vkGetInstanceProcAddr)
 
#define LUG_CORE_VULKAN_FUNCTIONS(macro)
 
#define LUG_INSTANCE_VULKAN_FUNCTIONS_KHR_SURFACE(macro)
 
#define LUG_INSTANCE_VULKAN_FUNCTIONS(macro)
 
#define LUG_DEVICE_VULKAN_FUNCTIONS_KHR_SWAPCHAIN(macro)
 
#define LUG_DEVICE_VULKAN_FUNCTIONS(macro)
 
#define LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS(name)   extern PFN_##name LUG_GRAPHICS_API name;
 

Functions

 Vulkan::LUG_EXPORTED_VULKAN_FUNCTIONS (LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS)
 
 Vulkan::LUG_CORE_VULKAN_FUNCTIONS (LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS)
 
 Vulkan::LUG_INSTANCE_VULKAN_FUNCTIONS (LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS)
 
 Vulkan::LUG_DEVICE_VULKAN_FUNCTIONS (LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS)
 
std::ostream & operator<< (std::ostream &ss, VkResult result)
 

Macro Definition Documentation

◆ VK_NO_PROTOTYPES

#define VK_NO_PROTOTYPES

Definition at line 17 of file Vulkan.hpp.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 19 of file Vulkan.hpp.

◆ NOMINMAX

#define NOMINMAX

Definition at line 21 of file Vulkan.hpp.

◆ LUG_EXPORTED_VULKAN_FUNCTIONS

#define LUG_EXPORTED_VULKAN_FUNCTIONS (   macro)    macro(vkGetInstanceProcAddr)

Definition at line 29 of file Vulkan.hpp.

◆ LUG_CORE_VULKAN_FUNCTIONS

#define LUG_CORE_VULKAN_FUNCTIONS (   macro)
Value:
macro(vkEnumerateInstanceExtensionProperties) \
macro(vkEnumerateInstanceLayerProperties) \
macro(vkCreateInstance)

Definition at line 32 of file Vulkan.hpp.

◆ LUG_INSTANCE_VULKAN_FUNCTIONS_KHR_SURFACE

#define LUG_INSTANCE_VULKAN_FUNCTIONS_KHR_SURFACE (   macro)
Value:
macro(vkGetPhysicalDeviceSurfaceSupportKHR) \
macro(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
macro(vkGetPhysicalDeviceSurfaceFormatsKHR) \
macro(vkGetPhysicalDeviceSurfacePresentModesKHR) \
macro(vkDestroySurfaceKHR)

Definition at line 52 of file Vulkan.hpp.

◆ LUG_INSTANCE_VULKAN_FUNCTIONS

#define LUG_INSTANCE_VULKAN_FUNCTIONS (   macro)
Value:
macro(vkEnumeratePhysicalDevices) \
macro(vkGetPhysicalDeviceProperties) \
macro(vkGetPhysicalDeviceFeatures) \
macro(vkGetPhysicalDeviceQueueFamilyProperties) \
macro(vkGetPhysicalDeviceFormatProperties) \
macro(vkGetDeviceProcAddr) \
macro(vkCreateDevice) \
macro(vkDestroyInstance) \
macro(vkEnumerateDeviceExtensionProperties) \
macro(vkGetPhysicalDeviceMemoryProperties) \
LUG_INSTANCE_VULKAN_FUNCTIONS_PLATFORM(macro) \
LUG_INSTANCE_VULKAN_FUNCTIONS_KHR_SURFACE(macro)

Definition at line 59 of file Vulkan.hpp.

◆ LUG_DEVICE_VULKAN_FUNCTIONS_KHR_SWAPCHAIN

#define LUG_DEVICE_VULKAN_FUNCTIONS_KHR_SWAPCHAIN (   macro)
Value:
macro(vkCreateSwapchainKHR) \
macro(vkGetSwapchainImagesKHR) \
macro(vkAcquireNextImageKHR) \
macro(vkQueuePresentKHR) \
macro(vkDestroySwapchainKHR) \

Definition at line 73 of file Vulkan.hpp.

◆ LUG_DEVICE_VULKAN_FUNCTIONS

#define LUG_DEVICE_VULKAN_FUNCTIONS (   macro)

Definition at line 80 of file Vulkan.hpp.

◆ LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS

#define LUG_DEFINE_DECLARATION_VULKAN_FUNCTIONS (   name)    extern PFN_##name LUG_GRAPHICS_API name;

Definition at line 157 of file Vulkan.hpp.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  ss,
VkResult  result 
)
inline

PSA: This is outside of the namespace because VkResult is in the root namespace

Definition at line 210 of file Vulkan.hpp.