Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan fitur overlay multiplane (MPO) yang diperkenalkan di Windows 8.1 (WDDM 1.3). Ini mencantumkan fungsi yang disediakan oleh sistem dan diimplementasikan oleh driver untuk mendukung fitur ini dalam driver tampilan dalam mode pengguna (UMD) dan driver miniport tampilan dalam mode kernel (KMD) di WDDM 1.3 dan yang lebih baru. Ini juga mencantumkan struktur dan enumerasi yang digunakan dengan MPOs.
Dukungan MPO memungkinkan perangkat keras grafis untuk menyusun beberapa lapisan konten ke dalam satu gambar yang kemudian dapat ditampilkan di layar. Ini pada dasarnya adalah metode yang dipercepat oleh perangkat keras untuk pengomposisian lapisan konten yang berbeda tanpa melibatkan CPU atau menggunakan sumber daya sistem lain untuk melakukan pencampuran dalam perangkat lunak. Pesawat bisa berupa video, desktop, jendela aplikasi, dan sebagainya. Perangkat keras kemudian dapat mengambil lapisan ini dan menggabungkannya menjadi satu gambar yang dikirim ke layar.
Fungsi MPO yang dipanggil oleh driver tampilan mode pengguna
Tabel berikut mencantumkan fungsi-fungsi MPO mode pengguna yang diimplementasikan oleh sistem operasi dan yang dapat dipanggil oleh driver tampilan mode pengguna (UMD).
| Fungsi | Deskripsi |
|---|---|
| D3D: pfnPresentMultiPlaneOverlayCb | Menyalin konten dari alokasi MPO sumber ke alokasi tujuan. |
| DXGI: pfnPresentMultiPlaneOverlayCb | Menyalin konten dari alokasi MPO sumber ke alokasi tujuan. |
Fungsi MPO yang diimplementasikan oleh UMD
Bagian ini berisi fungsi yang harus diterapkan WDDM 1.3 dan UMD yang lebih baru untuk mendukung MPO.
Direct3D: UMD memasok pointer ke fungsi MPO D3D melalui anggota struktur D3DDDI_DEVICEFUNCS dalam panggilan ke fungsi CreateDevice UMD.
DXGI: UMD memasok pointer ke fungsi MPO DXGI melalui anggota struktur DXGI1_3_DDI_BASE_FUNCTIONS ketika fungsi CreateDevice (D3D10) khusus adaptornya dipanggil. Untuk informasi selengkapnya, lihat Mendukung DXGI DDI.
Tabel berikut mencantumkan fungsi yang harus diterapkan UMD untuk mendukung MPO.
| Fungsi | Deskripsi |
|---|---|
| pfnCheckMultiPlaneOverlaySupport (D3D) | Dipanggil oleh runtime D3D untuk memeriksa detail tentang dukungan perangkat keras untuk MPO. |
| pfnCheckMultiPlaneOverlaySupport (DXGI) | Dipanggil oleh runtime DirectX Graphics Infrastructure (DXGI) untuk memeriksa detail dukungan perangkat keras terhadap MPO. |
| pfnPresentMultiplaneOverlay (D3D) | Dipanggil oleh runtime D3D untuk memberi tahu UMD bahwa aplikasi telah menyelesaikan proses rendering dan meminta UMD untuk menampilkan permukaan sumber. Driver harus menampilkan permukaan ini dengan menyalin, membalik, atau melakukan operasi pengisian warna. |
| pfnPresentMultiplaneOverlay (DXGI) | Dipanggil oleh runtime DXGI untuk memberi tahu UMD bahwa aplikasi tersebut telah menyelesaikan proses render-nya dan sehingga UMD diminta untuk menampilkan permukaan sumber tersebut. UMD harus menampilkan permukaan dengan menyalin, membalik, atau melakukan operasi pengisian warna. |
Tabel berikut mencantumkan fungsi DXGI DDI yang dapat diterapkan UMD secara opsional.
| Fungsi | Deskripsi |
|---|---|
| pfnGetMultiPlaneOverlayCaps | Dipanggil oleh runtime DXGI untuk meminta agar UMD mendapatkan fitur dasar bidang overlay. |
| pfnGetMultiplaneOverlayGroupCaps | Dihubungi oleh runtime DXGI untuk meminta agar UMD mendapatkan sekelompok kemampuan lapisan overlay. |
Struktur dan enumerasi mode pengguna MPO
Bagian ini mencantumkan struktur dan enumerasi mode pengguna yang digunakan dengan MPO DDI.
| Struct/Enum | Deskripsi |
|---|---|
| D3DDDI_MULTIPLANE_ALLOCATION_INFO | Menentukan info tentang alokasi MPO. |
| D3DDDI_MULTIPLANE_OVERLAY_ATTRIBUTES | Digunakan oleh UMD untuk menentukan atribut bidang overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_BLEND | Mengidentifikasi operasi campuran yang akan dilakukan pada bidang overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_CAPS | Digunakan oleh UMD untuk menentukan kemampuan dari lapisan overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_FEATURE_CAPS | Mengidentifikasi kemampuan overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_FLAGS | Mengidentifikasi operasi balik yang akan dilakukan pada bidang overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS | Digunakan oleh UMD untuk menentukan sekelompok kemampuan bidang overlay. |
| D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS_INPUT | Merincikan info tentang grup kemampuan MPO. |
| D3DDDI_MULTIPLANE_OVERLAY_STRETCH_QUALITY | Mengidentifikasi proses pemfilteran yang harus dilakukan perangkat keras saat meregangkan atau menyusutkan data MPO. |
| D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | Mengidentifikasi format bingkai video bidang overlay. Hanya nilai D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE yang didukung. |
| D3DDDI_MULTIPLANE_OVERLAY_YCbCr_FLAGS | Mengidentifikasi rentang YUV dan informasi konversi yang menguraikan MPO. |
| D3DDDI_PRESENT_MULTIPLANE_OVERLAY | Menentukan bidang overlay yang akan ditampilkan. |
| D3DDDIARG_CHECKMULTIPLANEOVERLAYSUPPORT | Digunakan dalam panggilan ke fungsi pfnCheckMultiPlaneOverlaySupport (D3D) untuk memeriksa detail dukungan perangkat keras untuk MPO. |
| D3DDDIARG_PRESENTMULTIPLANEOVERLAY | Menentukan sumber daya MPO yang akan ditampilkan. |
| D3DDDICB_PRESENTMULTIPLANEOVERLAY | Menjelaskan alokasi MPO yang kontennya disalin ke dan dari. |
Fungsi yang diimplementasikan oleh driver mode kernel MPO
Tabel berikut mencantumkan fungsi MPO yang diimplementasikan oleh driver miniport tampilan mode kernel (KMD).
| Fungsi | Deskripsi |
|---|---|
| DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT | Dipanggil oleh subsistem kernel grafis DirectX untuk memeriksa detail dukungan perangkat keras untuk MPO. |
| DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 | Fungsi berikut dipanggil untuk menentukan apakah konfigurasi lapisan multi-bidang tertentu didukung. |
| DXGKDDI_GETMULTIPLANEOVERLAYCAPS | Dipanggil untuk mengakses kapabilitas MPO. Dukungan untuk DDI ini diperlukan untuk setiap WDDM 2.2 KMD yang ingin mendukung beberapa lapisan. |
| DXGKDDI_POSTMULTIPLANEOVERLAYPRESENT | Dipanggil setelah konfigurasi lapisan multi-bidang baru berfungsi, memungkinkan KMD mengoptimalkan kondisi perangkat keras. Opsional untuk KMD WDDM 1.3 atau yang lebih baru yang mendukung penampang multi-bidang. |
| DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 | Dipanggil untuk mengubah konfigurasi overlay yang ditampilkan. |
| DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT2 | DxgkDdiCheckMultiPlaneOverlaySupport2 dipanggil untuk menentukan apakah konfigurasi overlay multi-bidang tertentu didukung. |
| DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | Mengatur alamat beberapa permukaan yang terkait dengan sumber sajian video tertentu. Permukaan ini adalah bagian dari swapchain Desktop Window Manager (DWM). Fungsi ini digunakan untuk menyajikan beberapa permukaan (termasuk swapchain DWM) ke layar. |
| DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 dipanggil untuk mengubah konfigurasi overlay yang ditampilkan. |
Struktur MPO mode kernel
Tabel berikut mencantumkan struktur yang digunakan KMD.
| Struktur | Deskripsi |
|---|---|
| DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_PLANE | Menentukan atribut dukungan yang disediakan perangkat keras untuk MPO. |
| DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_RETURN_INFO | Menentukan batasan pada dukungan perangkat keras MPO. |
| DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES | Digunakan oleh KMD untuk menentukan atribut bidang overlay. |
| DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 | DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 digunakan oleh KMD untuk menentukan atribut bidang overlay. |
| DXGK_MULTIPLANE_OVERLAY_BLEND | Mengidentifikasi operasi campuran yang akan dilakukan pada bidang overlay. |
| DXGK_MULTIPLANE_OVERLAY_FLAGS | Mengidentifikasi operasi balik yang akan dilakukan pada bidang overlay. |
| DXGK_MULTIPLANE_OVERLAY_PLANE | Menentukan bidang overlay untuk ditampilkan dalam panggilan ke fungsi DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay. |
| DXGK_MULTIPLANE_OVERLAY_PLANE2 | DXGK_MULTIPLANE_OVERLAY_PLANE2 digunakan dengan fungsi DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 untuk menentukan bidang overlay yang akan ditampilkan. |
| DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE | DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE menjelaskan atribut bidang overlay multi-bidang, alokasi, dan video yang menyajikan nomor identifikasi sumber jaringan. |
| DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO | Menentukan bidang overlay yang akan ditampilkan selama interval VSync. |
| DXGK_MULTIPLANE_OVERLAY_YCbCr_FLAGS | Mengidentifikasi rentang YUV dan informasi konversi yang menguraikan MPO. |
| DXGK_PRESENTMULTIPLANEOVERLAYINFO | Menentukan info tentang input VidPN dan bidang overlay yang akan ditampilkan. |
| DXGK_PRESENTMULTIPLANEOVERLAYLIST | Menentukan bidang overlay untuk ditampilkan dalam panggilan ke fungsi DxgkDdiPresent. |
| DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT | Digunakan dalam panggilan ke fungsi DxgkDdiCheckMultiPlaneOverlaySupport untuk memeriksa detail tentang dukungan perangkat keras untuk MPO. |
| DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 | DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 diteruskan ke fungsi DxgkDdiCheckMultiPlaneOverlaySupport2 untuk menentukan apakah konfigurasi overlay multi-bidang tertentu didukung. |
| DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | Berisi argumen untuk fungsi DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay. |
| DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 diteruskan ke fungsi DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 untuk mengubah konfigurasi overlay yang sedang ditampilkan. |
Enumerasi mode kernel MPO
Tabel berikut mencantumkan enumerasi yang digunakan oleh KMD.
| Enumerasi | Deskripsi |
|---|---|
| DXGK_MULTIPLANE_OVERLAY_STEREO_FLIP_MODE | Mengidentifikasi mode flip stereo bidang overlay. Hanya nilai DXGK_MULTIPLANE_OVERLAY_STEREO_FLIP_NONE yang didukung. |
| DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT | Mengidentifikasi format presentasi stereo bidang overlay. Hanya nilai DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT_MONO yang didukung. |
| DXGK_MULTIPLANE_OVERLAY_STRETCH_QUALITY | Mengidentifikasi proses pemfilteran yang harus dilakukan perangkat keras saat meregangkan atau menyusutkan data MPO. |
| DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | Mengidentifikasi format bingkai video bidang overlay. Hanya nilai DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE yang didukung. |
Nilai D3DDDICAPS_GET_MULTIPLANE_OVERLAY_GROUP_CAPS dalam D3DDDICAPS_TYPE menunjukkan dukungan UMD untuk MPO.