Bagikan melalui


Fungsi Runtime Direct3D yang Dipanggil oleh Driver Tampilan User-Mode

Topik ini mencantumkan fungsi yang disediakan runtime Microsoft Direct3D ke driver tampilan mode pengguna. Ini termasuk fungsi akses layanan kernel runtime Direct3D dan fungsi runtime Direct3D versi 10 dan 11. Fungsi ini adalah bagian dari antarmuka driver tampilan Direct3D mode pengguna yang diterapkan sistem operasi melalui runtime Direct3D.

Runtime Direct3D Kernel-Services Mengakses Fungsi

Runtime Microsoft Direct3D versi 9 menyediakan pointer ke fungsi panggilan balik khusus adaptor melalui anggota struktur D3DDDI_ADAPTERCALLBACKS dalam panggilan ke fungsi OpenAdapter driver tampilan mode pengguna. Runtime menyediakan pointer untuk menampilkan fungsi panggilan balik khusus perangkat melalui anggota struktur D3DDDI_DEVICECALLBACKS dalam panggilan ke fungsi CreateDevice driver tampilan mode pengguna.

Runtime Microsoft Direct3D versi 10 atau yang lebih baru menyediakan pointer ke fungsi panggilan balik khusus adaptor melalui anggota struktur D3DDDI_ADAPTERCALLBACKS dalam panggilan ke fungsi OpenAdapter10 atau OpenAdapter10_2 driver tampilan mode pengguna. Runtime memasok pointer untuk menampilkan fungsi panggilan balik khusus perangkat melalui anggota struktur D3DDDI_DEVICECALLBACKS dalam panggilan ke fungsi CreateDevice (D3D10) driver tampilan mode pengguna.

Struktur Parameter Direct3D

Struktur berikut digunakan oleh fungsi akses layanan kernel runtime Direct3D. Driver tampilan mode pengguna meneruskan penunjuk ke struktur ini dalam parameter fungsi runtime.

  • D3DDDI_UPDATEALLOCPROPERTY
  • D3DDDICB_ALLOCATE
  • D3DDDICB_CREATECONTEXT
  • D3DDDICB_CREATECONTEXTVIRTUAL
  • D3DDDICB_CREATEHWCONTEXT
  • D3DDDICB_CREATEHWQUEUE
  • D3DDDICB_CREATEOVERLAY
  • D3DDDICB_CREATEPAGINGQUEUE
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT2
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT
  • D3DDDICB_DESTROYHWCONTEXT
  • D3DDDICB_DESTROYHWQUEUE
  • D3DDDICB_DEALLOCATE
  • D3DDDICB_DEALLOCATE2
  • D3DDDICB_DESTROYCONTEXT
  • D3DDDICB_DESTROYOVERLAY
  • D3DDDICB_DESTROYSYNCHRONIZATIONOBJECT
  • D3DDDICB_ESCAPE
  • D3DDDICB_EVICT
  • D3DDDICB_FLIPOVERLAY
  • D3DDDICB_GETMULTISAMPLEMETHODLIST
  • D3DDDICB_LOCK
  • D3DDDICB_LOCK2FLAGS
  • D3DDDICB_OFFERALLOCATIONS
  • D3DDDICB_PRESENT
  • D3DDDICB_QUERYADAPTERINFO
  • D3DDDICB_QUERYRESIDENCY
  • D3DDDICB_RECLAIMALLOCATIONS
  • D3DDDICB_RECLAIMALLOCATIONS2
  • D3DDDICB_RENDER
  • D3DDDICB_SETDISPLAYMODE
  • D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT
  • D3DDDICB_SETPRIORITY
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2
  • D3DDDICB_SUBMITCOMMAND
  • D3DDDICB_SUBMITCOMMANDFLAGS
  • D3DDDICB_SUBMITCOMMANDTOHWQUEUE
  • D3DDDICB_SUBMITSIGNALSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_SUBMITWAITFORSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_UNLOCK
  • D3DDDICB_UNLOCK2
  • D3DDDICB_UPDATEGPUVIRTUALADDRESS
  • D3DDDICB_UPDATEOVERLAY
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT2
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMGPU

Direct3D Runtime Versi 10 dan Yang Lebih Baru Core Callback Functions

Bagian ini menjelaskan fungsi panggilan balik inti yang disediakan runtime Microsoft Direct3D 10 dan yang lebih baru ke driver tampilan mode pengguna. Runtime memasok pointer ke fungsi panggilan balik inti melalui anggota struktur D3D10DDI_CORELAYER_DEVICECALLBACKS dalam panggilan ke fungsi CreateDevice (D3D10) driver tampilan mode pengguna.

Fungsi Panggilan Balik Kontrol Direct3D Runtime Versi 10

