PFND3D11_1DDI_CREATEPIXELSHADER Rückruffunktion (d3d10umddi.h)

Konvertiert Pixelshadercode in ein hardwarespezifisches Format und ordnet diesen Code einem Shaderhandle zu.

Syntax

PFND3D11_1DDI_CREATEPIXELSHADER Pfnd3d111DdiCreatepixelshader;

void Pfnd3d111DdiCreatepixelshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D11_1DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

pShaderCode

Ein Zeiger auf ein Array von CONST UINT-Token, aus denen der Shadercode besteht. 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 Version 11.1-Shadercodes finden Sie in den Kommentaren in der Headerdatei D3d10tokenizedprogramformat.hpp, die im WDK enthalten ist.

unnamedParam3

hShader [in]

Ein Handle für die privaten Daten des Treibers für den Pixelshader. Der Treiber gibt die Größe des Arbeitsspeicherbereichs in Bytes zurück, den die Microsoft Direct3D-Runtime den privaten Daten aus einem Aufruf der CalcPrivateShaderSize(D3D11_1) -Funktion des Treibers zuordnen muss. Das Handle ist eigentlich nur ein Zeiger auf einen Bereich des Arbeitsspeichers, dessen Größe der Treiber angefordert hat. Der Treiber verwendet diesen Bereich des Arbeitsspeichers, um interne Datenstrukturen zu speichern, die sich auf das Shaderobjekt beziehen.

unnamedParam4

hRTShader [in]

Ein Handle für den Pixelshader, den der Treiber verwenden sollte, wenn er in die Direct3D-Runtime zurückruft.

unnamedParam5

pSignatures [in]

Ein Zeiger auf eine D3D11_1DDIARG_STAGE_IO_SIGNATURES Struktur, die die Signatur des Shaders bildet.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

Der Treiber kann E_OUTOFMEMORY (wenn der Treiber nicht genügend Arbeitsspeicher hat) oder D3DDDIERR_DEVICEREMOVED (wenn das Gerät entfernt wurde) in einem Aufruf der pfnSetErrorCb-Funktion übergeben. Die Direct3D-Runtime bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler, einschließlich D3DDDIERR_DEVICEREMOVED, übergibt, ermittelt die Direct3D-Runtime, dass das Handle falsch 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) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

CalcPrivateShaderSize(D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb