UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanDeviceExtension Class Reference

#include <VulkanExtensions.h>

+ Inheritance diagram for FVulkanDeviceExtension:

Public Member Functions

 FVulkanDeviceExtension (FVulkanDevice *InDevice, const ANSICHAR *InExtensionName, int32 InEnabledInCode, uint32 InPromotedVersion=VULKAN_EXTENSION_NOT_PROMOTED, TUniqueFunction< void(FOptionalVulkanDeviceExtensions &ExtensionFlags)> &&InFlagSetter=nullptr, EExtensionActivation InActivation=FVulkanExtensionBase::AutoActivate)
 
virtual void PrePhysicalDeviceProperties (VkPhysicalDeviceProperties2KHR &PhysicalDeviceProperties2)
 
virtual void PostPhysicalDeviceProperties (FOptionalVulkanDeviceExtensions &ExtensionFlags)
 
virtual void PrePhysicalDeviceFeatures (VkPhysicalDeviceFeatures2KHR &PhysicalDeviceFeatures2)
 
virtual void PostPhysicalDeviceFeatures (FOptionalVulkanDeviceExtensions &ExtensionFlags)
 
virtual void PreCreateDevice (VkDeviceCreateInfo &DeviceInfo)
 
- Public Member Functions inherited from FVulkanExtensionBase
 FVulkanExtensionBase (const ANSICHAR *InExtensionName, int32 InEnabledInCode, uint32 InPromotedVersion, EExtensionActivation InActivation)
 
virtual ~FVulkanExtensionBase ()
 
void SetSupported ()
 
void SetActivated ()
 
bool SetCore (uint32 ApiVersion)
 
const ANSICHARGetExtensionName () const
 
bool IsEnabled () const
 
bool IsSupported () const
 
bool IsCore ()
 
bool InUse () const
 

Static Public Member Functions

static FVulkanDeviceExtensionArray GetUESupportedDeviceExtensions (FVulkanDevice *InDevice, uint32 ApiVersion)
 
static TArray< VkExtensionPropertiesGetDriverSupportedDeviceExtensions (VkPhysicalDevice Gpu, const ANSICHAR *LayerName=nullptr)
 
- Static Public Member Functions inherited from FVulkanExtensionBase
template<typename ExtensionType >
static int32 FindExtension (const TArray< TUniquePtr< ExtensionType > > &UEExtensions, const ANSICHAR *ExtensionName)
 

Static Public Attributes

static TArray< const ANSICHAR * > ExternalExtensions
 

Protected Member Functions

struct FOptionalVulkanDeviceExtensionPropertiesGetDeviceExtensionProperties ()
 

Protected Attributes

FVulkanDeviceDevice
 
TUniqueFunction< void(FOptionalVulkanDeviceExtensions &ExtensionFlags)> FlagSetter
 
bool bRequirementsPassed
 
- Protected Attributes inherited from FVulkanExtensionBase
const ANSICHARExtensionName
 
const uint32 PromotedVersion
 
bool bEnabledInCode
 
bool bSupported
 
bool bActivated
 
bool bCore
 

Additional Inherited Members

- Public Types inherited from FVulkanExtensionBase
enum  EExtensionActivation : uint8 { AutoActivate , ManuallyActivate }
 

Constructor & Destructor Documentation

◆ FVulkanDeviceExtension()

FVulkanDeviceExtension::FVulkanDeviceExtension ( FVulkanDevice InDevice,
const ANSICHAR InExtensionName,
int32  InEnabledInCode,
uint32  InPromotedVersion = VULKAN_EXTENSION_NOT_PROMOTED,
TUniqueFunction< void(FOptionalVulkanDeviceExtensions &ExtensionFlags)> &&  InFlagSetter = nullptr,
EExtensionActivation  InActivation = FVulkanExtensionBase::AutoActivate 
)
inline

Member Function Documentation

◆ GetDeviceExtensionProperties()

struct FOptionalVulkanDeviceExtensionProperties & FVulkanDeviceExtension::GetDeviceExtensionProperties ( )
protected

◆ GetDriverSupportedDeviceExtensions()

TArray< VkExtensionProperties > FVulkanDeviceExtension::GetDriverSupportedDeviceExtensions ( VkPhysicalDevice  Gpu,
const ANSICHAR LayerName = nullptr 
)
static

◆ GetUESupportedDeviceExtensions()

