ID3D11DeviceCoNtext2::UpdateTiles 方法 (d3d11_2.h)

從應用程式記憶體複製到磚資源,以更新磚。

語法

void UpdateTiles(
  [in] ID3D11Resource                        *pDestTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pDestTileRegionStartCoordinate,
  [in] const D3D11_TILE_REGION_SIZE          *pDestTileRegionSize,
  [in] const void                            *pSourceTileData,
  [in] UINT                                  Flags
);

參數

[in] pDestTiledResource

類型: ID3D11Resource*

要更新之磚資源的指標。

[in] pDestTileRegionStartCoordinate

類型:const D3D11_TILED_RESOURCE_COORDINATE*

描述磚資源起始座標 之D3D11_TILED_RESOURCE_COORDINATE 結構的指標。

[in] pDestTileRegionSize

類型:const D3D11_TILE_REGION_SIZE*

描述磚區域大小的 D3D11_TILE_REGION_SIZE 結構的指標。

[in] pSourceTileData

類型: const void*

記憶體指標,其中包含 UpdateTiles 用來更新磚資源的源磚資料。

[in] Flags

類型: UINT

使用位 OR 運算結合 的D3D11_TILE_COPY_FLAG型別值組合。 唯一有效的值 是D3D11_TILE_COPY_NO_OVERWRITE。 其他值在此並不有意義,但根據定義, D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE 值基本上是 UpdateTiles 的功能,但來自應用程式記憶體的來源。

傳回值

備註

UpdateTiles 會將寫入作業卸載至未對應的區域 (,但 Tier_1磚資源 除外,其中寫入未對應的區域無效) 。

如果複製作業牽涉到寫入相同的記憶體位置多次,因為目的地資源中的多個位置會對應至相同的磚記憶體,則對多對應磚產生的寫入作業不具決定性且不可重複;也就是說,存取磚記憶體會依硬體執行複製作業的順序發生。

複製作業中涉及的圖格不能包含包含已封裝 Mipmap 或複製作業結果的磚未定義。 若要將資料傳送到硬體套件到一個磚,以及從 Mipmap 傳輸資料到一個磚中, 您必須使用標準 (,也就是非磚特定) 複製和更新 API (,例如 ID3D11DeviceCoNtext1::CopySubresourceRegion1ID3D11DeviceCoNtext1::UpdateSubresource1) 或 ID3D11DeviceCoNtext::GenerateMips

複製作業來源端資料的記憶體配置在 64 KB 圖格內的記憶體中是線性的,每個磚的硬體和驅動程式會視情況來回撥動每個磚,視情況而定。 針對多重取樣反鋸齒 (MSAA) 表面,硬體和驅動程式會在移至下一個圖元之前,以取樣索引順序周遊每個圖元的樣本。 對於在右側部分填滿的磚 (,如果磚已滿,其寬度不是圖元寬度的倍數,) ,則向下移動資料列的間距和步調,是圖格已滿時會容納在磚上之圖元的完整大小。 因此,記憶體中每個圖元資料列之間可能會有一個間距。 小於磚的 Mipmap 不會線上性配置中封裝在一起,這似乎浪費了記憶體空間,但如前所述,您無法使用 ID3D11DeviceCoNtext2::CopyTilesUpdateTiles 來複製到硬體組合在一起的 Mipmap。 您只要使用泛型複製和更新 API (,例如 ID3D11DeviceCoNtext1::CopySubresourceRegion1ID3D11DeviceCoNtext1::UpdateSubresource1) 個別複製小型 Mipmap。 雖然在一般複製 API (例如 ID3D11DeviceCoNtext1::CopySubresourceRegion1) 的情況下,線性記憶體必須與磚資源相同; ID3D11DeviceCoNtext1::CopySubresourceRegion1 無法從緩衝區資源複製到 Texture2D,例如。

如需磚資源的詳細資訊,請參閱 磚資源

規格需求

   
最低支援的用戶端 Windows 8.1 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d3d11_2.h
程式庫 D3D11.lib

另請參閱

ID3D11DeviceContext2