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

#include <VulkanLinuxPlatform.h>

+ Inheritance diagram for FVulkanLinuxPlatform:

Static Public Member Functions

static bool IsSupported ()
 
static bool LoadVulkanLibrary ()
 
static bool LoadVulkanInstanceFunctions (VkInstance inInstance)
 
static void FreeVulkanLibrary ()
 
static void GetInstanceExtensions (FVulkanInstanceExtensionArray &OutExtensions)
 
static void GetInstanceLayers (TArray< const ANSICHAR * > &OutLayers)
 
static void GetDeviceExtensions (FVulkanDevice *Device, FVulkanDeviceExtensionArray &OutExtensions)
 
static void GetDeviceLayers (TArray< const ANSICHAR * > &OutLayers)
 
static void CreateSurface (FVulkanPlatformWindowContext &WindowContext, VkInstance Instance, VkSurfaceKHR *OutSurface)
 
static VkTimeDomainKHR GetTimeDomain ()
 
- Static Public Member Functions inherited from FVulkanGenericPlatform
static bool IsSupported ()
 
static bool LoadVulkanLibrary ()
 
static bool LoadVulkanInstanceFunctions (VkInstance inInstance)
 
static void ClearVulkanInstanceFunctions ()
 
static void FreeVulkanLibrary ()
 
static void InitDevice (FVulkanDevice *InDevice)
 
static void PostInitGPU (const FVulkanDevice &InDevice)
 
static void NotifyFoundInstanceLayersAndExtensions (const TArray< const ANSICHAR * > &Layers, const TArray< const ANSICHAR * > &Extensions)
 
static void NotifyFoundDeviceLayersAndExtensions (VkPhysicalDevice PhysicalDevice, const TArray< const ANSICHAR * > &Layers, const TArray< const ANSICHAR * > &Extensions)
 
static void GetInstanceExtensions (FVulkanInstanceExtensionArray &OutExtensions)
 
static void GetInstanceLayers (TArray< const ANSICHAR * > &OutLayers)
 
static void GetDeviceExtensions (FVulkanDevice *Device, FVulkanDeviceExtensionArray &OutExtensions)
 
static void GetDeviceLayers (TArray< const ANSICHAR * > &OutLayers)
 
static void OnGPUCrash (const TCHAR *Message)
 
static void CreateSurface (VkSurfaceKHR *OutSurface)
 
static bool SupportsBCTextureFormats ()
 
static bool SupportsASTCTextureFormats ()
 
static bool SupportsETC2TextureFormats ()
 
static bool SupportsR16UnormTextureFormat ()
 
static bool SupportsQuerySurfaceProperties ()
 
static void SetupFeatureLevels (TArrayView< EShaderPlatform > ShaderPlatformForFeatureLevel)
 
static bool SupportsTimestampRenderQueries ()
 
static bool HasCustomFrameTiming ()
 
static bool RequiresMobileRenderer ()
 
static ERHIFeatureLevel::Type GetFeatureLevel (ERHIFeatureLevel::Type RequestedFeatureLevel)
 
static void OverridePlatformHandlers (bool bInit)
 
static bool RequiresPresentLayoutFix ()
 
static bool SupportsDeviceLocalHostVisibleWithNoPenalty (EGpuVendorId VendorId)
 
static bool HasUnifiedMemory ()
 
static bool RegisterGPUWork ()
 
static void RestrictEnabledPhysicalDeviceFeatures (FVulkanPhysicalDeviceFeatures *InOutFeaturesToEnable)
 
static bool SupportParallelRenderingTasks ()
 
static bool SupportsDynamicResolution ()
 
static bool SupportsVolumeTextureRendering ()
 
static bool RequiresSwapchainGeneralInitialLayout ()
 
static bool FramePace (FVulkanDevice &Device, void *WindowHandle, VkSwapchainKHR Swapchain, uint32 PresentID, VkPresentInfoKHR &Info)
 
static VkResult Present (VkQueue Queue, VkPresentInfoKHR &PresentInfo)
 
static VkResult CreateSwapchainKHR (FVulkanGenericPlatformWindowContext &WindowContext, VkPhysicalDevice PhysicalDevice, VkDevice Device, const VkSwapchainCreateInfoKHR *CreateInfo, const VkAllocationCallbacks *Allocator, VkSwapchainKHR *Swapchain)
 
