UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanChunkedPipelineCache.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved..
2
3/*=============================================================================
4 VulkanPipelineCache.h: Private Vulkan RHI definitions.
5=============================================================================*/
6
7#pragma once
8#include "VulkanRHIPrivate.h"
9#include "VulkanResources.h"
12#include "ShaderPipelineCache.h"
13#include "Templates/UniquePtr.h"
14
16{
19public:
20 static void Init();
21 static void Shutdown();
22 static bool IsEnabled();
24
25 enum class EPSOOperation
26 {
27 CreateIfPresent, // checks the PSO is already present in the cache, VK api requires it creates the PSO too.
28 CreateAndStorePSO, // Create and store the PSO in the cache.
29 };
30
31
32 template<class TPipelineState>
44
45 template<class TPipelineState>
47
48 template<class TPipelineState>
50
51 void Tick();
52};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition VulkanChunkedPipelineCache.h:16
static FVulkanChunkedPipelineCacheManager & Get()
Definition VulkanChunkedPipelineCache.cpp:1227
VkResult CreatePSO(TPipelineState *GraphicsPipelineState, bool bIsPrecompileJob, FPSOCreateCallbackFunc< TPipelineState > PSOCreateFunc)
Definition VulkanChunkedPipelineCache.cpp:1236
void Tick()
Definition VulkanChunkedPipelineCache.cpp:1242
static void Shutdown()
Definition VulkanChunkedPipelineCache.cpp:1214
static void Init()
Definition VulkanChunkedPipelineCache.cpp:1203
EPSOOperation
Definition VulkanChunkedPipelineCache.h:26
friend class FVulkanPipelineCacheEntry
Definition VulkanChunkedPipelineCache.h:18
static bool IsEnabled()
Definition VulkanChunkedPipelineCache.cpp:1198
Definition DeferredShadingRenderer.h:178
Definition FunctionFwd.h:19
Definition UniquePtr.h:107
Definition CriticalSection.h:14
Definition VulkanChunkedPipelineCache.h:34
FVulkanChunkedPipelineCacheManager::EPSOOperation PSOOperation
Definition VulkanChunkedPipelineCache.h:41
TPipelineState * PSO
Definition VulkanChunkedPipelineCache.h:39
FRWLock & DestPipelineCacheLock
Definition VulkanChunkedPipelineCache.h:42
VkPipelineCache DestPipelineCache
Definition VulkanChunkedPipelineCache.h:40
FPSOCreateFuncParams(TPipelineState *PSOIn, VkPipelineCache DestPipelineCacheIn, FVulkanChunkedPipelineCacheManager::EPSOOperation PSOOperationIn, FRWLock &DestPipelineCacheLockIn)
Definition VulkanChunkedPipelineCache.h:35