Navigation
API > API/Runtime > API/Runtime/Engine
| Name | FShaderCompileThreadRunnableBase |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/ShaderCompiler.h |
| Include Path | #include "ShaderCompiler.h" |
Syntax
class FShaderCompileThreadRunnableBase : public FRunnable
Inheritance Hierarchy
- FRunnable → FShaderCompileThreadRunnableBase
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FShaderCompileThreadRunnableBase
(
FShaderCompilingManager* InManager |
ShaderCompiler.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FShaderCompileThreadRunnableBase() |
ShaderCompiler.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| PriorityIndexRange | TInterval< int32 > | ShaderCompiler.h | ||
| PriorityRangeLock | FRWLock | Priority index range is RW lock protected so that we can change it for all threads when the distributed compiling thread is shutting down and transfers its jobs to local workers. | ShaderCompiler.h | |
| WorkerStateChangeTimestamp | double | Timestamp of the last point in time the worker states have changed. | ShaderCompiler.h | |
| WorkerStateHash | uint64 | 64-bit hash value of the worker states to detect hung shader compile jobs. | ShaderCompiler.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 CompilingLoop() |
Main work loop. | ShaderCompiler.h | |
TInterval< int32 > GetPriorityRange() |
ShaderCompiler.h | ||
EShaderCompilerWorkerType GetWorkerType() |
Returns the type of shader workers this thread represents. | ShaderCompiler.h | |
void SetPriorityRange
(
EShaderCompileJobPriority MinPriority, |
ShaderCompiler.h | ||
void StartThread() |
ShaderCompiler.h | ||
void WaitForCompletion() |
ShaderCompiler.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ForEachPendingJob
(
const FShaderCompileJobCallback& PendingJobCallback |
Invokes the specified callback on each pending job this shader compile thread is processing. | ShaderCompiler.h | |
virtual void OnMachineResourcesChanged() |
Events from the manager | ShaderCompiler.h |
Overridden from FRunnable
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual uint32 Run() |
Entry point for the shader compiling thread. | ShaderCompiler.h | |
virtual void Stop() |
ShaderCompiler.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool WorkerStateHeartbeat
(
uint64 InWorkerStateHash |
Returns false if the new worker state hash hasn't changed in a certain period of time. | ShaderCompiler.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FShaderCompileMemoryUsage GetExternalWorkerMemoryUsage() |
Returns the amount of memory (in bytes) used by external processes related to this, if any. | ShaderCompiler.h | |
virtual const TCHAR * GetThreadName() |
Returns a name for this thread instance. Defaults to "ShaderCompilingThread". | ShaderCompiler.h | |
virtual bool PrintWorkerMemoryUsage
(
bool bAllowToWaitForLock |
Tries to print out the memory usage of all shader compile workers. | ShaderCompiler.h |