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

Public Member Functions

template<typename JobType , typename KeyType >
FShaderCommonCompileJobPtr PrepareJob (uint32 InId, const KeyType &InKey, EShaderCompileJobPriority InPriority, bool &bOutNewJob)
 
void AddExistingJob (FShaderCommonCompileJob *InJob)
 
void RemoveJob (FShaderCommonCompileJob *InJob)
 

Static Public Attributes

static constexpr int32 NUM_STRIPE_BITS = 6
 
static constexpr int32 NUM_STRIPES = 1 << NUM_STRIPE_BITS
 
static constexpr int32 STRIPE_SHIFT = 32 - NUM_STRIPE_BITS
 

Detailed Description

Class that provides a lock striped hash table of jobs, to reduce lock contention when adding or removing jobs

Member Function Documentation

◆ AddExistingJob()

void FShaderCompilerJobTable::AddExistingJob ( FShaderCommonCompileJob InJob)
inline

◆ PrepareJob()

template<typename JobType , typename KeyType >
FShaderCommonCompileJobPtr FShaderCompilerJobTable::PrepareJob ( uint32  InId,
const KeyType &  InKey,
EShaderCompileJobPriority  InPriority,
bool bOutNewJob 
)
inline

◆ RemoveJob()

void FShaderCompilerJobTable::RemoveJob ( FShaderCommonCompileJob InJob)
inline

Member Data Documentation

◆ NUM_STRIPE_BITS

constexpr int32 FShaderCompilerJobTable::NUM_STRIPE_BITS = 6
staticconstexpr

◆ NUM_STRIPES

constexpr int32 FShaderCompilerJobTable::NUM_STRIPES = 1 << NUM_STRIPE_BITS
staticconstexpr

◆ STRIPE_SHIFT

constexpr int32 FShaderCompilerJobTable::STRIPE_SHIFT = 32 - NUM_STRIPE_BITS
staticconstexpr

We want to use the high bits of the hash for the stripe index, as it won't have influence on the hash table index within the stripe


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