FVulkanDeviceExtensionArray FVulkanDeviceExtension::GetUESupportedDeviceExtensions ( FVulkanDevice InDevice,
uint32  ApiVersion 
)
static

◆ PostPhysicalDeviceFeatures()

virtual void FVulkanDeviceExtension::PostPhysicalDeviceFeatures ( FOptionalVulkanDeviceExtensions ExtensionFlags)
inlinevirtual

Reimplemented in FVulkanKHRMaintenance4Extension, FVulkanKHRMaintenance5Extension, FVulkanKHRMaintenance7Extension, FVulkanShaderAtomicInt64Extension, FVulkanShaderImageAtomicInt64Extension, FVulkanEXTShaderViewportIndexLayerExtension, FVulkanKHRSeparateDepthStencilLayoutsExtension, FVulkanKHRSynchronization2, FVulkanKHRMultiviewExtension, FVulkanEXTScalarBlockLayoutExtension, FVulkanEXTDescriptorIndexingExtension, FVulkanKHRFragmentShadingRateExtension, FVulkanEXTFragmentDensityMapExtension, FVulkanEXTFragmentDensityMap2Extension, FVulkanKHRFragmentShaderBarycentricExtension, FVulkanKHRComputeShaderDerivatives, FVulkanKHRBufferDeviceAddressExtension, FVulkanKHRAccelerationStructureExtension, FVulkanKHRRayTracingPipelineExtension, FVulkanKHRRayQueryExtension, FVulkanKHRRayTracingPositionFetchExtension, FVulkanKHRTimelineSemaphoreExtension, FVulkanEXTMeshShaderExtension, FVulkanAMDBufferMarkerExtension, FVulkanNVDeviceDiagnosticCheckpointsExtension, FVulkanNVDeviceDiagnosticConfigExtension, FVulkanNVRayTracingValidationExtension, FVulkanEXTDeviceFaultExtension, FVulkanEXTHostQueryResetExtension, FVulkanEXTSubgroupSizeControlExtension, FVulkanEXTShaderDemoteToHelperInvocationExtension, FVulkanEXTCalibratedTimestampsExtension, FVulkanEXTDescriptorBuffer, FVulkanKHR16BitStorageExtension, FVulkanKHRShaderFloat16Int8Extension, FVulkanKHRDepthStencilResolveExtension, FVulkanEXTPipelineCreationCacheControlExtension, FVulkanKHRSamplerYcbcrConversionExtension, FVulkanEXTImageCompressionControlExtension, FVulkanEXTGraphicsPipelineLibraryExtension, FVulkanEXTMutableDescriptorTypeExtension, FVulkanKHRDynamicRenderingExtension, FVulkanKHRDynamicRenderingLocalReadExtension, FVulkanKHRDynamicRenderingUnusedAttachmentsExtension, FVulkanEXTExtendedDynamicStateExtension, FVulkanEXTExtendedDynamicState2Extension, FVulkanEXTExtendedDynamicState3Extension, FVulkanEXTVertexInputDynamicStateExtension, FVulkanEXTShaderObjectExtension, and FVulkanEXTHostImageCopyExtension.

◆ PostPhysicalDeviceProperties()

◆ PreCreateDevice()

virtual void FVulkanDeviceExtension::PreCreateDevice ( VkDeviceCreateInfo DeviceInfo)
inlinevirtual

