Bagikan melalui


struktur DXGK_VIDSCHCAPS (d3dkmddi.h)

Struktur DXGK_VIDSCHCAPS memiliki bendera bit-field yang mengidentifikasi kemampuan penjadwalan GPU yang dapat didukung oleh driver miniport tampilan mode kernel (KMD).

Sintaks

typedef struct _DXGK_VIDSCHCAPS {
  union {
    struct {
      UINT MultiEngineAware : 1;
      UINT VSyncPowerSaveAware : 1;
      UINT PreemptionAware : 1;
      UINT NoDmaPatching : 1;
      UINT CancelCommandAware : 1;
      UINT No64BitAtomics : 1;
      UINT LowIrqlPreemptCommand : 1;
      UINT HwQueuePacketCap : 4;
      UINT NativeGpuFence : 1;
      UINT OptimizedNativeFenceSignaledInterrupt : 1;
#if ...
      UINT Reserved : 19;
#elif
      UINT Reserved : 21;
#elif
      UINT Reserved : 25;
#elif
      UINT Reserved : 27;
#else
      UINT Reserved : 30;
#endif
    };
    UINT Value;
  };
} DXGK_VIDSCHCAPS;

Anggota

MultiEngineAware

Nilai UINT yang menentukan apakah driver mendukung pembuatan dan penghancuran konteks perangkat (melalui fungsi DxgkDdiCreateContext dan DxgkDdiDestroyContext ) dan penggunaan konteks perangkat (melalui fungsi DxgkDdiPresent dan DxgkDdiRender ). Jika driver tidak mendukung pembuatan konteks, untuk setiap panggilan ke driver yang akan meneruskan handel ke konteks, subsistem kernel grafis Microsoft DirectX menggantikan handel ke konteks dengan handel ke perangkat.

VSyncPowerSaveAware

Nilai UINT yang menentukan apakah driver mendukung fungsionalitas penghematan daya sinkronisasi vertikal.

Jika VSyncPowerSaveAware diatur ke 1 (TRUE), OS dapat menghemat daya dengan menonaktifkan dan mengaktifkan gangguan sinkronisasi vertikal yang terjadi dari penggunaan beberapa aplikasi. Jika VSyncPowerSaveAware diatur ke nol (FALSE), OS tidak akan pernah menonaktifkan gangguan sinkronisasi vertikal untuk aplikasi yang dapat menyebabkan gangguan sinkronisasi vertikal terjadi. Didukung dimulai dengan Windows Server 2008 dan Windows Vista dengan SP1.

PreemptionAware

Nilai UINT yang menentukan apakah driver mendukung kebijakan preemsi GPU Windows 8 dan versi Windows yang lebih baru. Dengan kebijakan ini, OS selalu mengeluarkan permintaan preemption ke GPU sebelum memulai proses **Timeout Detection and Recovery (TDR ). Didukung dimulai dengan Windows 8.

Jika PreemptionAware diatur ke 1 (TRUE), driver mendukung kebijakan preemsi Windows 8 dan versi Windows yang lebih baru. Perhatikan bahwa jika PreemptionAware diatur ke 1, anggota MultiEngineAware juga harus diatur ke nilai 1. Jika PreemptionAware diatur ke 1 tetapi MultiEngineAware diatur ke nol, OS akan menghentikan proses inisialisasi driver dan mengembalikan kode kegagalan.

Jika PreemptionAware diatur ke nol (FALSE), driver mendukung kebijakan preemsi Windows 7. Dengan kebijakan ini, OS mungkin tidak mengeluarkan permintaan preemption sementara operasi yang berpotensi berjalan lama sedang dijalankan pada GPU. Akibatnya, permintaan GPU ini tidak didahului sebelum proses TDR dimulai. Ini dapat menyebabkan proses TDR berulang kali mengatur ulang GPU yang dapat menyebabkan kesalahan penghentian sistem.

NoDmaPatching

Nilai UINT yang menentukan apakah driver menonaktifkan deteksi kebocoran untuk buffer DMA yang dibagi menjadi beberapa bagian. Deteksi ini dilakukan setelah fungsi DxgkDdiPatch driver dipanggil untuk menetapkan, atau menambal, alamat fisik ke setiap bagian buffer DMA. Didukung dimulai dengan Windows 8.

