ID3D11FunctionLinkingGraph interface

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.

 

Methods

The ID3D11FunctionLinkingGraph interface has these methods.

Method Description
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

   
Target Platform Windows
Header d3d11shader.h

See Also

IUnknown

Shader Interfaces