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

#include <VulkanAndroidPlatform.h>

+ Inheritance diagram for FVulkanAndroidPlatform:

Static Public Member Functions

static bool LoadVulkanLibrary ()
 
static bool LoadVulkanInstanceFunctions (VkInstance inInstance)
 
static void FreeVulkanLibrary ()
 
static void InitDevice (FVulkanDevice *InDevice)
 
static void PostInitGPU (const FVulkanDevice &InDevice)
 
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 NotifyFoundDeviceLayersAndExtensions (VkPhysicalDevice PhysicalDevice, const TArray< const ANSICHAR * > &Layers, const TArray< const ANSICHAR * > &Extensions)
 
static void CreateSurface (FVulkanPlatformWindowContext &WindowContext, VkInstance Instance, VkSurfaceKHR *OutSurface)
 
static voidGetHardwareWindowHandle ()
 
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 SupportsDynamicResolution ()
 
static bool RequiresMobileRenderer ()
 
static ERHIFeatureLevel::Type GetFeatureLevel (ERHIFeatureLevel::Type RequestedFeatureLevel)
 
static bool HasCustomFrameTiming ()
 
static bool SupportsVolumeTextureRendering ()
 
static void OverridePlatformHandlers (bool bInit)
 
static bool RequiresPresentLayoutFix ()
 
static bool HasUnifiedMemory ()
 
static bool RegisterGPUWork ()
 
static bool SupportParallelRenderingTasks ()
 
static bool RequiresSwapchainGeneralInitialLayout ()
 
static bool RequiresWaitingForFrameCompletionEvent ()
 
static bool SupportsNullPixelShader ()
 
static bool RequiresDepthStencilFullWrite ()
 
static void SetupRequiresDepthStencilFullWriteWorkaround (const FVulkanDevice &Device)
 
static bool RequiresMergedDepthStencilLayout ()
 
static void SetupRequiresMergedDepthStencilLayoutWorkaround (const FVulkanDevice &Device)
 
static bool FramePace (FVulkanDevice &Device, void *WindowHandle, VkSwapchainKHR Swapchain, uint32 PresentID, VkPresentInfoKHR &Info)
 
static VkResult Present (VkQueue Queue, VkPresentInfoKHR &PresentInfo)
 
static VkResult CreateSwapchainKHR (FVulkanPlatformWindowContext &WindowContext, VkPhysicalDevice PhysicalDevice, VkDevice Device, const VkSwapchainCreateInfoKHR *CreateInfo, const VkAllocationCallbacks *Allocator, VkSwapchainKHR *Swapchain)
 
static void DestroySwapchainKHR (VkDevice Device, VkSwapchainKHR Swapchain, const VkAllocationCallbacks *Allocator)
 
static VkPipelineCache PrecompilePSO (FVulkanDevice *Device, const TArrayView< uint8 > OptionalPSOCacheData, FGraphicsPipelineStateInitializer::EPSOPrecacheCompileType PSOCompileType, const VkGraphicsPipelineCreateInfo *PipelineInfo, const FGfxPipelineDesc *GfxEntry, const FVulkanRenderTargetLayout *RTLayout, TArrayView< uint32_t > VS, TArrayView< uint32_t > PS, size_t &AfterSize, FString *FailureMessageOUT=nullptr)
 
static FString GetCompiledPSOCacheTopFolderPath ()
 
static bool AreRemoteCompileServicesActive ()
 
static bool StartRemoteCompileServices (int NumServices)
 
static void StopRemoteCompileServices ()
 
static bool RecreateSwapchainOnFail ()
 
static void RecreateSwapChain (void *NewNativeWindow)
 
static void DestroySwapChain ()
 
static VkFormat GetPlatform5551FormatWithFallback (VkFormat &OutFallbackFormat0, VkFormat &OutFallbackFormat1)
 
static void SetupImageMemoryRequirementWorkaround (const FVulkanDevice &InDevice)
 
static void SetImageMemoryRequirementWorkaround (VkImageCreateInfo &ImageCreateInfo)
 
static FString GetVulkanProfileNameForFeatureLevel (ERHIFeatureLevel::Type FeatureLevel, bool bRaytracing)
 
static VkShaderStageFlags RequiredWaveOpsShaderStageFlags (VkShaderStageFlags VulkanDeviceShaderStageFlags)
 
static void OnGPUCrash (const TCHAR *Message)
 
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 bAttemptedLoad = false
 
static bool bHasGoogleDisplayTiming = false
 
