Navigation
API > API/Plugins > API/Plugins/ComputeFramework
Compute Data Interface required to compile a Compute Graph. Compute Kernels require Data Interfaces to fulfill their external functions. Compute Data Interfaces define how Compute Data Providers will actually marshal data in and out of Kernels.
| Name | UComputeDataInterface |
| Type | class |
| Header File | /Engine/Plugins/Runtime/ComputeFramework/Source/ComputeFramework/Public/ComputeFramework/ComputeDataInterface.h |
| Include Path | #include "ComputeFramework/ComputeDataInterface.h" |
Syntax
UCLASS (MinimalAPI, Abstract, Const)
class UComputeDataInterface : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UComputeDataInterface
Derived Classes
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanSupportUnifiedDispatch() |
Return true if the associated UComputeDataProvider holds data that can be combined into a single dispatch invocation. | ComputeFramework/ComputeDataInterface.h | |
virtual UComputeDataProvider * CreateDataProvider () |
Instantiate an associated UComputeDataProvider. | ComputeFramework/ComputeDataInterface.h | |
virtual UComputeDataProvider * CreateDataProvider
(
TObjectPtr< UObject > InBinding, |
ComputeFramework/ComputeDataInterface.h | ||
virtual UClass * GetBindingType() |
Get class of UObject required to instantiate a UComputeDataProvider from this interface. | ComputeFramework/ComputeDataInterface.h | |
virtual TCHAR const * GetClassName () |
Get a name for referencing the data interface its shader parameter structures. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetDefines
(
FComputeKernelDefinitionSet& OutDefinitionSet |
Gather compile definitions from the data interface. Any connected kernel will compile with these. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetHLSL
(
FString& OutHLSL, |
Gather the shader code for this data provider. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetPermutations
(
FComputeKernelPermutationVector& OutPermutationVector |
Gather permutations from the data interface. | ComputeFramework/ComputeDataInterface.h | |
virtual bool GetRequiresPostSubmitCall() |
Whether PostSubmit should be called when this data is used as a kernel output. | ComputeFramework/ComputeDataInterface.h | |
virtual bool GetRequiresPreSubmitCall() |
Whether PreSubmit should be called when this data is used as a kernel output. | ComputeFramework/ComputeDataInterface.h | |
virtual bool GetRequiresReadback() |
Whether a GPU->CPU readback should be scheduled after this data is used as a kernel output. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetShaderHash
(
FString& InOutKey |
Get a hash that changes on any data interface changes that affect kernel compilation. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetShaderParameters
(
TCHAR const* UID, |
Gather the shader metadata exposed by the data provider payload. | ComputeFramework/ComputeDataInterface.h | |
virtual TCHAR const * GetShaderVirtualPath () |
If the data interface HLSL comes from a file this should fill the virtual file path. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetStructDeclarations
(
TSet< FString >& OutStructsSeen, |
Gather any extra struct types that this data provider relies on. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetSupportedInputs
(
TArray< FShaderFunctionDefinition >& OutFunctions |
Get the data interface functions available to fulfill external inputs of a kernel. | ComputeFramework/ComputeDataInterface.h | |
virtual void GetSupportedOutputs
(
TArray< FShaderFunctionDefinition >& OutFunctions |
Get the data interface functions available to fulfill external outputs of a kernel. | ComputeFramework/ComputeDataInterface.h | |
virtual bool IsExecutionInterface () |
Does the associated UComputeDataProvider provide invocations and thread counts. | ComputeFramework/ComputeDataInterface.h |