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
[in] pResourceDescs
Jenis:
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
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 |