struktur DXGK_SET_TIMING_PATH_INFO (d3dkmddi.h)

Struktur untuk menyimpan informasi untuk mengubah jalur SetTiming .

Sintaks

typedef struct _DXGK_SET_TIMING_PATH_INFO {
  D3DDDI_VIDEO_PRESENT_TARGET_ID     VidPnTargetId;
  union {
    D3DDDI_COLOR_SPACE_TYPE             OutputColorSpace;
    D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE OutputWireColorSpace;
  };
  D3DKMDT_WIRE_FORMAT_AND_PREFERENCE SelectedWireFormat;
  union {
    struct {
      DXGK_PATH_UPDATE     VidPnPathUpdates : 2;
      UINT                 Active : 1;
      UINT                 IgnoreConnectivity : 1;
      UINT                 PreserveInherited : 1;
      UINT                 SyncLockGroup : 3;
      DXGK_SYNC_LOCK_STYLE SyncLockStyle : 4;
#if ...
      UINT                 Reserved : 20;
#else
      UINT                 Reserved : 27;
#endif
    } Input;
    UINT InputFlags;
  };
  union {
    struct {
      UINT RecheckMPO : 1;
      UINT Reserved : 31;
    } Output;
    UINT OutputFlags;
  };
  DXGK_CONNECTION_CHANGE             TargetState;
  union {
    struct {
      DXGK_GLITCH_CAUSE    GlitchCause;
      DXGK_GLITCH_EFFECT   GlitchEffect;
      DXGK_GLITCH_DURATION GlitchDuration;
      UINT8                Reserved;
    };
    UINT DiagnosticInfo;
  };
} DXGK_SET_TIMING_PATH_INFO;

Anggota

VidPnTargetId

Pengidentifikasi video adaptor tampilan menyajikan target.

OutputColorSpace

Nilai D3DDDI_COLOR_SPACE_TYPE yang menjelaskan ruang warna output yang ditujukan untuk piksel yang diangkut. Driver bertanggung jawab untuk mengirim metadata yang sesuai untuk memastikan perangkat tampilan disiapkan untuk menafsirkan piksel dengan benar untuk ruang warna ini.

Ruang warna output diperbaiki hingga dimodifikasi oleh panggilan SetTiming lain. Jika colorspace yang diatur pada rantai pertukaran yang disajikan ke target ini berbeda dari ruang warna output, driver diperlukan untuk mengonversi ke colorspace output selama pemindaian.

Jika beberapa bidang piksel diaktifkan pada target, driver harus melakukan komposisi bidang dalam ruang warna komposisi yang valid, biasanya ruang linier selain mengonversi piksel yang terdiri menjadi ruang warna output.

Karena SelectedWireFormat sudah menunjukkan pengodean warna, dan subsampling chroma, OutputColorSpace hanya digunakan untuk menentukan utama dan gamma yang nilai pikselnya harus dikodekan; elemen lainnya: model warna, rentang, dan cositing harus diabaikan karena didefinisikan oleh SelectedWireFormat. Mengingat bahwa tidak ada rencana untuk mendukung gamma ST.2084 dengan utama Rec.709, atau gamma 2.2 dengan gamma Rec 2020 utama, hasilnya adalah bahwa hanya dua nilai yang pernah ditetapkan oleh OS dalam rilis RS2 yaitu:

  • D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, untuk SDR
  • D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020, untuk HDR10

OutputWireColorSpace

Jenis enum D3DDDI_COLOR_SPACE_TYPE juga digunakan oleh OS untuk menentukan ruang warna input MPO, sehingga tidak digunakan lagi mulai dari WDDM 2.3. Driver WDDM 2.3 dan yang lebih baru harus menggunakan jenis baru D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE.

SelectedWireFormat

Nilai D3DKMDT_WIRE_FORMAT_AND_PREFERENCE yang menunjukkan format kawat yang akan diatur untuk jalur. Bidang Preferensi dicadangkan dalam konteks ini sehingga harus diabaikan oleh driver. Di lima bidang bit yang tersisa, OS akan mengatur salah satu dari tiga puluh bit untuk menunjukkan pengodean warna mana dan kedalaman bit mana tautan harus didorong.

Input

Input.VidPnPathUpdates

Menjelaskan bagaimana elemen VidPn yang sesuai dengan jalur ini telah diubah sejak panggilan berhasil sebelumnya.

Bidang dalam struktur DXGK_SET_TIMING_PATH_INFO dikecualikan dari ringkasan ini sehingga driver selalu perlu mengevaluasi bidang ini untuk setiap perubahan. Misalnya, jika OS memanggil SetTimings untuk menganggur monitor di jalur, bendera Aktif akan dihapus dan VidPnPathUpdates akan diatur ke DXGK_PATH_UPDATE_UNMODIFIED, jika kemudian memanggil SetTimings untuk menyalakan monitor, bendera Aktif akan diatur dan VidPnPathUpdates masih akan diatur ke DXGK_PATH_UPDATE_UNMODIFIED.

