VkCV Framework  0.0.1
CV Vulkan framework
vkcv::FeatureManager Class Reference

Public Member Functions

 FeatureManager (vk::PhysicalDevice &physicalDevice)
 
 FeatureManager (const FeatureManager &other)=delete
 
 FeatureManager (FeatureManager &&other) noexcept
 
FeatureManageroperator= (const FeatureManager &other)=delete
 
FeatureManageroperator= (FeatureManager &&other) noexcept
 
bool isExtensionSupported (const std::string &extension) const
 
bool useExtension (const std::string &extension, bool required=true)
 
bool isExtensionActive (const std::string &extension) const
 
const std::vector< const char * > & getActiveExtensions () const
 
bool useFeatures (const std::function< void(vk::PhysicalDeviceFeatures &)> &featureFunction, bool required=true)
 
template<typename T >
bool useFeatures (const std::function< void(T &)> &featureFunction, bool required=true)
 
const vk::PhysicalDeviceFeatures2 & getFeatures () const
 

Private Member Functions

bool checkSupport (const vk::PhysicalDeviceFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDevice16BitStorageFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDevice8BitStorageFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceBufferDeviceAddressFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceDescriptorIndexingFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceHostQueryResetFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceImagelessFramebufferFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceMultiviewFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceProtectedMemoryFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceSamplerYcbcrConversionFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceScalarBlockLayoutFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceSeparateDepthStencilLayoutsFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceShaderAtomicInt64Features &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceShaderFloat16Int8Features &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceShaderSubgroupExtendedTypesFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceTimelineSemaphoreFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceUniformBufferStandardLayoutFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceVariablePointersFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceVulkanMemoryModelFeatures &features, bool required) const
 
bool checkSupport (const vk::PhysicalDeviceMeshShaderFeaturesNV &features, bool required) const
 
vk::BaseOutStructure * findFeatureStructure (vk::StructureType type) const
 

Private Attributes

vk::PhysicalDevice & m_physicalDevice
 
std::vector< const char * > m_supportedExtensions
 
std::vector< const char * > m_activeExtensions
 
vk::PhysicalDeviceFeatures2 m_featuresBase
 
std::vector< vk::BaseOutStructure * > m_featuresExtensions
 

Detailed Description


The documentation for this class was generated from the following files: