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 を返します。 これがコマンドリストで呼び出され、コマンドリストが実行されているときにメモリ不足が発生した場合、デバイスは削除されます。 アプリケーションは、コマンドリスト内のタイルリソースから既存のマッピングを変更する更新呼び出しのみを実行することで、この状況を回避できます(そのため、ドライバーはページテーブルメモリを割り当てる必要はありません。マッピングのみを変更します)。
解説
CopyTileMappings は 、タイルのスクロールなど、タイル化されたリソース内と複数のリソース間でマッピングをシフトするなどのタスクに役立ちます。 ソースリージョンと移行先リージョンが重複する可能性があります。この状況でのコピーの結果は、ソースが一時場所に保存され、そこから宛先に書き込まれたかのように表示されます。
タイルリソースの詳細については、「 タイルリソース」を参照してください。
要件
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d3d11_2.h |
Library | D3D11.lib |