Input.Active

Jika diatur, menunjukkan bahwa jalur harus diaktifkan atau tetap aktif. Jika jelas, menunjukkan bahwa jalur harus dinonaktifkan atau tetap tidak aktif.

Input.IgnoreConnectivity

Jika diatur, menunjukkan bahwa driver harus memaksa output ke target meskipun tidak ada perangkat tampilan yang terdeteksi. Jika jelas, driver harus melaporkan ConnectionStatus yang diperbarui jika konektivitas telah berubah.

Input.PreserveInherited

Jika diatur, menunjukkan bahwa driver harus mempertahankan pengaturan waktu dan konten yang dikonfigurasi oleh driver sebelumnya. Bendera ini hanya digunakan ketika adaptor dikonfigurasi oleh sesuatu selain instans driver saat ini. Awalnya, ini akan digunakan ketika jalur diinisialisasi oleh firmware selama boot. Jika jelas, tidak ada perilaku khusus yang diminta.

Input.SyncLockGroup

Input grup kunci sinkronisasi. Tersedia mulai dari WDDM 2.4. Menunjukkan grup yang disinkronkan menampilkan setiap jalur. Karena WDDM 2.4 - WDDM 2.6 hanya mendukung satu grup sinkronisasi per adaptor dan selalu mengaktifkan sinkronisasi jika memungkinkan, nilai ini diatur ke 1 ketika tampilan yang dapat disinkronkan diaktifkan, dan 0 ketika tampilan tidak diperlukan untuk disinkronkan dan harus selalu dipasangkan dengan SyncLockStyle nilai DXGK_SYNC_LOCK_STYLE_NONE.

Input.SyncLockStyle

Sinkronkan input gaya kunci. Tersedia mulai dari WDDM 2.4. Menunjukkan gaya sinkronisasi apa yang diminta OS. Untuk driver WDDM 2.4 - WDDM 2.6, nilai ini diatur ke DXGK_SYNC_LOCK_STYLE_IDENTICAL jika tampilan yang dapat disinkronkan diaktifkan dan DXGK_SYNC_LOCK_STYLE_NONE sebaliknya.

Input.Reserved

Nilai ini dicadangkan untuk penggunaan sistem.

InputFlags

Sekumpulan bendera yang menentukan apa yang OS inginkan untuk dilakukan driver.

Output

Output.RecheckMPO

Jika diatur, menunjukkan bahwa OS perlu mengeluarkan CheckMPO karena perubahan pada jalur ini.

Output.Reserved

Nilai ini dicadangkan untuk penggunaan sistem.

OutputFlags

TargetState

Menunjukkan status target sebagai akibat dari panggilan ini. Karena mengubah waktu dapat menyebabkan status koneksi dari target dan target yang dimodifikasi yang tidak dimaksudkan OS untuk diubah, bidang ini mengomunikasikan status untuk setiap jalur.

Jika status target tidak berubah, bidang ini harus berisi salinan status terakhir yang dilaporkan pada target, termasuk ConnectionChangeId yang sama yang sebelumnya dilaporkan.

Jika status target diubah, bidang ini harus berisi salinan antrean, perubahan koneksi yang mencerminkan status yang dihasilkan dari panggilan SetTiming.

GlitchCause

Nilai DXGK_GLITCH_CAUSE yang menunjukkan perubahan mendasar mana dalam alur tampilan yang menyebabkan kesalahan.

GlitchEffect

Nilai DXGK_GLITCH_EFFECT yang menunjukkan bagaimana kesalahan disajikan kepada pengguna.

GlitchDuration

Nilai DXGK_GLITCH_DURATION yang menunjukkan kira-kira berapa lama kesalahan berlangsung. Ini dimaksudkan untuk mencerminkan berapa lama masalah yang mendasar ada, tetapi efek yang terlihat mungkin lebih lama dalam beberapa kasus. Misalnya, ketika sinkronisasi hilang cukup lama agar monitor harus mendeteksi ulang, perangkat tampilan kemungkinan akan mengambil banyak bingkai untuk dipulihkan. Ini adalah lamanya masalah yang mendasar yang harus dilaporkan, bukan waktu pemulihan karena akan bervariasi di antara perangkat.

Reserved

Nilai ini dicadangkan untuk penggunaan sistem.

DiagnosticInfo

Kumpulan informasi yang diisi oleh driver untuk setiap jalur untuk menjelaskan efek samping dari perubahan waktu. Dalam banyak kasus, gangguan tidak dapat dihindari sehingga bidang ini mencoba memahami penyebab yang mendasar dan sejauh mana dampak pengguna.

Persyaratan

Persyaratan Nilai
Header d3dkmddi.h