D3DDDI_EVICT_FLAGS 構造体 (d3dukmdt.h)

D3DDDI_EVICT_FLAGS は、削除動作を指定します。

構文

typedef struct D3DDDI_EVICT_FLAGS {
  union {
    struct {
      UINT EvictOnlyIfNecessary : 1;
      UINT NotWrittenTo : 1;
      UINT Reserved : 30;
    };
    UINT Value;
  };
} D3DDDI_EVICT_FLAGS;

メンバー

EvictOnlyIfNecessary

設定すると、近い将来にリソースが再び使用される可能性があることを示し、メモリが不足するまで GPU からの実際のリソースの削除を延期するよう OS に指示します。 この設定を行わないと、リソースが使用されなくなり、できるだけ早く削除を実行する必要があることを OS に指示します。

メモ このフラグは、その時点まで割り当てが削除されないため、常駐参照カウントが 0 に達しない場合は無視されます。
 

NotWrittenTo

設定すると、これは、リソースが常駐状態になった時点以降、GPU によって書き込まれていないことを示します。 これにより、OS はシステム メモリにページングするのではなく、割り当て内容を破棄することで削除プロセスを最適化できます。 このフラグを使用するには、ドライバーがオプトインする必要があります。 既定では、値は 0 で、割り当ては削除中にダーティと見なされます。 EvictOnlyIfNecessary とは異なり、ドライバーは、Evict の最後の呼び出し (pfnEvictCb または D3DKMTEvict) までこのフラグの設定を延期する必要はありません。また、このフラグを指定した場合の影響はすぐに発生します。 つまり、ドライバーが MakeResident を 複数回呼び出す場合、後続の Evict 操作のいずれかがこのフラグを指定するのに有効です。 ドライバーは、最後の呼び出しまでこのフラグを追跡することは想定されていません。

Reserved

このメンバーは予約済みであり、0 に設定する必要があります。

Value

構造体内のフラグの統合値。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
Header d3dukmdt.h (D3dumddi.h、D3dkmddi.h を含む)

こちらもご覧ください

D3DKMTEvict

pfnEvictCb