D3D12SerializeVersionedRootSignature 函式 (d3d12.h)
串行化任何可以傳遞至 ID3D12Device::CreateRootSignature之版本的根簽章。
語法
HRESULT D3D12SerializeVersionedRootSignature(
[in] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
[out] ID3DBlob **ppBlob,
[out, optional] ID3DBlob **ppErrorBlob
);
參數
[in] pRootSignature
類型: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*
指定包含任何根簽章版本描述的 D3D12_VERSIONED_ROOT_SIGNATURE_DESC 。
[out] ppBlob
類型: ID3DBlob**
記憶體區塊的指標,接收 ID3DBlob 介面的指標,可用來存取串行化的根簽章。
[out, optional] ppErrorBlob
類型: ID3DBlob**
記憶體區塊的指標,可接收 ID3DBlob 介面的指標,您可以在沒有任何錯誤時用來存取串行化程式錯誤訊息,或 NULL 。
傳回值
類型: HRESULT
如果成功 , 則傳回S_OK;否則,會傳回其中一個 Direct3D 12 傳回碼。
備註
如果應用程式在程式上產生D3D12_ROOT_SIGNATURE_DESC1數據結構,則必須在呼叫 D3D12SerializeVersionedRootSignature 中傳遞這個D3D12_ROOT_SIGNATURE_DESC1指標,以建立串行化表單。 然後,應用程式會將 ppBlob 指向 ID3D12Device::CreateRootSignature 的串行化表單傳遞至其中。
如果著色器已在其中撰寫根簽章,則編譯的著色器將包含已串行化的根簽章。 在此情況下,將編譯的著色器 Blob 傳遞至 ID3D12Device::CreateRootSignature ,以取得運行時間根簽章物件。
請注意,對於 Xbox 開發人員,強烈建議您使用 HLSL 撰寫的根簽章。
函式簽章PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE是以 typedef 的形式提供,因此您可以使用動態鏈接技術 (GetProcAddress) ,而不是靜態連結。
此函式已透過 Windows 10 Anniversary Update (14393) 發行,並取代 D3D12SerializeRootSignature。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |