52 lines
2.1 KiB
C
52 lines
2.1 KiB
C
|
|
// Copyright (c) 2025 Danielel. All rights reserved.
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "CoreMinimal.h"
|
||
|
|
#include "Kismet/BlueprintFunctionLibrary.h"
|
||
|
|
#include "ShaderPipelineCache.h"
|
||
|
|
|
||
|
|
#include "ShaderPipeline.generated.h"
|
||
|
|
|
||
|
|
/**
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
UCLASS()
|
||
|
|
class PSOFUNCTIONS_API UShaderPipeline : public UBlueprintFunctionLibrary
|
||
|
|
{
|
||
|
|
GENERATED_BODY()
|
||
|
|
|
||
|
|
public:
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", meta = (ToolTip = "Sets the precompilation batching mode to Fast"))
|
||
|
|
static void SetBatchModeFast();
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", meta = (ToolTip = "Sets the precompilation batching mode to Background"))
|
||
|
|
static void SetBatchModeBackground();
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", meta = (ToolTip = "Sets the precompilation batching mode to Precompile"))
|
||
|
|
static void SetBatchModePrecompile();
|
||
|
|
|
||
|
|
/** Pauses precompilation batching. */
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", meta = (ToolTip = "Pauses precompilation batching"))
|
||
|
|
static void PauseBatching();
|
||
|
|
|
||
|
|
/** Resumes precompilation batching. */
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", meta = (ToolTip = "Resumes precompilation batching"))
|
||
|
|
static void ResumeBatching();
|
||
|
|
|
||
|
|
/** true if pipeline cache(s) are precompiling. */
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", BlueprintPure, meta = (ToolTip = "True if pipeline cache(s) are precompiling"))
|
||
|
|
static bool IsPrecompiling();
|
||
|
|
|
||
|
|
/** Returns the number of pipelines waiting for precompilation of the current PSOFC task.
|
||
|
|
if there are multiple PSOFCs pending this will return a minimum value of 1. It may increase as subsequent caches are processed.*/
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", BlueprintPure, meta = (ToolTip = "Returns the number of pipelines waiting for precompilation of the current PSOFC task. If there are multiple PSOFCs pending this will return a minimum value of 1. It may increase as subsequent caches are processed."))
|
||
|
|
static int NumPrecompilesRemaining();
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, Category = "PSO precompile", BlueprintPure, meta = (ToolTip = "Returns if the precompilation batching is paused"))
|
||
|
|
static bool IsBatchingPaused();
|
||
|
|
};
|