IDDCX_ADAPTER_FLAGS 列挙 (iddcx.h)

IDDCX_ADAPTER_FLAGS は、間接ディスプレイ アダプターのブール機能フラグを指定します。

構文

typedef enum IDDCX_ADAPTER_FLAGS {
  IDDCX_ADAPTER_FLAGS_NONE = 0,
  IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE = 0x1,
  IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS = 0x2,
  IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER = 0x4,
  IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS = 0x8,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION = 0x10,
  IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS = 0x20,
  IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 = 0x40,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE = 0x80
} ;

定数

 
IDDCX_ADAPTER_FLAGS_NONE
値: 0
アダプターにフラグが設定されていないことを示します。
IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE
値: 0x1
間接表示モデルでは OS 仮想モードが自動的にサポートされるため、表示モードを変更することなく、OS はフレームごとにデスクトップ ウィンドウ マネージャー (DWM) スケーリングを使用してモード変更をシームレスに実行できます。 ユーザーが小さいデスクトップ モードを使用すると、欠点が発生します。ドライバーに提供されるデスクトップ イメージがデスクトップ サイズよりも大きいため、エンコードと送信の帯域幅が無駄になります。

この列挙値は、デスクトップ モードが変更されたときに、可能な限り最小のデスクトップ サーフェス サイズを使用するように OS に指示します。 処理オーバーヘッドが大きい、または伝送帯域幅が限られているソリューションでは、通常、このフラグを使用して、可能な限り処理するためにデスクトップイメージのサイズを小さくします。

このフラグを設定すると、デスクトップの解像度が変更されるたびにモードが変更されます。
IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS
値: 0x2
このフラグは 、IddCx v1.7 以降では非推奨となりました。 ドライバーは IddCx 1.7 以降に対してこのフラグを設定できますが、効果はありません。 ドライバーが IddCx 1.7 より前で実行するように設計され、このフラグを設定する場合、そのドライバーには移動を処理するロジックが必要です。それ以外の場合、ユーザーは IddCx 1.7 より前のシステムで実行しているときに視覚的な問題が表示されます。

ドライバーがイメージのエンコード時にダーティに加えて、OS によって提供される移動領域を使用できるかどうかを示します。 ドライバーは、これらの追加のリソースを生成するときに OS にコストが発生するため、移動リージョンを使用する場合にのみ、これを TRUE に設定する必要があります。 ドライバーがこれを FALSE に設定すると、OS はすべての移動領域をダーティ変換します。
IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER
値: 0x4
ドライバーが、コンソール セッション モニターではなく、リモート セッション モニターをサポートするリモート セッション ドライバーであるかどうかを示します。 リモート セッション ドライバーはコンソール セッション モニターをサポートできず、コンソール セッション ドライバーはリモート セッション モニターをサポートできません。 IddCx バージョン 1.4 以降でサポートされています。
IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS
値: 0x8
ドライバーがスワップ チェーン バッファーに使用する物理的に連続したメモリを優先することを示します。これにより、ドライバーは中間コピーを必要とせずにバッファーを直接スキャンできます。 IddCx バージョン 1.6 以降でサポートされています。
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION
値: 0x10
ドライバーがすべてのカーソル位置の変更を受け取る必要があることを示します。つまり、リモート クライアントからリモート セッションに挿入されたマウス入力と、アプリケーションまたはサーバー上の OS からの API 呼び出しによって引き起こされる手続き型の移動の両方を受け取る必要があります。

このフラグは、 IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVERと組み合わせた場合にのみ有効です。 IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITIONがIDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVERなしで設定されている場合、IddCxAdapterInitAsync は失敗します。

IddCx バージョン 1.7 以降でサポートされています。
IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS
値: 0x20
このフラグを設定するドライバーは、デスクトップ更新プログラムのダーティリージョンをより正確に追跡するように OS に要求しています。 このより正確な追跡には CPU 使用率のオーバーヘッドが小さいため、ドライバーは、小さいダーティリージョンがドライバーにとって有益な場合にのみ、このフラグを設定する必要があります。

IddCx バージョン 1.8 以降でサポートされています。
IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16
ドライバーが IEEE 半精度浮動小数点 (FP16) スワップチェーン サーフェスを処理できることを示します。 ドライバーは、HDR または SDR WCG をサポートしていないアダプターの場合でも、 IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 設定する必要があります。 モニター、ターゲット機能、O 設定などの適切な組み合わせが設定されている場合、OS は HDR または SDR WC サーフェスとモードをドライバーに送信します。 したがって、 IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 を設定するドライバーは、これを可能にする IddCx バージョン 1.10 関数もサポートする必要があります。 HDR10 をサポートするドライバーには、次の機能が必要です。

* スワップチェーン内での FP16 フォーマットサーフェスの受信および処理。
* 指定された SDR 白レベルをマウス カーソルに適用します。

コンソール ドライバーも次の必要があります。

* 新しい 3x4 マトリックスカラー変換を使用します。
* HDR メタデータを受け入れて使用します。

リモート ドライバーも次の操作を行う必要があります。

* 必要に応じて、カラーメトリーとSDRホワイトレベルを供給します。

IddCx バージョン 1.10 以降でサポートされています。 「解説」を参照してください。
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE
値: 0x80
このフラグを設定できるのは、リモート ドライバーだけです。

リモート ドライバーでは、 IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE を使用して、モニター記述子の一部ではないターゲット モードを指定できます。 通常、OS は、モニターモードとターゲットモードリストの両方にあることに基づいてモードを選択し、 EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION 経由で報告するか、記述子が使用できない場合 はEVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES し、ターゲットモードリストを選択します。 リモート シナリオでは、記述子にないモードが必要になる場合があります。 代わりに、ドライバーはターゲット モードを使用してそれらを記述し、モニター モードに対してチェックすべきではないことを OS に示すことができます。

リモート ドライバーがこのフラグを設定すると、 EVT_IDD_CX_MONITOR_QUERY_TARGET_MODES2IddCxMonitorUpdateModes2 の呼び出しで報告されるすべてのターゲット モードが、現在接続されているモニターと互換性があることを保証することを示します。 その後、OS は EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION2EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODESを呼び出しません。

IddCx バージョン 1.10 以降でサポートされています。 「解説」を参照してください。

Remarks

OS がドライバー設定IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16受け入れるか、IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLEを受け入れるかを判断するには、ドライバーで IDD_IS_FUNCTION_AVAILABLE マクロを使用して、バージョン 1.10 のいずれかの DDI (例IDD_IS_FUNCTION_AVAILABLE(IddCxSwapChainReleaseAndAcquireBuffer2): ) の存在をチェックする必要があります。 このマクロは、v1.10 でサポートされている OS では TRUE に評価され、それ以外の場合は false に評価されます。 詳細については、「IddCx バージョン 1.10 以降の更新」を参照してください。

要件

要件
Header iddcx.h

こちらもご覧ください

IDDCX_ADAPTER_CAPS

IddCxAdapterInitAsync