Berikut ini adalah daftar fungsi panggilan balik kontrol yang disediakan runtime Microsoft Direct3D 10 dan yang lebih baru ke driver tampilan mode pengguna melalui struktur D3D10DDI_CORELAYER_DEVICECALLBACKS.

Fungsi Panggilan Balik Runtime Direct3D Versi 10 State-Refresh

Berikut ini adalah daftar fungsi panggilan balik refresh status yang disediakan runtime Microsoft Direct3D 10 ke driver tampilan mode pengguna melalui struktur D3D10DDI_CORELAYER_DEVICECALLBACKS.

Karena runtime Direct3D 10 menyimpan objek status yang saat ini terikat untuk aplikasi, runtime juga menyimpan objek status terikat saat ini untuk driver tampilan mode pengguna dengan overhead rendah. Untuk setiap panggilan yang dilakukan driver tampilan mode pengguna ke fungsi panggilan balik refresh status, runtime Direct3D 10 melakukan panggilan yang sesuai ke fungsi status driver dalam utas eksekusi yang sama sebelum kembali ke kode panggilan di driver. Untuk meningkatkan performa, fungsi panggilan balik refresh status tidak melakukan validasi parameter apa pun.

Fungsi panggilan balik penyegaran status berguna ketika Anda mencoba mengembangkan driver stateless atau membangun data buffer perintah yang dapat diprakarsai. Fungsi panggilan balik refresh status juga memungkinkan driver tampilan mode pengguna mendapatkan manfaat dari marka air tinggi yang dipertahankan runtime Direct3D 10. Marka air tinggi menunjukkan indeks slot terbesar, yang bisa non-NULL; oleh karena itu, marka air tinggi meningkatkan traversal di seluruh slot tersebut.

Direct3D Runtime Versi 10 Kernel-Services Mengakses Fungsi

Bagian ini mencantumkan fungsi akses layanan kernel yang disediakan komponen DirectX Graphics Infrastructure (DXGI) dari pasokan runtime Microsoft Direct3D 10 ke driver tampilan mode pengguna. DXGI memasok pointer ke fungsi akses layanan kernel melalui anggota struktur DXGI_DDI_BASE_CALLBACKS dalam panggilan ke fungsi CreateDevice (D3D10) driver tampilan mode pengguna.

Fungsi Runtime Direct3D Versi 11

Bagian ini menjelaskan fungsi panggilan balik inti yang disediakan runtime Microsoft Direct3D 11 dan yang lebih baru ke driver tampilan mode pengguna. Runtime memasok pointer ke fungsi panggilan balik inti melalui anggota struktur D3D11DDI_CORELAYER_DEVICECALLBACKS dalam panggilan ke fungsi CreateDevice (D3D10) driver tampilan mode pengguna.

Fungsi Panggilan Balik Kontrol Direct3D Runtime Versi 11

Bagian ini mencantumkan fungsi panggilan balik kontrol tambahan yang disediakan runtime Microsoft Direct3D 11 dan yang lebih baru ke driver tampilan mode pengguna.

Direct3D Runtime Versi 11 State-Refresh Fungsi Panggilan Balik

Bagian ini mencantumkan fungsi panggilan balik refresh status tambahan yang disediakan runtime Microsoft Direct3D versi 11 dan yang lebih baru ke driver tampilan mode pengguna.

Karena runtime Direct3D 11 menyimpan objek status yang saat ini terikat untuk aplikasi, runtime juga menyimpan objek status terikat saat ini untuk driver tampilan mode pengguna dengan overhead rendah. Untuk setiap panggilan yang dilakukan driver tampilan mode pengguna ke fungsi panggilan balik refresh status, runtime Direct3D 11 melakukan panggilan yang sesuai ke fungsi status driver dalam utas eksekusi yang sama sebelum kembali ke kode panggilan di driver. Untuk meningkatkan performa, fungsi panggilan balik refresh status tidak melakukan validasi parameter apa pun.

Fungsi panggilan balik penyegaran status berguna ketika Anda mencoba mengembangkan driver tanpa status atau membangun data buffer perintah yang dapat diprakarsai. Fungsi panggilan balik refresh status juga memungkinkan driver tampilan mode pengguna mendapatkan manfaat dari marka air tinggi yang dipertahankan runtime Direct3D 11. Marka air tinggi menunjukkan indeks slot terbesar, yang bisa non-NULL; oleh karena itu, marka air tinggi meningkatkan traversal di seluruh slot tersebut.

Fungsi Direct3D Runtime Versi 12 dan yang Lebih Baru

Runtime Microsoft Direct3D 12 dan yang lebih baru menyediakan fungsi panggilan balik inti berikut ke driver tampilan mode pengguna.

Lihat juga

Mendukung DXGI DDI

Dukungan overlay multiplane

Fungsi Direct3D yang Diimplementasikan oleh Driver Tampilan Mode Pengguna

Peningkatan performa penyajian Direct3D