PFND3D11_1DDI_RESOURCECOPYREGION fungsi panggilan balik (d3d10umddi.h)
Menyalin wilayah subresource sumber ke lokasi di subresource tujuan.
Sintaks
PFND3D11_1DDI_RESOURCECOPYREGION Pfnd3d111DdiResourcecopyregion;
void Pfnd3d111DdiResourcecopyregion(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3,
UINT unnamedParam4,
UINT unnamedParam5,
UINT unnamedParam6,
D3D10DDI_HRESOURCE unnamedParam7,
UINT unnamedParam8,
const D3D10_DDI_BOX *unnamedParam9,
[in] UINT CopyFlags
)
{...}
Parameter
unnamedParam1
hDevice [in]
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
hDstResource [in]
Handel ke sumber daya tujuan untuk disalin.
unnamedParam3
DstSubresource [in]
Indeks yang menunjukkan sub sumber daya tujuan untuk disalin.
unnamedParam4
DstX [in]
Koordinat x subresource tujuan.
unnamedParam5
DstY [in]
Koordinat y subsumber daya tujuan. Untuk subsumber daya satu dimensi (1-D), DstY diatur ke nol.
unnamedParam6
DstZ [in]
Koordinat z subsumber daya tujuan. Untuk subresource satu dimensi (1-D) dan dua dimensi (2-D), DstZ diatur ke nol.
unnamedParam7
hSrcResource [in]
Handel ke sumber daya sumber untuk disalin.
unnamedParam8
SrcSubresource [in]
Indeks yang menunjukkan subsumber daya sumber untuk disalin.
unnamedParam9
pSrcBox [in, opsional]
Penunjuk ke struktur D3D10_DDI_BOX yang menentukan kotak yang pas pada subresource sumber atau tujuan. Jika pSrcBoxNULL, driver harus menyalin seluruh subresouce sumber ke tujuan.
Jika anggota struktur D3D10_DDI_BOX sedih sehingga kiri>=kanan, atas>=bawah, atau depan>=belakang, maka pSrcBox dianggap kosong, dan ResourceCopyRegion(D3D11_1) tidak boleh melakukan operasi penyalinan apa pun.
[in] CopyFlags
Nilai yang menentukan karakteristik operasi salin sebagai bitwise ATAU dari nilai dalam jenis enumerasi D3D11_1_DDI_COPY_FLAGS .
Menampilkan nilai
Tidak ada
Keterangan
Driver dapat menggunakan fungsi panggilan balik pfnSetErrorCb untuk mengatur kode kesalahan.
Runtime Microsoft Direct3D memanggil fungsi ResourceCopyRegion (D3D11_1) driver tampilan mode pengguna untuk menginformasikan driver untuk menyalin dari wilayah subresource sumber yang ditentukan ke lokasi pada sub sumber daya tujuan yang ditentukan. Subsumber daya sumber dan tujuan dapat menjadi sub sumber daya yang sama dari sumber daya yang sama. Sumber daya sumber dan tujuan harus memiliki jenis sumber daya yang sama dan harus memiliki jenis format (nilai DXGI_FORMAT-jenis) yang dapat dikonversi satu sama lain.
Untuk buffer, semua koordinat harus dalam byte; sedangkan untuk tekstur, semua koordinat harus dalam piksel. Kotak yang dituju parameter pSrcBox tidak boleh meluas di tepi wilayah sub sumber atau subresource tujuan. Sumber dan sumber daya tujuan saat ini tidak boleh dipetakan. Selain itu, bendera pembuatan sumber daya membatasi apakah sumber daya dapat berpartisipasi dalam operasi penyalinan.
Driver tidak boleh mengalami kesalahan, kecuali untuk D3DDDIERR_DEVICEREMOVED. Oleh karena itu, jika driver melewati kesalahan apa pun, kecuali untuk D3DDDIERR_DEVICEREMOVED, dalam panggilan ke fungsi pfnSetErrorCb , runtime Direct3D akan menentukan bahwa kesalahan sangat penting. Bahkan jika perangkat dihapus, driver tidak diperlukan untuk mengembalikan D3DDDIERR_DEVICEREMOVED; namun, jika penghapusan perangkat mengganggu pengoperasian (yang biasanya tidak boleh terjadi), driver dapat kembali D3DDDIERR_DEVICEREMOVED.
Driver dapat menerapkan fungsi ResourceCopyRegion(D3D11_1) yang dapat berisi pernyataan sakelar untuk memproses penyalinan dan konversi. Artinya, driver dapat menerapkan satu ResourceCopyRegion(D3D11_1) dan dapat mengatur anggota pfnResourceConvertRegion dari struktur D3D11_1DDI_DEVICEFUNCS untuk menunjuk ke ResourceCopyRegion(D3D11_1) bersama dengan anggota pfnResourceCopyRegionD3D11_1DDI_DEVICEFUNCS. Namun, untuk meningkatkan performa, driver dapat menerapkan fungsi ResourceCopyRegion(D3D11_1) dan ResourceConvertRegion(D3D11_1) terpisah.
Bagian berikut ini mencantumkan kondisi untuk menyalin dan mengonversi:
Menyalin
Untuk penyalinan, ResourceCopyRegion(D3D11_1) memastikan bahwa sumber daya sumber dan tujuan dibuat melalui fungsi CreateResource (D3D11) driver dengan kondisi berikut:
- Sumber daya tujuan tidak dibuat dengan nilai D3D10_DDI_USAGE_IMMUTABLE yang ditetapkan dalam anggota Penggunaan struktur D3D11DDIARG_CREATERESOURCE .
- Jika sumber daya sumber atau tujuan memiliki bit D3D10_DDI_BIND_DEPTH_STENCIL yang diatur dalam anggota BindFlags dari D3D10DDIARG_CREATERESOURCE atau merupakan sumber daya multi-sampel, ResourceCopyRegion(D3D11_1) memverifikasi bahwa parameter pSrcBox adalah NULL, sementara parameter DstX, DstY, dan DstZ adalah 0.
- Indeks sub-sumber daya berada dalam rentang.
- Pembatasan perataan berlaku untuk koordinat.
- Sumber daya sumber dan tujuan bukan bagian dari subsumber daya yang sama persis.
- Setiap format sumber daya sumber dan tujuan yang ditentukan dalam format anggotaD3D11DDIARG_CREATERESOURCE berada dalam grup tanpa jenis yang sama.
- Sumber daya sumber dan tujuan harus memiliki jumlah sampel dan tingkat kualitas yang sama; kecuali untuk sumber daya sampel tunggal, yang hanya boleh memiliki jumlah sampel yang sama.
Mengkonversi
Untuk konversi, ResourceCopyRegion(D3D11_1) memastikan bahwa sumber daya sumber dan tujuan dibuat melalui fungsi CreateResource (D3D11) driver dengan kondisi berikut:
- Sumber daya tujuan tidak dibuat dengan nilai D3D10_DDI_USAGE_IMMUTABLE yang ditetapkan dalam anggota Penggunaan struktur D3D11DDIARG_CREATERESOURCE .
- Jika sumber daya sumber atau tujuan memiliki bit D3D10_DDI_BIND_DEPTH_STENCIL yang diatur dalam anggota BindFlagsD3D11DDIARG_CREATERESOURCE atau merupakan sumber daya multi-sampel, ResourceCopyRegion(D3D11_1) memverifikasi bahwa parameter pSrcBox adalah NULL, sementara parameter DstX, DstY, dan DstZ adalah 0.
- Indeks sub-sumber daya berada dalam rentang.
- Pembatasan perataan berlaku untuk koordinat.
- Sumber daya sumber dan tujuan bukan bagian dari subsumber daya yang sama persis.
- Setiap format sumber daya sumber dan tujuan yang ditentukan dalam format anggotaD3D11DDIARG_CREATERESOURCE berada dalam grup tanpa jenis yang sama.
- Setiap format sumber daya sumber dan tujuan yang ditentukan dalam format anggotaD3D11DDIARG_CREATERESOURCE mendukung operasi konversi yang sesuai.
- Sumber daya sumber dan tujuan harus memiliki jumlah sampel dan tingkat kualitas yang sama; kecuali untuk sumber daya sampel tunggal, yang hanya boleh memiliki jumlah sampel yang sama.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 |
Server minimum yang didukung | Windows Server 2012 |
Target Platform | Desktop |
Header | d3d10umddi.h (termasuk D3d10umddi.h) |