PFND3D11DDI_CREATEDOMAINSHADER Rückruffunktion (d3d10umddi.h)
Die CreateDomainShader-Funktion erstellt einen Domänenshader.
Syntax
PFND3D11DDI_CREATEDOMAINSHADER Pfnd3d11ddiCreatedomainshader;
void Pfnd3d11ddiCreatedomainshader(
D3D10DDI_HDEVICE unnamedParam1,
const UINT *pShaderCode,
D3D10DDI_HSHADER unnamedParam3,
D3D10DDI_HRTSHADER unnamedParam4,
const D3D11DDIARG_TESSELLATION_IO_SIGNATURES *unnamedParam5
)
{...}
Parameter
unnamedParam1
hDevice [in]
Ein Handle für das Anzeigegerät (Grafikkontext).
pShaderCode
Ein Array von CONST-UINT-Token, die den Shadercode bilden. Das erste Token im Shadercodestream ist immer das Versionstoken. Das nächste Token im Stream ist das Längentoken, das das Ende des Shadercodestreams bestimmt. Weitere Informationen zum Format des Direct3D-Shadercodes der Version 11 finden Sie in den Kommentaren in der Headerdatei D3d11tokenizedprogramformat.hpp , die im WDK enthalten ist.
unnamedParam3
hShader [in]
Ein Handle für die privaten Daten des Treibers für den Domänenshader. Der Treiber gibt die Größe des Arbeitsspeicherbereichs in Bytes zurück, den die Microsoft Direct3D-Runtime für die privaten Daten aus einem Aufruf der CalcPrivateTessellationShaderSize-Funktion des Treibers zuordnen muss. Das Handle ist nur ein Zeiger auf einen Speicherbereich, dessen Größe der Treiber angefordert hat. Der Treiber verwendet diesen Bereich des Arbeitsspeichers, um interne Datenstrukturen zu speichern, die sich auf sein Tessellation-Shader-Objekt beziehen.
unnamedParam4
hRTShader [in]
Ein Handle für den Domänenshader, den der Treiber verwenden soll, wenn er die Direct3D-Runtime zurückruft.
unnamedParam5
pSignatures [in]
Ein Zeiger auf eine D3D11DDIARG_TESSELLATION_IO_SIGNATURES Struktur, die die Signatur des Tessellation-Shaders bildet.
Rückgabewert
Keine
Bemerkungen
Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.
Der Treiber kann in einem Aufruf der pfnSetErrorCb-Funktion E_OUTOFMEMORY (wenn dem Treiber der Arbeitsspeicher fehlt) oder D3DDDIERR_DEVICEREMOVED (wenn das Gerät entfernt wird) übergeben. Die Direct3D-Runtime bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler übergibt, einschließlich D3DDDIERR_DEVICEREMOVED, stellt die Direct3D-Runtime fest, dass das Handle ungültig ist. Daher ruft die Runtime die DestroyShader-Funktion nicht auf, um das Handle zu zerstören, das der hShader-Parameter angibt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | CreateDomainShader wird ab dem Windows 7-Betriebssystem unterstützt. |
Zielplattform | Desktop |
Kopfzeile | d3d10umddi.h (einschließlich D3d10umddi.h) |
Weitere Informationen
CalcPrivateTessellationShaderSize