Menampilkan perangkat yang mendukung alamat virtual dapat memprogram ulang alamat virtual ke lokasi memori video baru tanpa harus menambal nilai alamat buffer DMA. Untuk jenis perangkat tampilan ini, driver harus mengatur NoDmaPatching ke 1.

Jika NoDmaPatching diatur ke 1 (TRUE), driver menonaktifkan deteksi kebocoran, dan perilaku pemisahan buffer DMA sama seperti di Windows 7. Perhatikan bahwa ketika NoDmaPatching diatur ke 1, anggota PreemptionAware dan MultiEngineAware juga harus diatur ke 1. Jika NoDmaPatching diatur ke 1 tetapi PreemptionAware atau MultiEngineAware diatur ke nol, OS akan menghentikan proses inisialisasi driver dan mengembalikan kode kegagalan.

Jika NoDmaPatching diatur ke 0 (FALSE), driver memungkinkan deteksi kebocoran untuk alamat buffer DMA yang di-patch. OS melakukan deteksi kebocoran sebelum memanggil fungsi DxgkDdiPatch driver.

CancelCommandAware

Nilai UINT yang menentukan apakah driver mendukung pembersihan sumber daya internal (melalui fungsi DxgkDdiCancelCommand ) setelah perintah dihapus dari antrean perangkat keras. Didukung dimulai dengan Windows 8.

Jika CancelCommandAware diatur ke 1 (TRUE), driver mendukung pembersihan sumber daya yang terkait dengan paket DMA yang dibatalkan. Perhatikan bahwa ketika CancelCommandAware diatur ke 1, anggota MultiEngineAware juga harus diatur ke 1. Jika CancelCommandAware diatur ke 1 tetapi MultiEngineAware diatur ke nol, OS mengembalikan kode kegagalan.

Jika CancelCommandAware diatur ke nol (FALSE), driver tidak mendukung pembersihan sumber daya.

No64BitAtomics

Jika No64BitAtomics diatur ke 1 (TRUE), driver menunjukkan bahwa GPU hanya mampu memperbarui nilai 32 bit secara atomik. Dalam hal ini, OS akan menangani kasus wraparound pagar secara otomatis, namun akan menempatkan pembatasan bahwa nilai pagar tunggu dan sinyal yang luar biasa tidak boleh lebih dari UINT_MAX/2 selain dari nilai pagar terakhir yang disinyalir. Didukung dimulai dengan Windows 10.

Jika No64BitAtomics diatur ke nol (FALSE), driver menunjukkan bahwa GPU mampu memperbarui nilai 64 bit secara atomik seperti yang terlihat oleh CPU.

LowIrqlPreemptCommand

HwQueuePacketCap

Jumlah maksimum paket DMA yang diizinkan untuk diantrekan ke node.

NativeGpuFence

Jika OS telah mengaktifkan fitur DXGK_FEATURE_NATIVE_FENCE , driver dapat mendeklarasikan dukungan untuk fungsionalitas pagar GPU asli selama inisialisasi adaptor dengan mengatur bit NativeGpuFence menjadi 1. Kemampuan ini diekspos ke mode pengguna melalui bit D3DKMT_WDDM_3_1_CAPS::NativeGpuFenceSupported yang sesuai. Untuk informasi selengkapnya, lihat Objek pagar GPU asli. Tersedia dimulai dengan Windows 11, versi 22H2 (WDDM 3.1).

OptimizedNativeFenceSignaledInterrupt

Driver mengatur TRUE ini jika, pada gangguan yang disinyalir, GPU dapat menentukan dalam DXGKARGCB_NOTIFY_INTERRUPT_DATA::NativeFenceSignaled hanya handel KMD dari HWQueue yang sedang berjalan. Untuk informasi selengkapnya, lihat Objek pagar GPU asli. Tersedia dimulai dengan Windows 11, versi 22H2 (WDDM 3.1).

Reserved

Anggota ini dicadangkan dan harus diatur ke nol.

Value

Cara alternatif untuk mengakses bendera bit-field di serikat.

Persyaratan

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

Lihat juga

DXGK_DRIVERCAPS

DxgkDdiCancelCommand

DxgkDdiCreateContext

DxgkDdiDestroyContext

DxgkDdiPatch

DxgkDdiPresent

DxgkDdiRender