8#define VK_USE_PLATFORM_ANDROID_KHR 1
10#define VULKAN_ENABLE_DUMP_LAYER 0
11#define VULKAN_DYNAMICALLYLOADED 1
12#define VULKAN_SHOULD_ENABLE_DRAW_MARKERS (UE_BUILD_DEVELOPMENT || UE_BUILD_DEBUG)
13#define VULKAN_USE_IMAGE_ACQUIRE_FENCES 0
14#define VULKAN_USE_CREATE_ANDROID_SURFACE 1
15#define VULKAN_SHOULD_USE_LLM (UE_BUILD_DEBUG || UE_BUILD_DEVELOPMENT)
16#define VULKAN_SHOULD_USE_COMMANDWRAPPERS VULKAN_SHOULD_USE_LLM
17#define VULKAN_ENABLE_LRU_CACHE 1
18#define VULKAN_SUPPORTS_GOOGLE_DISPLAY_TIMING 1
19#define VULKAN_PURGE_SHADER_MODULES 0
20#define VULKAN_SUPPORTS_DEDICATED_ALLOCATION 0
21#define VULKAN_SUPPORTS_ASTC_DECODE_MODE 1
22#define VULKAN_SUPPORTS_SCALAR_BLOCK_LAYOUT 1
23#define VULKAN_SUPPORTS_TRANSIENT_RESOURCE_ALLOCATOR 0
24#define VULKAN_SUPPORTS_DRIVER_PROPERTIES 0
25#define VULKAN_SUPPORTS_DESCRIPTOR_INDEXING 1
26#define VULKAN_SUPPORTS_RAY_TRACING_POSITION_FETCH 0
28#define UE_VK_API_VERSION VK_API_VERSION_1_1
30#if UE_BUILD_DEBUG || UE_BUILD_DEVELOPMENT
31# include "vk_enum_string_helper.h"
32# define VK_TYPE_TO_STRING(Type, Value) ANSI_TO_TCHAR(string_##Type(Value))
36#define ENUM_VK_ENTRYPOINTS_PLATFORM_BASE(EnumMacro)
38#define ENUM_VK_ENTRYPOINTS_PLATFORM_INSTANCE(EnumMacro) \
39 EnumMacro(PFN_vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHR) \
40 EnumMacro(PFN_vkGetAndroidHardwareBufferPropertiesANDROID, vkGetAndroidHardwareBufferPropertiesANDROID)
42#define ENUM_VK_ENTRYPOINTS_OPTIONAL_PLATFORM_INSTANCE(EnumMacro) \
43 EnumMacro(PFN_vkGetRefreshCycleDurationGOOGLE, vkGetRefreshCycleDurationGOOGLE) \
44 EnumMacro(PFN_vkGetPastPresentationTimingGOOGLE, vkGetPastPresentationTimingGOOGLE)
164 #if USE_STATIC_FEATURE_LEVEL_ENUMS
173 #if USE_STATIC_FEATURE_LEVEL_ENUMS
189#if PLATFORM_ANDROID_X64
265#if USE_ANDROID_VULKAN_SWAPPY
273#if VULKAN_SUPPORTS_GOOGLE_DISPLAY_TIMING
298#if VULKAN_SUPPORTS_GOOGLE_DISPLAY_TIMING
306 return ((SyncDuration > 0) ? &PresentTimesInfo :
nullptr);
312 void UpdateSyncDuration(
int32 FramePace,
int32 RefreshRate);
318 void PollPastFrameInfo();
321 struct FKnownFrameInfo
325 uint64 ActualPresentTime = 0;
334 uint64 RefreshDuration = 0;
335 uint64 HalfRefreshDuration = 0;
337 FKnownFrameInfo LastKnownFrameInfo;
338 uint64 LastScheduledPresentTime = 0;
#define UE_ANDROID_STATIC_FEATURE_LEVEL
Definition AndroidStaticFeatureLevel.inl:8
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
FAndroidWindow * Get()
Definition AndroidWindow.h:120
ANativeWindow * GetANativeWindow() const
Definition AndroidWindow.h:132
Definition AndroidWindow.h:22
FNativeAccessor GetANativeAccessor(bool bWriteAccess)
Definition AndroidWindow.h:136
Definition IConsoleManager.h:1580
Definition VulkanAndroidPlatform.h:300
void ScheduleNextFrame(uint32 InPresentID, int32 FramePace, int32 RefreshRate)
Definition VulkanAndroidPlatform.cpp:162
const VkPresentTimesInfoGOOGLE * GetPresentTimesInfo() const
Definition VulkanAndroidPlatform.h:304
EPSOPrecacheCompileType
Definition RHIResources.h:4798
Definition UnrealTemplate.h:321
Definition VulkanAndroidPlatform.h:52
FVulkanAndroidPlatformWindowContext(TOptional< FAndroidWindow::FNativeAccessor > WindowContainerIn)
Definition VulkanAndroidPlatform.h:70
FVulkanAndroidPlatformWindowContext(void *InWindowHandle)
Definition VulkanAndroidPlatform.h:54
ANativeWindow * GetANativeWindow() const
Definition VulkanAndroidPlatform.h:92
bool IsValid() const
Definition VulkanAndroidPlatform.h:87
void * GetWindowHandle() const
Definition VulkanAndroidPlatform.h:97
static bool CanCreateSwapchainOnDemand()
Definition VulkanAndroidPlatform.h:86
Definition VulkanDevice.h:279
Definition VulkanRenderTargetLayout.h:8
Definition ArrayView.h:139
Definition UniquePtr.h:107
Type
Definition RHIFeatureLevel.h:20
@ SM4_REMOVED
Definition RHIFeatureLevel.h:31
@ ES2_REMOVED
Definition RHIFeatureLevel.h:22
@ SM5
Definition RHIFeatureLevel.h:42
@ SM6
Definition RHIFeatureLevel.h:52
@ ES3_1
Definition RHIFeatureLevel.h:25
static CORE_API bool UseNewWindowBehavior()
Definition AndroidPlatformMisc.cpp:2526
static CORE_API bool ShouldUseDesktopVulkan()
Definition AndroidPlatformMisc.cpp:2360
Definition VulkanPipeline.h:127
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
constexpr bool IsSet() const
Definition Optional.h:69