Foundation
Loading...
Searching...
No Matches
Macros | Variables
Device.cpp File Reference
#include "Device.hpp"
#include <queue>
#include <string_view>
#include <type_traits>
#include <vk_mem_alloc.h>
#include "Swapchain.hpp"
#include "PipelineState.hpp"
#include "Shader.hpp"
#include "Command.hpp"
#include "Descriptor.hpp"

Macros

#define VMA_IMPLEMENTATION
 
#define UNLINK_IF_UNSUPPORTED(FLAG, STRUCT_TYPE)
 
#define REQUEST_BASE_FEATURE(FEATURE_MEMBER)
 
#define REQUEST_FEATURE(STRUCT_TYPE, FEATURE_MEMBER)
 

Variables

const char * kVulkanDesiredDeviceExtensions []
 
const char * kVulkanDeviceTypes [] = {"Other", "Integrated GPU", "Discrete GPU", "Virtual GPU", "CPU"}
 

Macro Definition Documentation

◆ REQUEST_BASE_FEATURE

#define REQUEST_BASE_FEATURE (   FEATURE_MEMBER)
Value:
if (supportedChain.get<vk::PhysicalDeviceFeatures2>().features.FEATURE_MEMBER) { \
featureChain.get<vk::PhysicalDeviceFeatures2>().features.FEATURE_MEMBER = VK_TRUE; \
} else { \
LOG(VulkanDevice, LogWarn, "Device feature 'VkPhysicalDeviceFeatures::" #FEATURE_MEMBER "' is not supported and will remain disabled."); \
}
@ LogWarn
Definition Logging.hpp:8
Definition Device.hpp:122
T * Construct(Allocator *resource, Args &&...args)
Convenience placement new with object of type T using a Foundation::Core::Allocator.
Definition Allocator.hpp:153

◆ REQUEST_FEATURE

#define REQUEST_FEATURE (   STRUCT_TYPE,
  FEATURE_MEMBER 
)
Value:
if (supportedChain.get<STRUCT_TYPE>().FEATURE_MEMBER) { \
} else { \
LOG(VulkanDevice, LogWarn, "Device feature '" #STRUCT_TYPE "::" #FEATURE_MEMBER "' is not supported and will remain disabled."); \
}

◆ UNLINK_IF_UNSUPPORTED

#define UNLINK_IF_UNSUPPORTED (   FLAG,
  STRUCT_TYPE 
)
Value:
if (!(FLAG)) { \
}

◆ VMA_IMPLEMENTATION

#define VMA_IMPLEMENTATION

Variable Documentation

◆ kVulkanDesiredDeviceExtensions

const char* kVulkanDesiredDeviceExtensions[]

◆ kVulkanDeviceTypes

const char* kVulkanDeviceTypes[] = {"Other", "Integrated GPU", "Discrete GPU", "Virtual GPU", "CPU"}