FVectorVMContext

Context information passed around during VM execution.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

VectorVM

Header

/Engine/Source/Runtime/VectorVM/Public/VectorVM.h

Include

#include "VectorVM.h"

Syntax

struct FVectorVMContext : public TThreadSingleton< FVectorVMContext >

Remarks

Context information passed around during VM execution.

Variables

Name Description

Public variable

bool

 

bIsParallelExecution

Public variable

const uint8 ...

 

ConstantTable

Pointer to the constant table.

Public variable

int32

 

ConstantTableCount

Public variable

const int32 ...

 

ConstantTableSizes

Public variable

TArrayView< FDa...

 

DataSetMetaTable

Array of meta data on data sets.

Public variable

FVMExternalFunc...

 

ExternalFunctionTable

Pointer to the shared data table.

Public variable

int32

 

NumInstances

Number of instances to process.

Public variable

int32

 

NumInstancesVectorFloats

Number of instances to process when doing batches of VECTOR_WIDTH_FLOATS.

Public variable

int32

 

NumTempRegisters

Num temp registers required by this script.

Public variable

TArray< int32 >

 

RandCounters

Thread local per instance random counters for use in external functions needing deterministic randoms.

Public variable

FRandomStream

 

RandStream

Thread local random stream for use in external functions needing non-deterministic randoms.

Public variable

int32

 

StartInstance

Start instance of current chunk.

Public variable

uint32

 

TempBufferSize

Public variable

uint32

 

TempRegisterSize

Public variable

TArray< uint8, ...

 

TempRegTable

Public variable

TArray< FDataSe...

 

ThreadLocalTempData

Public variable

void **

 

UserPtrTable

Table of user pointers.

Public variable

int32

 

ValidInstanceCount

Public variable

int32

 

ValidInstanceIndexStart

Public variable

bool

 

ValidInstanceUniform

Constructors

Name Description

Public function

FVectorVMContext()

Functions

Name Description

Public function

EVectorVMOp

 

DecodeOp()

Decode the next operation contained in the bytecode.

Public function

uintptr_t

 

DecodePtr()

Public function

uint8

 

DecodeSrcOperandTypes()

Public function

uint16

 

DecodeU16()

Public function

uint32

 

DecodeU32()

Public function

uint64

 

DecodeU64()

Public function

uint8

 

DecodeU8()

Public function

void

 

FinishExec()

Public function Const

const T *...

 

GetConstant

(
    int32 Offset
)

Public function Const

const T *...

 

GetConstant

(
    int32 TableIndex,
    int32 TableOffset
)

Public function

FDataSetMeta...

 

GetDataSetMeta

(
    int32 DataSetIndex
)

Public function

T *__res...

 

GetInputRegister

(
    int32 DataSetIndex,
    int32 RegisterIndex
)

Public function Const

int32

 

GetNumInstances()

Public function Const

int32

 

GetNumLoops()

Public function

T *__res...

 

GetOutputRegister

(
    int32 DataSetIndex,
    int32 RegisterIndex
)

Public function Const

int32

 

GetStartInstance()

Public function

uint8 *_...

 

GetTempRegister

(
    int32 RegisterIndex
)

Public function

bool

 

IsParallelExecution()

Public function

void

 

PrepareForChunk

(
    const uint8* InCode,
    int32 InNumInstances,
    int32 InStartInstance
)

Public function

void

 

PrepareForExec

(
    int32 InNumTempRegisters,
    int32 ConstantTableCount,
    const uint8*const* InCons...,
    const int32* InConstantTableSi...,
    FVMExternalFunction* InExterna...,
    void** InUserPtrTable,
    TArrayView< FDataSetMeta > InDataSe...,
    int32 MaxNumInstances,
    bool bInParallelExecution
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss