METODE ID3D11DeviceContext2::UpdateTiles (d3d11_2.h)

Updates petak peta dengan menyalin dari memori aplikasi ke sumber daya petak peta.

Sintaks

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
);

Parameter

[in] pDestTiledResource

Jenis: ID3D11Resource*

Penunjuk ke sumber daya berjenjang untuk diperbarui.

[in] pDestTileRegionStartCoordinate

Jenis: const D3D11_TILED_RESOURCE_COORDINATE*

Penunjuk ke struktur D3D11_TILED_RESOURCE_COORDINATE yang menjelaskan koordinat awal sumber daya ubin.

[in] pDestTileRegionSize

Jenis: const D3D11_TILE_REGION_SIZE*

Penunjuk ke struktur D3D11_TILE_REGION_SIZE yang menjelaskan ukuran wilayah petak peta.

[in] pSourceTileData

Jenis: const void*

Pointer ke memori yang berisi data petak peta sumber yang digunakan UpdateTiles untuk memperbarui sumber daya ubin.

[in] Flags

Jenis: UINT

Kombinasi nilai D3D11_TILE_COPY_FLAG-ketik yang digabungkan dengan menggunakan operasi OR bitwise. Satu-satunya nilai yang valid adalah D3D11_TILE_COPY_NO_OVERWRITE. Nilai lain tidak bermakna di sini, meskipun menurut definisi nilai D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE pada dasarnya adalah apa yang dilakukan UpdateTiles , tetapi sumber dari memori aplikasi.

Nilai kembali

Tidak ada

Keterangan

UpdateTiles menghilangkan operasi tulis ke area yang tidak dipetakan (kecuali pada sumber daya petak Tier_1 , di mana penulisan ke area yang tidak dipetakan tidak valid).

Jika operasi salin melibatkan penulisan ke lokasi memori yang sama beberapa kali karena beberapa lokasi di sumber daya tujuan dipetakan ke memori petak peta yang sama, operasi tulis yang dihasilkan ke petak peta multi-dipetakan tidak deterministik dan tidak dapat diulang; artinya, akses ke memori petak peta terjadi dalam urutan apa pun yang terjadi perangkat keras untuk menjalankan operasi salin.

Petak peta yang terlibat dalam operasi salin tidak dapat menyertakan petak peta yang berisi mipmap yang dikemas atau hasil operasi salin tidak terdefinisi. Untuk mentransfer data ke dan dari mipmap yang dikemas perangkat keras ke dalam satu petak peta, Anda harus menggunakan API salinan dan pembaruan standar (yaitu, khusus non-petak peta) (seperti ID3D11DeviceContext1::CopySubresourceRegion1 dan ID3D11DeviceContext1::UpdateSubresource1) atau ID3D11DeviceContext::GenerateMips untuk seluruh rantai mipmap.

Tata letak memori data di sisi sumber operasi salin linier dalam memori dalam petak peta 64 KB, yang dipersempit perangkat keras dan driver dan deswizzle per petak peta yang sesuai ketika mereka mentransfer ke dan dari sumber daya ubin. Untuk permukaan multisample antialiasing (MSAA), perangkat keras dan driver melintasi setiap sampel piksel dalam urutan indeks sampel sebelum berpindah ke piksel berikutnya. Untuk petak peta yang diisi sebagian di sisi kanan (untuk permukaan yang memiliki lebar bukan kelipatan lebar petak dalam piksel), pitch dan langkah untuk memindahkan ke bawah baris adalah ukuran penuh dalam byte dari piksel angka yang akan pas di seluruh petak jika petak peta penuh. Jadi, mungkin ada celah antara setiap baris piksel dalam memori. Mipmaps yang lebih kecil dari petak peta tidak dikemas bersama-sama dalam tata letak linier, yang mungkin tampaknya membuang-buang ruang memori, tetapi seperti yang disebutkan Anda tidak dapat menggunakan ID3D11DeviceContext2::CopyTiles atau UpdateTiles untuk menyalin ke mipmaps yang dikemas perangkat keras bersama-sama. Anda hanya dapat menggunakan API salinan dan pembaruan generik (seperti ID3D11DeviceContext1::CopySubresourceRegion1 dan ID3D11DeviceContext1::UpdateSubresource1) untuk menyalin mipmap kecil satu per satu. Meskipun dalam kasus API salinan generik (seperti ID3D11DeviceContext1::CopySubresourceRegion1), memori linier harus dimensi yang sama dengan sumber daya ubin; ID3D11DeviceContext1::CopySubresourceRegion1 tidak dapat menyalin dari sumber daya buffer ke Texture2D misalnya.

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

Lihat juga

ID3D11DeviceContext2