CsSetShaderWithIfaces 函式會設定計算著色器程序代碼以及一組介面,讓所有後續分派作業都使用該程式代碼和這些介面。
語法
PFND3D11DDI_SETSHADER_WITH_IFACES Pfnd3d11ddiSetshaderWithIfaces;
void Pfnd3d11ddiSetshaderWithIfaces(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HSHADER unnamedParam2,
[in] UINT NumClassInstances,
const UINT *unnamedParam4,
const D3D11DDIARG_POINTERDATA *unnamedParam5
)
{...}
參數
unnamedParam1
hDevice [in]
顯示裝置的句柄(圖形內容)。
unnamedParam2
hShader [in]
計算著色器程式代碼物件的句柄。
[in] NumClassInstances
介面實作的類別實例數目。
unnamedParam4
pPointerData [in]
D3D11DDIARG_POINTERDATA 結構的陣列。 每個結構描述指派給介面實作之類別實例所參考的數據位置。 陣列中的元素數目是由 NumClassInstances 參數所指定。
unnamedParam5
pIfaces [in]
函式數據表標識碼的陣列。 每個標識碼都會對應至指派給介面實作的類別實例。 陣列中的元素數目是由 NumClassInstances 參數所指定。
傳回值
沒有
言論
驅動程式可以使用 pfnSetErrorCb 回呼函式來設定錯誤碼。
介面實作的每個類別實例都有下列資訊:
- 與該類別實例相關聯的程序代碼
- 該類別實例使用之數據的位置
驅動程式可以在呼叫 pfnSetErrorCb 函式 時傳遞E_OUTOFMEMORY(如果驅動程式記憶體不足)或D3DDDIERR_DEVICEREMOVED(如果已移除裝置)。 Direct3D 運行時間會判斷任何其他錯誤都很重要。 如果驅動程式通過任何包含D3DDDIERR_DEVICEREMOVED的錯誤,Direct3D 運行時間會判斷句柄無效;因此,運行時間不會呼叫 DestroyShader 函式,以終結 hShader 參數指定的句柄。
GsSetShaderWithIfaces 函式會設定幾何著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式代碼和那些介面。
PsSetShaderWithIfaces 函式會設定圖元著色器程式代碼以及一組介面,讓所有後續的繪圖作業都使用該程式代碼和這些介面。
DsSetShaderWithIfaces 函式會設定網域著色器程式代碼以及一組介面,讓所有後續的繪圖作業都使用該程式代碼和這些介面。
HsSetShaderWithIfaces 函式會設定輪廓著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式代碼和這些介面。
VsSetShaderWithIfaces 函式會設定頂點著色器程序代碼以及一組介面,讓所有後續的繪圖作業都使用該程式代碼和這些介面。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 7作系統開始,支援 CsSetShaderWithIfaces。 |
目標平臺 | 桌面 |
標頭 | d3d10umddi.h (包括 D3d10umddi.h) |