static void DestroySwapchainKHR (VkDevice Device, VkSwapchainKHR Swapchain, const VkAllocationCallbacks *Allocator)
 
static bool RecreateSwapchainOnFail ()
 
static bool RequiresWaitingForFrameCompletionEvent ()
 
static bool SupportsNullPixelShader ()
 
static bool RequiresDepthStencilFullWrite ()
 
static bool RequiresMergedDepthStencilLayout ()
 
static bool PSOBinaryCacheMatches (FVulkanDevice *Device, const TArray< uint8 > &DeviceCache)
 
static FString CreatePSOBinaryCacheFilename (FVulkanDevice *Device, FString CacheFilename)
 
static FString GetCompiledPSOCacheTopFolderPath ()
 
static TArray< FString > GetPSOCacheFilenames ()
 
static VkPipelineCache PrecompilePSO (FVulkanDevice *Device, const uint8 *OptionalPSOCacheData, VkGraphicsPipelineCreateInfo *PipelineInfo, const FGfxPipelineDesc *GfxEntry, const FVulkanRenderTargetLayout *RTLayout, TArrayView< uint32_t > VS, TArrayView< uint32_t > PS, size_t &AfterSize, FString *FailureMessageOUT=nullptr)
 
static VkBool32 DebugReportFunction (VkDebugReportFlagsEXT MsgFlags, VkDebugReportObjectTypeEXT ObjType, uint64_t SrcObject, size_t Location, int32 MsgCode, const ANSICHAR *LayerPrefix, const ANSICHAR *Msg, void *UserData)
 
static void SetImageMemoryRequirementWorkaround (VkImageCreateInfo &ImageCreateInfo)
 
static bool SupportsProfileChecks ()
 
static FString GetVulkanProfileNameForFeatureLevel (ERHIFeatureLevel::Type FeatureLevel, bool bRaytracing)
 
static VkShaderStageFlags RequiredWaveOpsShaderStageFlags (VkShaderStageFlags VulkanDeviceShaderStageFlags)
 
static VkTimeDomainKHR GetTimeDomain ()
 

Static Protected Attributes

static voidVulkanLib = nullptr
 
static bool bLoadedSDLVulkanLibrary = false
 
static bool bAttemptedLoad = false
 

Member Function Documentation

◆ CreateSurface()

void FVulkanLinuxPlatform::CreateSurface ( FVulkanPlatformWindowContext WindowContext,
VkInstance  Instance,
VkSurfaceKHR OutSurface 
)
static

◆ FreeVulkanLibrary()

void FVulkanLinuxPlatform::FreeVulkanLibrary ( )
static

◆ GetDeviceExtensions()

void FVulkanLinuxPlatform::GetDeviceExtensions ( FVulkanDevice Device,
FVulkanDeviceExtensionArray OutExtensions 
)
static

◆ GetDeviceLayers()

static void FVulkanLinuxPlatform::GetDeviceLayers ( TArray< const ANSICHAR * > &  OutLayers)
inlinestatic

◆ GetInstanceExtensions()

void FVulkanLinuxPlatform::GetInstanceExtensions ( FVulkanInstanceExtensionArray OutExtensions)
static

◆ GetInstanceLayers()

static void FVulkanLinuxPlatform::GetInstanceLayers ( TArray< const ANSICHAR * > &  OutLayers)
inlinestatic

◆ GetTimeDomain()

static VkTimeDomainKHR FVulkanLinuxPlatform::GetTimeDomain ( )
inlinestatic

◆ IsSupported()

bool FVulkanLinuxPlatform::IsSupported ( )
static

◆ LoadVulkanInstanceFunctions()

bool FVulkanLinuxPlatform::LoadVulkanInstanceFunctions ( VkInstance  inInstance)
static

◆ LoadVulkanLibrary()

bool FVulkanLinuxPlatform::LoadVulkanLibrary ( )
static

Member Data Documentation

◆ bAttemptedLoad

bool FVulkanLinuxPlatform::bAttemptedLoad = false
staticprotected

◆ bLoadedSDLVulkanLibrary

bool FVulkanLinuxPlatform::bLoadedSDLVulkanLibrary = false
staticprotected

◆ VulkanLib

void * FVulkanLinuxPlatform::VulkanLib = nullptr
staticprotected

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