METODE ID3D10Device::CopyResource (d3d10.h)
Salin seluruh konten sumber daya sumber ke sumber daya tujuan menggunakan GPU.
Sintaks
void CopyResource(
[in] ID3D10Resource *pDstResource,
[in] ID3D10Resource *pSrcResource
);
Parameter
[in] pDstResource
Jenis: ID3D10Resource*
Penunjuk ke sumber daya tujuan (lihat ID3D10Resource).
[in] pSrcResource
Jenis: ID3D10Resource*
Penunjuk ke sumber daya sumber (lihat ID3D10Resource).
Menampilkan nilai
Tidak ada
Keterangan
Metode ini tidak biasa karena menyebabkan GPU melakukan operasi salin (mirip dengan memcpy oleh CPU). Akibatnya, ia memiliki beberapa batasan yang dirancang untuk meningkatkan performa. Misalnya, sumber daya sumber dan tujuan:
- Harus sumber daya yang berbeda.
- Harus jenis yang sama.
- Harus memiliki dimensi yang identik (termasuk lebar, tinggi, kedalaman, dan ukuran yang sesuai).
- Harus memiliki format yang kompatibel, yang berarti format harus identik atau setidaknya dari grup jenis yang sama. Misalnya, tekstur DXGI_FORMAT_R32G32B32_FLOAT dapat disalin ke tekstur DXGI_FORMAT_R32G32B32_UINT karena kedua format ini berada dalam grup DXGI_FORMAT_R32G32B32_TYPELESS. Dimulai dengan Direct3D 10.1, CopyResource dapat menyalin di antara beberapa jenis format. Untuk informasi selengkapnya, lihat Konversi Format menggunakan Direct3D 10.1.
- Mungkin saat ini tidak dipetakan.
Sumber daya yang tidak dapat diubah, dan stensil kedalaman tidak dapat digunakan sebagai tujuan. Sumber daya yang dibuat dengan kemampuan multisampling tidak dapat digunakan sebagai sumber atau tujuan.
Metode ini adalah panggilan asinkron yang dapat ditambahkan ke antrean buffer perintah. Upaya ini untuk menghapus kios alur yang mungkin terjadi saat menyalin data. Lihat pertimbangan performa untuk detail selengkapnya.
Aplikasi yang hanya perlu menyalin sebagian data dalam sumber daya harus menggunakan ID3D10Device::CopySubresourceRegion sebagai gantinya.
Perbedaan antara Direct3D 10 dan Direct3D 10.1: Direct3D 10.1 memungkinkan sumber daya stensil kedalaman digunakan sebagai sumber atau tujuan. Direct3D 10.1 memungkinkan sumber daya multisampel digunakan sebagai sumber dan tujuan hanya jika sumber dan tujuan memiliki jumlah dan kualitas multisampel yang identik. Jika sumber dan tujuan berbeda dalam jumlah dan kualitas multisampel atau salah satunya multisampled dan yang lain tidak multisampled, panggilan ke ID3D10Device::CopyResource gagal. Dimungkinkan untuk menyalin antara sumber daya yang distruktur+diketik dan tekstur terkompresi blok. Lihat Konversi Format menggunakan Direct3D 10.1. |
Persyaratan
Target Platform | Windows |
Header | d3d10.h |
Pustaka | D3D10.lib |