static TUniquePtr< class FGDTimingFramePacerGDTimingFramePacer
 
static TUniquePtr< struct FAndroidVulkanFramePacerFramePacer
 
static int32 CachedFramePace = 0
 
static int32 CachedRefreshRate = 60
 
static int32 CachedSyncInterval = 1
 
static int32 SuccessfulRefreshRateFrames = 1
 
static int32 UnsuccessfulRefreshRateFrames = 0
 
static TArray< TArray< ANSICHAR > > DebugVulkanDeviceLayers
 
static TArray< TArray< ANSICHAR > > DebugVulkanInstanceLayers
 
static TArray< TArray< ANSICHAR > > SwappyRequiredExtensions
 
static int32 AFBCWorkaroundOption = 0
 
static int32 ASTCWorkaroundOption = 0
 
static bool bRequiresDepthStencilFullWrite = false
 
static bool bRequiresMergedRenderPassDepthStencilLayout = false
 
static bool bRequiresWaitingForFrameCompletionEvent = false
 
static FAutoConsoleVariableRef CVarVulkanRequiresWaitingForFrameCompletionEvent
 

Member Function Documentation

◆ AreRemoteCompileServicesActive()

bool FVulkanAndroidPlatform::AreRemoteCompileServicesActive ( )
static

◆ CreateSurface()

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

◆ CreateSwapchainKHR()

VkResult FVulkanAndroidPlatform::CreateSwapchainKHR ( FVulkanPlatformWindowContext WindowContext,
VkPhysicalDevice  PhysicalDevice,
VkDevice  Device,
const VkSwapchainCreateInfoKHR CreateInfo,
const VkAllocationCallbacks Allocator,
VkSwapchainKHR Swapchain 
)
static

◆ DestroySwapChain()

void FVulkanAndroidPlatform::DestroySwapChain ( )
static

◆ DestroySwapchainKHR()

void FVulkanAndroidPlatform::DestroySwapchainKHR ( VkDevice  Device,
VkSwapchainKHR  Swapchain,
const VkAllocationCallbacks Allocator 
)
static

◆ FramePace()

bool FVulkanAndroidPlatform::FramePace ( FVulkanDevice Device,
void WindowHandle,
VkSwapchainKHR  Swapchain,
uint32  PresentID,
VkPresentInfoKHR Info 
)
static

◆ FreeVulkanLibrary()

void FVulkanAndroidPlatform::FreeVulkanLibrary ( )
static

◆ GetCompiledPSOCacheTopFolderPath()

FString FVulkanAndroidPlatform::GetCompiledPSOCacheTopFolderPath ( )
static

◆ GetDeviceExtensions()

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

◆ GetDeviceLayers()

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

◆ GetFeatureLevel()

static ERHIFeatureLevel::Type FVulkanAndroidPlatform::GetFeatureLevel ( ERHIFeatureLevel::Type  RequestedFeatureLevel)
inlinestatic

◆ GetHardwareWindowHandle()

void * FVulkanAndroidPlatform::GetHardwareWindowHandle ( )
static

◆ GetInstanceExtensions()

void FVulkanAndroidPlatform::GetInstanceExtensions ( FVulkanInstanceExtensionArray OutExtensions)
static

◆ GetInstanceLayers()

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

◆ GetPlatform5551FormatWithFallback()

static VkFormat FVulkanAndroidPlatform::GetPlatform5551FormatWithFallback ( VkFormat OutFallbackFormat0,
VkFormat OutFallbackFormat1 
)
inlinestatic

◆ GetTimeDomain()

static VkTimeDomainKHR FVulkanAndroidPlatform::GetTimeDomain ( )
inlinestatic

◆ GetVulkanProfileNameForFeatureLevel()

FString FVulkanAndroidPlatform::GetVulkanProfileNameForFeatureLevel ( ERHIFeatureLevel::Type  FeatureLevel,
bool  bRaytracing 
)
static

◆ HasCustomFrameTiming()

bool FVulkanAndroidPlatform::HasCustomFrameTiming ( )
static

◆ HasUnifiedMemory()

static bool FVulkanAndroidPlatform::HasUnifiedMemory ( )
inlinestatic

◆ InitDevice()

void FVulkanAndroidPlatform::InitDevice ( FVulkanDevice InDevice)
static

◆ LoadVulkanInstanceFunctions()

bool FVulkanAndroidPlatform::LoadVulkanInstanceFunctions ( VkInstance  inInstance)
static

