ID3D11DeviceCoNtext2::CopyTileMappings 方法 (d3d11_2.h)
將對應從來源並排資源複製到目的地並排顯示的資源。
語法
HRESULT CopyTileMappings(
[in] ID3D11Resource *pDestTiledResource,
[in] const D3D11_TILED_RESOURCE_COORDINATE *pDestRegionStartCoordinate,
[in] ID3D11Resource *pSourceTiledResource,
[in] const D3D11_TILED_RESOURCE_COORDINATE *pSourceRegionStartCoordinate,
[in] const D3D11_TILE_REGION_SIZE *pTileRegionSize,
[in] UINT Flags
);
參數
[in] pDestTiledResource
類型: ID3D11Resource*
目的地並排資源的指標。
[in] pDestRegionStartCoordinate
類型:const D3D11_TILED_RESOURCE_COORDINATE*
D3D11_TILED_RESOURCE_COORDINATE結構的指標,描述目的地並排式資源的開始座標。
[in] pSourceTiledResource
類型: ID3D11Resource*
來源並排資源的指標。
[in] pSourceRegionStartCoordinate
類型:const D3D11_TILED_RESOURCE_COORDINATE*
D3D11_TILED_RESOURCE_COORDINATE結構的指標,描述來源並排資源之開始座標。
[in] pTileRegionSize
類型:const D3D11_TILE_REGION_SIZE*
描述磚區域大小的 D3D11_TILE_REGION_SIZE 結構的指標。
[in] Flags
類型: UINT
使用位 OR 運算結合 的D3D11_TILE_MAPPING_FLAGS 值組合。 唯一有效的值 是D3D11_TILE_MAPPING_NO_OVERWRITE,這表示先前提交命令給可能仍在執行的裝置不會參考任何正在更新的磚區域。 然後,裝置可以避免必須排清先前提交的工作,才能執行磚對應更新。 如果應用程式藉由更新磚對應來更新磚資源中仍受未處理命令參考的位置,則應用程式違反此承諾,包括某些架構可能會大幅變慢的可能性。 這就像 Direct3D API 中其他地方的「無覆寫」概念,但套用至磚對應資料結構本身, (硬體中的頁面資料表) 。 如果沒有 D3D11_TILE_MAPPING_NO_OVERWRITE 值,必須先完成 CopyTileMappings 所指定的磚對應更新,才能繼續任何後續的 Direct3D 命令。
傳回值
類型: HRESULT
如果成功,則傳回S_OK;否則,傳回下列其中一項:
- 如果無效旗標或傳入非並排式資源等各種條件導致呼叫中斷,則傳回 E_INVALIDARG 。 dest 和來源區域必須完全符合其資源或行為, (偵錯層將發出錯誤) 。
- 如果呼叫導致驅動程式必須為新的分頁表對應配置空間,但記憶體不足,則傳回 E_OUTOFMEMORY 。 如果在命令清單中呼叫此專案且正在執行 commandlist 時發生記憶體不足,則會移除裝置。 應用程式只能執行更新呼叫來變更命令清單內磚資源的現有對應, (因此驅動程式不需要配置分頁表記憶體,而只會變更對應) 。
備註
CopyTileMappings 可協助工作,例如在並排顯示的資源之間移動對應,例如捲動磚。 來源和目的地區域可以重迭;在此情況下,複本的結果就像來源儲存到暫存位置,然後從該處寫入目的地一樣。
如需並排資源的詳細資訊,請參閱 並排資源。
規格需求
最低支援的用戶端 | Windows 8.1 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d3d11_2.h |
程式庫 | D3D11.lib |