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

#include <ShaderCompiler.h>

+ Inheritance diagram for FShaderCompileDistributedThreadRunnable_Interface:

Public Member Functions

 FShaderCompileDistributedThreadRunnable_Interface (class FShaderCompilingManager *InManager, class IDistributedBuildController &InController)
 
virtual ~FShaderCompileDistributedThreadRunnable_Interface ()
 
virtual EShaderCompilerWorkerType GetWorkerType () const override final
 
virtual int32 CompilingLoop () override
 
virtual void ForEachPendingJob (const FShaderCompileJobCallback &PendingJobCallback) const override
 
- Public Member Functions inherited from FShaderCompileThreadRunnableBase
 FShaderCompileThreadRunnableBase (class FShaderCompilingManager *InManager)
 
virtual ~FShaderCompileThreadRunnableBase ()
 
void SetPriorityRange (EShaderCompileJobPriority MinPriority, EShaderCompileJobPriority MaxPriority)
 
void StartThread ()
 
virtual void Stop ()
 
virtual uint32 Run ()
 
void WaitForCompletion () const
 
virtual void OnMachineResourcesChanged ()
 
- Public Member Functions inherited from FRunnable
virtual bool Init ()
 
virtual void Exit ()
 
virtual class FSingleThreadRunnableGetSingleThreadInterface ()
 
virtual ~FRunnable ()
 

Static Public Member Functions

static bool IsSupported ()
 

Protected Attributes

IDistributedBuildControllerCachedController
 
TMap< EShaderPlatform, TArray< FString > > PlatformShaderInputFilesCache
 
- Protected Attributes inherited from FShaderCompileThreadRunnableBase
class FShaderCompilingManagerManager
 
FRunnableThreadThread
 
int32 MinPriorityIndex
 
int32 MaxPriorityIndex
 
TAtomic< boolbForceFinish
 

Additional Inherited Members

- Protected Member Functions inherited from FShaderCompileThreadRunnableBase
virtual bool PrintWorkerMemoryUsage (bool bAllowToWaitForLock=true)
 
virtual FShaderCompileMemoryUsage GetExternalWorkerMemoryUsage ()
 
bool WorkerStateHeartbeat (uint64 InWorkerStateHash)
 

Constructor & Destructor Documentation

◆ FShaderCompileDistributedThreadRunnable_Interface()

FShaderCompileDistributedThreadRunnable_Interface::FShaderCompileDistributedThreadRunnable_Interface ( class FShaderCompilingManager InManager,
class IDistributedBuildController InController 
)

Initialization constructor.

◆ ~FShaderCompileDistributedThreadRunnable_Interface()

FShaderCompileDistributedThreadRunnable_Interface::~FShaderCompileDistributedThreadRunnable_Interface ( )
virtual

Member Function Documentation

◆ CompilingLoop()

int32 FShaderCompileDistributedThreadRunnable_Interface::CompilingLoop ( )
overridevirtual

Main work loop.

Implements FShaderCompileThreadRunnableBase.

◆ ForEachPendingJob()

void FShaderCompileDistributedThreadRunnable_Interface::ForEachPendingJob ( const FShaderCompileJobCallback PendingJobCallback) const
overridevirtual

Invokes the specified callback on each pending job this shader compile thread is processing. Use this to find compile jobs that are already sent to a worker, since once a worker processes them, they are no longer in the "pending list" of the shader compile manager (i.e. FShaderCompileJobCollection specifically).

Parameters
PendingJobCallbackFunction callback that is invoked on each pending job. Returns false to exit the iteration early.

Reimplemented from FShaderCompileThreadRunnableBase.

◆ GetWorkerType()

virtual EShaderCompilerWorkerType FShaderCompileDistributedThreadRunnable_Interface::GetWorkerType ( ) const
inlinefinaloverridevirtual

Returns the type of shader workers this thread represents.

Implements FShaderCompileThreadRunnableBase.

◆ IsSupported()

bool FShaderCompileDistributedThreadRunnable_Interface::IsSupported ( )
static

Member Data Documentation

◆ CachedController

IDistributedBuildController& FShaderCompileDistributedThreadRunnable_Interface::CachedController
protected

◆ PlatformShaderInputFilesCache

TMap<EShaderPlatform, TArray<FString> > FShaderCompileDistributedThreadRunnable_Interface::PlatformShaderInputFilesCache
protected

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