ID3D11DeviceContext2::Metode CopyTileMappings (d3d11_2.h)
Menyalin pemetaan dari sumber daya ubin sumber ke sumber daya ubin tujuan.
Sintaks
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
);
Parameter
[in] pDestTiledResource
Jenis: ID3D11Resource*
Penunjuk ke sumber daya ubin tujuan.
[in] pDestRegionStartCoordinate
Jenis: const D3D11_TILED_RESOURCE_COORDINATE*
Penunjuk ke struktur D3D11_TILED_RESOURCE_COORDINATE yang menjelaskan koordinat awal sumber daya ubin tujuan.
[in] pSourceTiledResource
Jenis: ID3D11Resource*
Penunjuk ke sumber daya ubin sumber.
[in] pSourceRegionStartCoordinate
Jenis: const D3D11_TILED_RESOURCE_COORDINATE*
Penunjuk ke struktur D3D11_TILED_RESOURCE_COORDINATE yang menjelaskan koordinat awal sumber daya ubin sumber.
[in] pTileRegionSize
Jenis: const D3D11_TILE_REGION_SIZE*
Penunjuk ke struktur D3D11_TILE_REGION_SIZE yang menjelaskan ukuran wilayah petak peta.
[in] Flags
Jenis: UINT
Kombinasi nilai D3D11_TILE_MAPPING_FLAGS yang digabungkan dengan menggunakan operasi OR bitwise. Satu-satunya nilai yang valid adalah D3D11_TILE_MAPPING_NO_OVERWRITE, yang menunjukkan bahwa perintah yang dikirimkan sebelumnya ke perangkat yang mungkin masih dijalankan tidak mereferensikan salah satu wilayah petak peta yang sedang diperbarui. Perangkat kemudian dapat menghindari harus membersihkan pekerjaan yang dikirimkan sebelumnya untuk melakukan pembaruan pemetaan petak peta. Jika aplikasi melanggar janji ini dengan memperbarui pemetaan petak peta untuk lokasi di sumber daya ubin yang masih direferensikan oleh perintah yang luar biasa, hasil perilaku penyajian yang tidak terdefinisi, termasuk potensi perlambatan yang signifikan pada beberapa arsitektur. Ini seperti konsep "tidak ada timpa" yang ada di tempat lain di API Direct3D, kecuali diterapkan ke struktur data pemetaan petak peta itu sendiri (yang dalam perangkat keras adalah tabel halaman). Tidak adanya nilai D3D11_TILE_MAPPING_NO_OVERWRITE mengharuskan pembaruan pemetaan petak peta yang ditentukan CopyTileMappings harus diselesaikan sebelum perintah Direct3D berikutnya dapat dilanjutkan.
Mengembalikan nilai
Jenis: HRESULT
Mengembalikan S_OK jika berhasil; jika tidak, mengembalikan salah satu hal berikut:
- Mengembalikan E_INVALIDARG jika berbagai kondisi seperti bendera yang tidak valid atau melewati Sumber Daya non-Petak mengakibatkan panggilan dihentikan. Tujuan dan wilayah sumber masing-masing harus sepenuhnya pas dalam sumber daya atau perilakunya tidak terdefinisi (lapisan debug akan memancarkan kesalahan).
- Mengembalikan E_OUTOFMEMORY jika panggilan menghasilkan driver yang harus mengalokasikan ruang untuk pemetaan tabel halaman baru tetapi kehabisan memori. Jika kehabisan memori terjadi ketika ini dipanggil dalam daftar perintah dan daftar perintah sedang dijalankan, perangkat akan dihapus. Aplikasi dapat menghindari situasi ini hanya dengan melakukan panggilan pembaruan yang mengubah pemetaan yang ada dari Sumber Daya Berjenjang dalam daftar perintah (sehingga driver tidak perlu mengalokasikan memori tabel halaman, hanya mengubah pemetaan).
Keterangan
CopyTileMappings membantu tugas seperti menggeser pemetaan di sekitar dalam dan di seluruh sumber daya petak peta, misalnya, menggulir petak peta. Wilayah sumber dan tujuan dapat tumpang tindih; hasil salinan dalam situasi ini seolah-olah sumber disimpan ke lokasi sementara dan kemudian dari sana ditulis ke tujuan.
Untuk informasi selengkapnya tentang sumber daya berjenjang, lihat Sumber daya berjenjang.
Persyaratan
Klien minimum yang didukung | Windows 8.1 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | d3d11_2.h |
Pustaka | D3D11.lib |