struktur DXGK_FLIPCAPS (d3dkmddi.h)

Struktur DXGK_FLIPCAPS mengidentifikasi kemampuan membalik driver miniport tampilan yang disediakan driver melalui panggilan ke fungsi DxgkDdiQueryAdapterInfo .

Sintaks

typedef struct _DXGK_FLIPCAPS {
  union {
    struct {
      UINT FlipOnVSyncWithNoWait : 1;
      UINT FlipOnVSyncMmIo : 1;
      UINT FlipInterval : 1;
      UINT FlipImmediateMmIo : 1;
      UINT FlipIndependent : 1;
      UINT DdiPresentForIFlip : 1;
      UINT FlipImmediateOnHSync : 1;
#if ...
      UINT Reserved : 25;
#elif
      UINT Reserved : 27;
#else
      UINT Reserved : 28;
#endif
    };
    UINT Value;
  };
} DXGK_FLIPCAPS;

Anggota

FlipOnVSyncWithNoWait

Nilai UINT yang menentukan apakah driver mendukung penjadwalan perintah flip yang akan berlaku pada periode pelacakan kembali vertikal berikutnya (sinkronisasi vertikal) tanpa menyebabkan alur grafis terhenti hingga sinkronisasi vertikal tersebut terjadi. Artinya, alur grafis harus segera dilanjutkan setelah driver menulis alamat fisik permukaan membalik menjadi register yang tertunda balik di perangkat keras. Meskipun sebagian besar perangkat keras menggunakan kedalaman satu register flip-pending, jika perangkat keras menggunakan lebih dari satu register flip-pending, driver harus menentukan angka di anggota MaxQueuedFlipOnVSync dari struktur DXGK_DRIVERCAPS .

Jika FlipOnVSyncWithNoWait diatur ke 1 (TRUE), driver mendukung mekanisme ini. Jika FlipOnVSyncWithNoWait diatur ke 0 (FALSE), driver tidak mendukung mekanisme ini. Artinya, alur grafik harus menunggu hingga sinkronisasi vertikal berikutnya terjadi setelah penjadwalan perintah balik berlaku pada sinkronisasi vertikal berikutnya.

Mengatur anggota ini setara dengan mengatur bit pertama anggota Nilai 32-bit (0x00000001).

FlipOnVSyncMmIo

Nilai UINT yang menentukan apakah driver mendukung flip berbasis I/O (MMIO) yang dipetakan memori yang berlaku pada sinkronisasi vertikal berikutnya. Untuk mendukung jenis flip ini, driver miniport tampilan harus mendukung operasi berikut:

  • Tidak ada pembuatan buffer DMA untuk meneruskan panggilan ke fungsi DxgkDdiPresent -nya (yaitu, NULL diteruskan dalam anggota pDmaBuffer dari struktur DXGKARG_PRESENT ).
  • Membalik melalui panggilan ke fungsi DxgkDdiSetVidPnSourceAddress pada tingkat permintaan interupsi perangkat (DIRQL). Dalam panggilan ke DxgkDdiSetVidPnSourceAddress, driver harus memprogram pengonversi digital-ke-analog (DAC) dan menggunakan nilai di anggota PrimaryAddress dari struktur DXGKARG_SETVIDPNSOURCEADDRESS untuk memulai pemindaian. Setelah sinkronisasi vertikal, driver harus memberi tahu penjadwal GPU untuk melaporkan alamat pemindaian yang efektif dengan memanggil fungsi DxgkCbNotifyInterrupt dengan nilai DXGK_INTERRUPT_CRTC_VSYNC yang diatur dalam anggota InterruptType dari struktur DXGKARGCB_NOTIFY_INTERRUPT_DATA . Driver kemudian harus memanggil fungsi DxgkCbNotifyDpc untuk melakukan sebagian besar pemrosesan pemindaian.

FlipInterval

Nilai UINT yang menentukan apakah driver mendukung penjadwalan perintah flip untuk diterapkan setelah dua, tiga, atau empat sinkronisasi vertikal terjadi. Terlepas dari apakah driver mendukung interval flip dua atau lebih, driver harus mendukung flip langsung dan interval balik satu.

Mengatur anggota ini setara dengan mengatur bit ketiga dari anggota Nilai 32-bit (0x00000004).

FlipImmediateMmIo

Nilai UINT yang menentukan apakah driver mendukung flip langsung berbasis I/O (MMIO) yang dipetakan memori. Jenis flip ini berlaku segera setelah panggilan ke fungsi DxgkDdiSetVidPnSourceAddress driver tanpa menunggu sinkronisasi vertikal berikutnya terjadi.

Mengatur anggota ini setara dengan mengatur bit keempat dari anggota Nilai 32-bit (0x00000008).

Didukung dimulai dengan Windows 7.

FlipIndependent

Nilai UINT yang menentukan apakah driver mendukung flip independen. Driver WDDM 1.3 dan yang lebih baru harus mengatur anggota ini ke 1.

Dalam flip independen, sistem operasi mencoba untuk melewati mode pengguna Desktop Window Manager (DWM) yang menyajikan panggilan dan balik ke buffer kembali aplikasi dengan memanggil DxgkDdiPresent dan DxgkDdiSetVidPnSourceAddress di Flip Langsung dan model presentasi overlay multiplane.

Perhatikan bahwa akan ada kasus ketika panggilan saat mode pengguna DWM dilakukan bahkan ketika FlipIndependent diatur. Driver Anda masih harus menangani kasus-kasus seperti itu.

Mengatur anggota ini setara dengan mengatur bit kelima dari anggota Nilai 32-bit (0x00000010).

Didukung dimulai dengan Windows 8.1.

DdiPresentForIFlip

FlipImmediateOnHSync

Reserved

Anggota ini dicadangkan dan harus diatur ke nol. Mengatur anggota ini ke nol setara dengan mengatur 27 bit yang tersisa (0xFFFFFFE0) dari anggota Nilai 32-bit ke nol.

Anggota ini dicadangkan dan harus diatur ke nol. Mengatur anggota ini ke nol setara dengan mengatur 28 bit yang tersisa (0xFFFFFFF0) dari anggota Nilai 32-bit ke nol.

Value

Anggota dalam serikat yang DXGK_FLIPCAPS berisi yang dapat menyimpan nilai 32-bit yang mengidentifikasi kemampuan membalik.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Header d3dkmddi.h (termasuk D3dkmddi.h)

Lihat juga

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkDdiPresent

DxgkDdiQueryAdapterInfo

DxgkDdiSetVidPnSourceAddress