◆ LoadVulkanLibrary()

bool FVulkanAndroidPlatform::LoadVulkanLibrary ( )
static

◆ NotifyFoundDeviceLayersAndExtensions()

void FVulkanAndroidPlatform::NotifyFoundDeviceLayersAndExtensions ( VkPhysicalDevice  PhysicalDevice,
const TArray< const ANSICHAR * > &  Layers,
const TArray< const ANSICHAR * > &  Extensions 
)
static

◆ OnGPUCrash()

void FVulkanAndroidPlatform::OnGPUCrash ( const TCHAR Message)
static

◆ OverridePlatformHandlers()

void FVulkanAndroidPlatform::OverridePlatformHandlers ( bool  bInit)
static

◆ PostInitGPU()

void FVulkanAndroidPlatform::PostInitGPU ( const FVulkanDevice InDevice)
static

◆ PrecompilePSO()

VkPipelineCache FVulkanAndroidPlatform::PrecompilePSO ( FVulkanDevice Device,
const TArrayView< uint8 OptionalPSOCacheData,
FGraphicsPipelineStateInitializer::EPSOPrecacheCompileType  PSOCompileType,
const VkGraphicsPipelineCreateInfo PipelineInfo,
const FGfxPipelineDesc GfxEntry,
const FVulkanRenderTargetLayout RTLayout,
TArrayView< uint32_t VS,
TArrayView< uint32_t PS,
size_t AfterSize,
FString *  FailureMessageOUT = nullptr 
)
static

◆ Present()

VkResult FVulkanAndroidPlatform::Present ( VkQueue  Queue,
VkPresentInfoKHR PresentInfo 
)
static

◆ RecreateSwapChain()

void FVulkanAndroidPlatform::RecreateSwapChain ( void NewNativeWindow)
static

◆ RecreateSwapchainOnFail()

static bool FVulkanAndroidPlatform::RecreateSwapchainOnFail ( )
inlinestatic

◆ RegisterGPUWork()

static bool FVulkanAndroidPlatform::RegisterGPUWork ( )
inlinestatic

◆ RequiredWaveOpsShaderStageFlags()

static VkShaderStageFlags FVulkanAndroidPlatform::RequiredWaveOpsShaderStageFlags ( VkShaderStageFlags  VulkanDeviceShaderStageFlags)
inlinestatic

◆ RequiresDepthStencilFullWrite()

static bool FVulkanAndroidPlatform::RequiresDepthStencilFullWrite ( )
inlinestatic

◆ RequiresMergedDepthStencilLayout()

static bool FVulkanAndroidPlatform::RequiresMergedDepthStencilLayout ( )
inlinestatic

◆ RequiresMobileRenderer()

static bool FVulkanAndroidPlatform::RequiresMobileRenderer ( )
inlinestatic

◆ RequiresPresentLayoutFix()

static bool FVulkanAndroidPlatform::RequiresPresentLayoutFix ( )
inlinestatic

◆ RequiresSwapchainGeneralInitialLayout()

static bool FVulkanAndroidPlatform::RequiresSwapchainGeneralInitialLayout ( )
inlinestatic

◆ RequiresWaitingForFrameCompletionEvent()

static bool FVulkanAndroidPlatform::RequiresWaitingForFrameCompletionEvent ( )
inlinestatic

◆ SetImageMemoryRequirementWorkaround()

void FVulkanAndroidPlatform::SetImageMemoryRequirementWorkaround ( VkImageCreateInfo ImageCreateInfo)
static

◆ SetupFeatureLevels()

static void FVulkanAndroidPlatform::SetupFeatureLevels ( TArrayView< EShaderPlatform ShaderPlatformForFeatureLevel)
inlinestatic

◆ SetupImageMemoryRequirementWorkaround()

void FVulkanAndroidPlatform::SetupImageMemoryRequirementWorkaround ( const FVulkanDevice InDevice)
static

◆ SetupRequiresDepthStencilFullWriteWorkaround()

void FVulkanAndroidPlatform::SetupRequiresDepthStencilFullWriteWorkaround ( const FVulkanDevice Device)
static

◆ SetupRequiresMergedDepthStencilLayoutWorkaround()

void FVulkanAndroidPlatform::SetupRequiresMergedDepthStencilLayoutWorkaround ( const FVulkanDevice Device)
static

◆ StartRemoteCompileServices()

bool FVulkanAndroidPlatform::StartRemoteCompileServices ( int  NumServices)
static

◆ StopRemoteCompileServices()

