Bagikan melalui


ID3D12Device4::GetResourceAllocationInfo1(UINT,UINT,constD3D12_RESOURCE_DESC*,D3D12_RESOURCE_ALLOCATION_INFO1*) metode (d3d12.h)

Mendapatkan info kaya tentang ukuran dan penyelarasan memori yang diperlukan untuk kumpulan sumber daya pada adaptor ini. Lihat juga ID3D12Device::GetResourceAllocationInfo.

Selain D3D12_RESOURCE_ALLOCATION_INFO yang dikembalikan dari metode , versi ini juga mengembalikan array struktur D3D12_RESOURCE_ALLOCATION_INFO1, yang memberikan detail tambahan untuk setiap deskripsi sumber daya yang diteruskan sebagai input. Lihat parameter pResourceAllocationInfo1 .

Sintaksis

D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
  [in]  UINT                            visibleMask,
  [in]  UINT                            numResourceDescs,
  [in]  const D3D12_RESOURCE_DESC       *pResourceDescs,
  [out] D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1
);

Parameter

[in] visibleMask

Jenis: UINT

Untuk operasi GPU tunggal, atur ini ke nol. Jika ada beberapa simpul GPU, atur bit untuk mengidentifikasi simpul (adaptor fisik perangkat). Setiap bit dalam masker sesuai dengan satu simpul. Lihat juga sistem multi-adaptor .

[in] numResourceDescs

Jenis: UINT

Jumlah deskriptor sumber daya dalam array pResourceDescs . Ini juga merupakan ukuran (jumlah elemen di) pResourceAllocationInfo1.

[in] pResourceDescs

Jenis: D3D12_RESOURCE_DESC const

Array struktur D3D12_RESOURCE_DESC yang menjelaskan sumber daya untuk mendapatkan info tentang.

[out] pResourceAllocationInfo1

Jenis: D3D12_RESOURCE_ALLOCATION_INFO1*

Array struktur D3D12_RESOURCE_ALLOCATION_INFO1, berisi detail tambahan untuk setiap deskripsi sumber daya yang diteruskan sebagai input. Ini membuatnya lebih sederhana bagi aplikasi Anda untuk mengalokasikan timbunan untuk beberapa sumber daya, dan tanpa menghitung offset secara manual di mana setiap sumber daya harus ditempatkan.

Mengembalikan nilai

Jenis: D3D12_RESOURCE_ALLOCATION_INFO

Struktur D3D12_RESOURCE_ALLOCATION_INFO yang menyediakan info tentang memori video yang dialokasikan untuk array sumber daya yang ditentukan.

Komentar

Saat Anda menggunakan CreatePlacedResource, aplikasi Anda harus menggunakan GetResourceAllocationInfo untuk memahami ukuran dan karakteristik penyelarasan sumber daya tekstur. Hasil metode ini bervariasi tergantung pada adaptor tertentu, dan harus diperlakukan unik untuk adaptor dan versi driver ini.

Aplikasi Anda tidak dapat menggunakan output GetResourceAllocationInfo untuk memahami properti tekstur mip yang dikemas. Untuk memahami properti tekstur mip yang dikemas, aplikasi Anda harus menggunakan GetResourceTiling.

Ukuran sumber daya tekstur secara signifikan berbeda dari informasi yang dikembalikan oleh GetResourceTiling, karena beberapa arsitektur adaptor mengalokasikan memori tambahan untuk tekstur untuk mengurangi bandwidth yang efektif selama skenario penyajian umum. Ini bahkan termasuk tekstur yang memiliki batasan pada tata letak teksturnya, atau memiliki tata letak tekstur standar. Memori tambahan itu tidak dapat dipetakan secara jarang atau dipetakan ulang oleh aplikasi menggunakan CreateReservedResource dan UpdateTileMappings, sehingga tidak dilaporkan oleh GetResourceTiling.

Aplikasi Anda dapat forgo menggunakan GetResourceAllocationInfo untuk sumber daya buffer (D3D12_RESOURCE_DIMENSION_BUFFER). Buffer memiliki ukuran yang sama pada semua adaptor, yang hanya kelipatan terkecil dari 64KB yang lebih besar atau sama dengan D3D12_RESOURCE_DESC::Lebar.

Saat beberapa deskripsi sumber daya diteruskan, algoritma C++ untuk menghitung ukuran struktur dan perataan digunakan. Misalnya, array tiga elemen dengan dua sumber daya kecil yang selaras 64KB dan sumber daya kecil yang selaras dengan 4MB, melaporkan ukuran yang berbeda berdasarkan urutan array. Jika sumber daya selaras 4MB berada di tengah, maka Ukuran yang dihasilkan adalah 12MB. Jika tidak, Ukuran yang dihasilkan adalah 8MB. Perataan yang dikembalikan akan selalu 4MB, karena merupakan superset dari semua perataan dalam array sumber daya.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 10 Build 20348
server minimum yang didukung Windows 10 Build 20348
Platform Target Windows
Header d3d12.h
Pustaka d3d12.lib
DLL d3d12.dll

Lihat juga

ID3D12Device4