struktur DXGI1_3_DDI_BASE_FUNCTIONS (dxgiddi.h)
Berisi penunjuk ke fungsi yang dapat diterapkan oleh driver tampilan Windows Display Driver Model (WDDM) 1.3 dan yang lebih baru untuk melakukan tugas tingkat rendah seperti menyajikan bingkai yang dirender ke output, mengontrol gamma, mendapatkan pemberitahuan mengenai permukaan interoperabilitas Antarmuka Perangkat Grafis (GDI) bersama dan Windows, dan mengelola transisi layar penuh.
Sintaks
typedef struct DXGI1_3_DDI_BASE_FUNCTIONS {
HRESULT()(DXGI_DDI_ARG_PRESENT *) * pfnPresent;
HRESULT()(DXGI_DDI_ARG_GET_GAMMA_CONTROL_CAPS *) * pfnGetGammaCaps;
HRESULT()(DXGI_DDI_ARG_SETDISPLAYMODE *) * pfnSetDisplayMode;
HRESULT()(DXGI_DDI_ARG_SETRESOURCEPRIORITY *) * pfnSetResourcePriority;
HRESULT()(DXGI_DDI_ARG_QUERYRESOURCERESIDENCY *) * pfnQueryResourceResidency;
HRESULT()(DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES *) * pfnRotateResourceIdentities;
HRESULT()(DXGI_DDI_ARG_BLT *) * pfnBlt;
HRESULT()(DXGI_DDI_ARG_RESOLVESHAREDRESOURCE *) * pfnResolveSharedResource;
HRESULT()(DXGI_DDI_ARG_BLT1 *) * pfnBlt1;
HRESULT()(DXGI_DDI_ARG_OFFERRESOURCES *) * pfnOfferResources;
HRESULT()(DXGI_DDI_ARG_RECLAIMRESOURCES *) * pfnReclaimResources;
HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYCAPS *) * pfnGetMultiplaneOverlayCaps;
HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *) * pfnGetMultiplaneOverlayGroupCaps;
HRESULT()(void *) * pfnReserved1;
HRESULT()(DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *) * pfnPresentMultiplaneOverlay;
HRESULT()(void *) * pfnReserved2;
HRESULT()(DXGI_DDI_ARG_PRESENT1 *) * pfnPresent1;
HRESULT()(DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT *) * pfnCheckPresentDurationSupport;
} DXGI1_3_DDI_BASE_FUNCTIONS;
Anggota
pfnPresent
Penunjuk ke fungsi PresentDXGI driver.
pfnGetGammaCaps
Penunjuk ke fungsi GetGammaCapsDXGI driver.
pfnSetDisplayMode
Penunjuk ke fungsi SetDisplayModeDXGI driver.
pfnSetResourcePriority
Penunjuk ke fungsi SetResourcePriorityDXGI driver.
pfnQueryResourceResidency
Penunjuk ke fungsi QueryResourceResidencyDXGI driver.
pfnRotateResourceIdentities
Penunjuk ke fungsi RotateResourceIdentitiesDXGI driver.
pfnBlt
Penunjuk ke fungsi BltDXGI driver.
pfnResolveSharedResource
Penunjuk ke fungsi ResolveSharedResourceDXGI driver.
pfnBlt1
Penunjuk ke fungsi Blt1DXGI driver.
pfnOfferResources
Penunjuk ke fungsi pfnOfferResources driver.
pfnReclaimResources
Penunjuk ke fungsi pfnReclaimResources driver.
pfnGetMultiplaneOverlayCaps
Dipanggil oleh runtime DXGI untuk meminta agar driver tampilan mode pengguna mendapatkan kemampuan bidang overlay dasar. Secara opsional diimplementasikan oleh WDDM 1.3 dan driver tampilan mode pengguna yang lebih baru.
pfnGetMultiplaneOverlayGroupCaps
Dipanggil oleh runtime DXGI untuk meminta agar driver tampilan mode pengguna mendapatkan sekelompok kemampuan bidang overlay. Secara opsional diimplementasikan oleh WDDM 1.3 dan driver tampilan mode pengguna yang lebih baru.
Sintaks
pfnGetMultiplaneOverlayGroupCaps GetMultiplaneOverlayGroupCaps;
HRESULT __stdcall* GetMultiplaneOverlayGroupCaps(
DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *pGroupCaps
)
{ ... }
Parameter
pGroupCaps Penunjuk ke struktur DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS yang menentukan grup kemampuan bidang overlay.
Nilai kembali
Mengembalikan salah satu nilai berikut.
- S_OK Driver berhasil menyediakan kemampuan sarana overlay.
- D3DDDIERR_DEVICEREMOVED Driver mendeteksi bahwa adaptor tampilan telah dihapus, sehingga pengandar tidak menyelesaikan operasi. Jika driver tidak mengetahui penghapusan adaptor, driver tidak diperlukan untuk mengembalikan kode kesalahan ini.
pfnReserved1
Dicadangkan untuk penggunaan sistem.
pfnPresentMultiplaneOverlay
Dipanggil oleh runtime Microsoft DirectX Graphics Infrastructure (DXGI) untuk memberi tahu driver tampilan mode pengguna bahwa aplikasi selesai dirender dan meminta agar driver menampilkan permukaan sumber dengan menyalin atau membalik atau bahwa driver melakukan operasi pengisian warna. Harus diimplementasikan oleh driver Windows Display Driver Model (WDDM) 1.3 atau yang lebih baru yang mendukung overlay multiplane.
Ketika driver tampilan mode pengguna berhasil menyelesaikan pemrosesan panggilan ke fungsi ini, ia menyajikan permukaan sumber ke tampilan dengan memanggil fungsi pfnPresentMultiPlaneOverlayCb (DXGI).
PFND3DDDI_PRESENTMULTIPLANEOVERLAY pfnPresentMultiPlaneOverlay;
HRESULT __stdcall* pfnPresentMultiPlaneOverlay(
DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *pPresentDXGI
)
{ ... }
Parameter
pPresentDXGI Penunjuk ke struktur DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY yang menjelaskan cara menampilkan ke permukaan tujuan.
Nilai kembali
Jika fungsi panggilan balik ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
pfnReserved2
Dicadangkan untuk penggunaan sistem.
pfnPresent1
Memberi tahu driver tampilan mode pengguna bahwa aplikasi selesai dirender dan bahwa semua kepemilikan sumber daya bersama dirilis, dan meminta driver ditampilkan ke permukaan tujuan.
Sintaks
pfnPresent1 Present1DXGI;
HRESULT __stdcall* Present1DXGI(
DXGI_DDI_ARG_PRESENT1 *pPresentData
)
{ ... }
Parameter
pPresentData [in] Penunjuk ke struktur DXGI_DDI_ARG_PRESENT1 yang menjelaskan cara menampilkan ke permukaan tujuan.
Keterangan
Anggota hDevice dari struktur DXGI_DDI_ARG_PRESENT1 yang dituju parameter pPresentData adalah handel yang sama dengan fungsi CreateDevice (D3D10) driver yang diteruskan kembali ke runtime di anggota hDrvDevice dari struktur D3D10DDIARG_CREATEDEVICE . Oleh karena itu, penulis driver harus menentukan jenis handel ini dengan hati-hati. Selain itu, driver dapat menyediakan implementasi yang berbeda dari fungsi pfnPresent1(DXGI) berdasarkan implementasi DDI yang menangani panggilan ke CreateDevice(D3D10). Runtime tidak akan pernah mencampur handel driver di seluruh implementasi DDI.
Anggota pDXGIContextdari DXGI_DDI_ARG_PRESENT1 adalah mekanisme komunikasi buram. Runtime meneruskan konteks DXGI ini ke driver. Driver harus menyalin konteks DXGI ini tidak berubah ke anggota pDXGIContext dari struktur DXGIDDICB_PRESENT ketika driver memanggil fungsi pfnPresentCbDXGI .
Driver harus mengirimkan semua data render yang dibuat sebagian (buffer perintah) menggunakan fungsi pfnRenderCb , dan driver harus melakukan satu panggilan ke pfnPresentCbDXGI. Saat memanggil salah satu panggilan balik ini, driver harus mengikuti aturan utas fungsi PresentDXGI .
Aturan utas
Aturan ini berlaku apakah driver mendukung utas gratis atau tidak:
- Driver menunjukkan dukungan untuk utas gratis dengan mengatur anggota Caps dari struktur D3D11DDI_THREADING_CAPS ke D3D11DDICAPS_FREETHREADED. Dalam hal ini:
- Hanya satu utas yang dapat bekerja terhadap handel konteks HCONTEXT pada satu waktu.
- Driver harus memanggil pfnPresentCbDXGI hanya ketika fungsi pfnPresent1 (DXGI) driver dipanggil, dan dengan utas yang sama yang disebut pfnPresent1(DXGI).
- Ketika driver tidak menunjukkan dukungan untuk utas bebas, driver hanya dapat memanggil fungsi panggilan balik ketika utas telah dipanggil ke driver. Driver juga masih harus memanggil panggilan balik pfnPresentCbDXGI dalam konteks pfnPresent1(DXGI).
pfnCheckPresentDurationSupport
Penunjuk ke fungsi pfnCheckPresentDurationSupport (DXGI) driver.
Keterangan
Untuk informasi selengkapnya tentang cara menggunakan struktur ini, lihat Mendukung DXGI DDI.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8.1,WDDM 1.3 dan yang lebih baru |
Server minimum yang didukung | Windows Server 2012 R2 |
Header | dxgiddi.h (termasuk D3d10umddi.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk