UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanLinuxPlatform.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "RHI.h"
7
8#define VULKAN_DYNAMICALLYLOADED 1
9#define VULKAN_ENABLE_DUMP_LAYER 0
10#define VULKAN_SHOULD_DEBUG_IN_DEVELOPMENT 1
11#define VULKAN_SHOULD_ENABLE_DRAW_MARKERS (UE_BUILD_DEBUG || UE_BUILD_DEVELOPMENT)
12#define VULKAN_SIGNAL_UNIMPLEMENTED() checkf(false, TEXT("Unimplemented vulkan functionality: %hs"), __PRETTY_FUNCTION__)
13#define VULKAN_SUPPORTS_SCALAR_BLOCK_LAYOUT 1
14#define VULKAN_SUPPORTS_RAY_TRACING_POSITION_FETCH 1
15
16#define UE_VK_API_VERSION VK_API_VERSION_1_1
17
18#if UE_BUILD_DEBUG || UE_BUILD_DEVELOPMENT
19# include "vk_enum_string_helper.h"
20# define VK_TYPE_TO_STRING(Type, Value) ANSI_TO_TCHAR(string_##Type(Value))
21# define VK_FLAGS_TO_STRING(Type, Value) ANSI_TO_TCHAR(string_##Type(Value).c_str())
22#endif
23
24#define ENUM_VK_ENTRYPOINTS_PLATFORM_BASE(EnumMacro)
25
26#define ENUM_VK_ENTRYPOINTS_PLATFORM_INSTANCE(EnumMacro)
27
28#define ENUM_VK_ENTRYPOINTS_OPTIONAL_PLATFORM_INSTANCE(EnumMacro)
29
30// and now, include the GenericPlatform class
31#include "../VulkanGenericPlatform.h"
32
34
58
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FVulkanGenericPlatformWindowContext FVulkanPlatformWindowContext
Definition VulkanLinuxPlatform.h:33
FVulkanLinuxPlatform FVulkanPlatform
Definition VulkanLinuxPlatform.h:59
Definition VulkanAndroidPlatform.h:52
Definition VulkanDevice.h:279
Definition VulkanGenericPlatform.h:28
Definition VulkanGenericPlatform.h:40
Definition VulkanLinuxPlatform.h:36
static bool bAttemptedLoad
Definition VulkanLinuxPlatform.h:56
static bool IsSupported()
Definition VulkanLinuxPlatform.cpp:24
static bool LoadVulkanLibrary()
Definition VulkanLinuxPlatform.cpp:112
static void GetDeviceExtensions(FVulkanDevice *Device, FVulkanDeviceExtensionArray &OutExtensions)
Definition VulkanLinuxPlatform.cpp:351
static bool bLoadedSDLVulkanLibrary
Definition VulkanLinuxPlatform.h:55
static void CreateSurface(FVulkanPlatformWindowContext &WindowContext, VkInstance Instance, VkSurfaceKHR *OutSurface)
Definition VulkanLinuxPlatform.cpp:357
static void GetInstanceLayers(TArray< const ANSICHAR * > &OutLayers)
Definition VulkanLinuxPlatform.h:45
static bool LoadVulkanInstanceFunctions(VkInstance inInstance)
Definition VulkanLinuxPlatform.cpp:246
static void * VulkanLib
Definition VulkanLinuxPlatform.h:54
static void GetDeviceLayers(TArray< const ANSICHAR * > &OutLayers)
Definition VulkanLinuxPlatform.h:47
static void FreeVulkanLibrary()
Definition VulkanLinuxPlatform.cpp:282
static void GetInstanceExtensions(FVulkanInstanceExtensionArray &OutExtensions)
Definition VulkanLinuxPlatform.cpp:313
static VkTimeDomainKHR GetTimeDomain()
Definition VulkanLinuxPlatform.h:51
Definition Array.h:670