// d3d12umddi.h
typedef struct D3D12DDI_GENERIC_PROGRAM_DESC_0108 {
LPCWSTR ProgramName;
UINT NumExports;
LPCWSTR *pExports;
UINT NumSubobjects;
const D3D12DDI_STATE_SUBOBJECT_0054 const * * pSubobjects;
} D3D12DDI_GENERIC_PROGRAM_DESC_0108;
View the official Windows Driver Kit DDI referenceNo description available.
The D3D12DDI_GENERIC_PROGRAM_DESC_0108 structure describes a generic program state subobject that contains shader exports and associated configuration subobjects within a state object. This structure defines the state subobject of type D3D12DDI_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM.
ProgramNameA wide-character string that specifies the name of the generic program. This name is unique within the given state object and is used to identify the program.
NumExportsThe number of exports from the program. This value determines the number of elements in the pExports array. Can be 0 if the program doesn't export any shader functions.
pExportsPointer to an array of wide-character string pointers (LPCWSTR*), where each string specifies the name of an exported shader function from this program. Each export represents a shader function or entry point that can be referenced by other parts of the state object. Can be NULL if NumExports is 0.
NumSubobjectsThe number of subobjects associated with this generic program. This value determines the number of elements in the pSubobjects array. Can be 0 if the program doesn't have any associated subobjects.
pSubobjectsPointer to an array of pointers to D3D12DDI_STATE_SUBOBJECT_0054 structures. These subobjects provide additional configuration for the generic program, such as root signatures, local root signatures, or other state that applies to the program's exports. Can be NULL if NumSubobjects is 0.
A generic program is a collection of shader code with its exports and associated configuration subobjects within a state object. The runtime validates the generic program before passing this structure to the driver.
For more information, see Generic programs.
PFND3D12DDI_ADD_TO_STATE_OBJECT_0072
PFND3D12DDI_CREATE_STATE_OBJECT_0054