Reimplemented in FVulkanKHRMaintenance4Extension, FVulkanKHRMaintenance5Extension, FVulkanKHRMaintenance7Extension, FVulkanShaderAtomicInt64Extension, FVulkanShaderImageAtomicInt64Extension, FVulkanKHRSeparateDepthStencilLayoutsExtension, FVulkanKHRSynchronization2, FVulkanKHRMultiviewExtension, FVulkanEXTScalarBlockLayoutExtension, FVulkanEXTDescriptorIndexingExtension, FVulkanKHRFragmentShadingRateExtension, FVulkanEXTFragmentDensityMapExtension, FVulkanEXTFragmentDensityMap2Extension, FVulkanKHRFragmentShaderBarycentricExtension, FVulkanKHRComputeShaderDerivatives, FVulkanKHRBufferDeviceAddressExtension, FVulkanKHRAccelerationStructureExtension, FVulkanKHRRayTracingPipelineExtension, FVulkanKHRRayQueryExtension, FVulkanKHRRayTracingPositionFetchExtension, FVulkanKHRTimelineSemaphoreExtension, FVulkanEXTMeshShaderExtension, FVulkanNVDeviceDiagnosticConfigExtension, FVulkanNVRayTracingValidationExtension, FVulkanEXTDeviceFaultExtension, FVulkanEXTHostQueryResetExtension, FVulkanEXTSubgroupSizeControlExtension, FVulkanEXTShaderDemoteToHelperInvocationExtension, FVulkanEXTDescriptorBuffer, FVulkanKHR16BitStorageExtension, FVulkanKHRShaderFloat16Int8Extension, FVulkanEXTPipelineCreationCacheControlExtension, FVulkanKHRSamplerYcbcrConversionExtension, FVulkanEXTImageCompressionControlExtension, FVulkanEXTGraphicsPipelineLibraryExtension, FVulkanEXTMutableDescriptorTypeExtension, FVulkanKHRDynamicRenderingExtension, FVulkanKHRDynamicRenderingLocalReadExtension, FVulkanKHRDynamicRenderingUnusedAttachmentsExtension, FVulkanEXTExtendedDynamicStateExtension, FVulkanEXTExtendedDynamicState2Extension, FVulkanEXTExtendedDynamicState3Extension, FVulkanEXTVertexInputDynamicStateExtension, FVulkanEXTShaderObjectExtension, and FVulkanEXTHostImageCopyExtension.

◆ PrePhysicalDeviceFeatures()

virtual void FVulkanDeviceExtension::PrePhysicalDeviceFeatures ( VkPhysicalDeviceFeatures2KHR PhysicalDeviceFeatures2)
inlinevirtual

Reimplemented in FVulkanKHRMaintenance4Extension, FVulkanKHRMaintenance5Extension, FVulkanKHRMaintenance7Extension, FVulkanShaderAtomicInt64Extension, FVulkanShaderImageAtomicInt64Extension, FVulkanKHRSeparateDepthStencilLayoutsExtension, FVulkanKHRSynchronization2, FVulkanKHRMultiviewExtension, FVulkanEXTScalarBlockLayoutExtension, FVulkanEXTDescriptorIndexingExtension, FVulkanKHRFragmentShadingRateExtension, FVulkanEXTFragmentDensityMapExtension, FVulkanEXTFragmentDensityMap2Extension, FVulkanKHRFragmentShaderBarycentricExtension, FVulkanKHRComputeShaderDerivatives, FVulkanKHRBufferDeviceAddressExtension, FVulkanKHRAccelerationStructureExtension, FVulkanKHRRayTracingPipelineExtension, FVulkanKHRRayQueryExtension, FVulkanKHRRayTracingPositionFetchExtension, FVulkanKHRTimelineSemaphoreExtension, FVulkanEXTMeshShaderExtension, FVulkanNVDeviceDiagnosticConfigExtension, FVulkanNVRayTracingValidationExtension, FVulkanEXTDeviceFaultExtension, FVulkanEXTHostQueryResetExtension, FVulkanEXTSubgroupSizeControlExtension, FVulkanEXTShaderDemoteToHelperInvocationExtension, FVulkanEXTDescriptorBuffer, FVulkanKHR16BitStorageExtension, FVulkanKHRShaderFloat16Int8Extension, FVulkanEXTPipelineCreationCacheControlExtension, FVulkanKHRSamplerYcbcrConversionExtension, FVulkanEXTImageCompressionControlExtension, FVulkanEXTGraphicsPipelineLibraryExtension, FVulkanEXTMutableDescriptorTypeExtension, FVulkanKHRDynamicRenderingExtension, FVulkanKHRDynamicRenderingLocalReadExtension, FVulkanKHRDynamicRenderingUnusedAttachmentsExtension, FVulkanEXTExtendedDynamicStateExtension, FVulkanEXTExtendedDynamicState2Extension, FVulkanEXTExtendedDynamicState3Extension, FVulkanEXTVertexInputDynamicStateExtension, FVulkanEXTShaderObjectExtension, and FVulkanEXTHostImageCopyExtension.

◆ PrePhysicalDeviceProperties()

Member Data Documentation

◆ bRequirementsPassed

bool FVulkanDeviceExtension::bRequirementsPassed
protected

◆ Device

FVulkanDevice* FVulkanDeviceExtension::Device
protected

◆ ExternalExtensions

TArray< const ANSICHAR * > FVulkanDeviceExtension::ExternalExtensions
static

◆ FlagSetter

TUniqueFunction<void(FOptionalVulkanDeviceExtensions& ExtensionFlags)> FVulkanDeviceExtension::FlagSetter
protected

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