ID3D11FunctionLinkingGraph interface (d3d11shader.h)

A function-linking-graph interface is used for constructing shaders that consist of a sequence of precompiled function calls that pass values to each other.

Note  This interface is part of the HLSL shader linking technology that you can use on all Direct3D 11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.

 

Inheritance

The ID3D11FunctionLinkingGraph interface inherits from the IUnknown interface. ID3D11FunctionLinkingGraph also has these types of members:

Methods

The ID3D11FunctionLinkingGraph interface has these methods.

 
ID3D11FunctionLinkingGraph::CallFunction

Creates a call-function linking node to use in the function-linking-graph.
ID3D11FunctionLinkingGraph::CreateModuleInstance

Initializes a shader module from the function-linking-graph object.
ID3D11FunctionLinkingGraph::GenerateHlsl

Generates Microsoft High Level Shader Language (HLSL) shader code that represents the function-linking-graph.
ID3D11FunctionLinkingGraph::GetLastError

Gets the error from the last function call of the function-linking-graph.
ID3D11FunctionLinkingGraph::PassValue

Passes a value from a source linking node to a destination linking node.
ID3D11FunctionLinkingGraph::PassValueWithSwizzle

Passes a value with swizzle from a source linking node to a destination linking node.
ID3D11FunctionLinkingGraph::SetInputSignature

Sets the input signature of the function-linking-graph.
ID3D11FunctionLinkingGraph::SetOutputSignature

Sets the output signature of the function-linking-graph.

Remarks

To get a function-linking-graph interface, call D3DCreateFunctionLinkingGraph.

You can use the function-linking-graph (FLG) interface methods to construct shaders that consist of a sequence of precompiled function calls that pass values to each other. You don't need to write HLSL and then call the HLSL compiler. Instead, the shader structure is specified programmatically via a C++ API. FLG nodes represent input and output signatures and invocations of precompiled library functions. The order of registering the function-call nodes defines the sequence of invocations. You must specify the input signature node first and the output signature node last. FLG edges define how values are passed from one node to another. The data types of passed values must be the same; there is no implicit type conversion. Shape and swizzling rules follow the HLSL behavior. Values can only be passed forward in this sequence.

Note  ID3D11FunctionLinkingGraph requires the D3dcompiler_47.dll or a later version of the DLL.
 

Requirements

Requirement Value
Target Platform Windows
Header d3d11shader.h

See also

IUnknown

Shader Interfaces