void FVulkanAndroidPlatform::StopRemoteCompileServices ( )
static

◆ SupportParallelRenderingTasks()

static bool FVulkanAndroidPlatform::SupportParallelRenderingTasks ( )
inlinestatic

◆ SupportsASTCTextureFormats()

static bool FVulkanAndroidPlatform::SupportsASTCTextureFormats ( )
inlinestatic

◆ SupportsBCTextureFormats()

bool FVulkanAndroidPlatform::SupportsBCTextureFormats ( )
static

◆ SupportsDynamicResolution()

bool FVulkanAndroidPlatform::SupportsDynamicResolution ( )
static

◆ SupportsETC2TextureFormats()

static bool FVulkanAndroidPlatform::SupportsETC2TextureFormats ( )
inlinestatic

◆ SupportsNullPixelShader()

static bool FVulkanAndroidPlatform::SupportsNullPixelShader ( )
inlinestatic

◆ SupportsQuerySurfaceProperties()

static bool FVulkanAndroidPlatform::SupportsQuerySurfaceProperties ( )
inlinestatic

◆ SupportsR16UnormTextureFormat()

static bool FVulkanAndroidPlatform::SupportsR16UnormTextureFormat ( )
inlinestatic

◆ SupportsTimestampRenderQueries()

bool FVulkanAndroidPlatform::SupportsTimestampRenderQueries ( )
static

◆ SupportsVolumeTextureRendering()

static bool FVulkanAndroidPlatform::SupportsVolumeTextureRendering ( )
inlinestatic

Member Data Documentation

◆ AFBCWorkaroundOption

int32 FVulkanAndroidPlatform::AFBCWorkaroundOption = 0
staticprotected

◆ ASTCWorkaroundOption

int32 FVulkanAndroidPlatform::ASTCWorkaroundOption = 0
staticprotected

◆ bAttemptedLoad

bool FVulkanAndroidPlatform::bAttemptedLoad = false
staticprotected

◆ bHasGoogleDisplayTiming

bool FVulkanAndroidPlatform::bHasGoogleDisplayTiming = false
staticprotected

◆ bRequiresDepthStencilFullWrite

bool FVulkanAndroidPlatform::bRequiresDepthStencilFullWrite = false
staticprotected

◆ bRequiresMergedRenderPassDepthStencilLayout

bool FVulkanAndroidPlatform::bRequiresMergedRenderPassDepthStencilLayout = false
staticprotected

◆ bRequiresWaitingForFrameCompletionEvent

bool FVulkanAndroidPlatform::bRequiresWaitingForFrameCompletionEvent = false
staticprotected

◆ CachedFramePace

int32 FVulkanAndroidPlatform::CachedFramePace = 0
staticprotected

◆ CachedRefreshRate

int32 FVulkanAndroidPlatform::CachedRefreshRate = 60
staticprotected

◆ CachedSyncInterval

int32 FVulkanAndroidPlatform::CachedSyncInterval = 1
staticprotected

◆ CVarVulkanRequiresWaitingForFrameCompletionEvent

FAutoConsoleVariableRef FVulkanAndroidPlatform::CVarVulkanRequiresWaitingForFrameCompletionEvent
staticprotected

◆ DebugVulkanDeviceLayers

TArray< TArray< ANSICHAR > > FVulkanAndroidPlatform::DebugVulkanDeviceLayers
staticprotected

◆ DebugVulkanInstanceLayers

TArray< TArray< ANSICHAR > > FVulkanAndroidPlatform::DebugVulkanInstanceLayers
staticprotected

◆ FramePacer

TUniquePtr< struct FAndroidVulkanFramePacer > FVulkanAndroidPlatform::FramePacer
staticprotected

◆ GDTimingFramePacer

TUniquePtr< class FGDTimingFramePacer > FVulkanAndroidPlatform::GDTimingFramePacer
staticprotected

◆ SuccessfulRefreshRateFrames

int32 FVulkanAndroidPlatform::SuccessfulRefreshRateFrames = 1
staticprotected

◆ SwappyRequiredExtensions

TArray< TArray< ANSICHAR > > FVulkanAndroidPlatform::SwappyRequiredExtensions
staticprotected

◆ UnsuccessfulRefreshRateFrames

int32 FVulkanAndroidPlatform::UnsuccessfulRefreshRateFrames = 0
staticprotected

◆ VulkanLib

void * FVulkanAndroidPlatform::VulkanLib = nullptr
staticprotected

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