структура 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 до тех пор, пока не будет недостаточно памяти. Если этот параметр не задан, операционная система сообщает, что ресурс больше не будет использоваться и что вытеснение должно быть выполнено при первой возможности.

Примечание Этот флаг игнорируется, если количество ссылок на место расположения не достигает нуля, так как выделение не будет вытеснено до этого времени.
 

NotWrittenTo

Если задано значение , это означает, что ресурс не был записан GPU с момента его резидента. Это позволяет ОС оптимизировать процесс вытеснения, отменяя содержимое выделения, а не разбиение его на страницы в системную память. Драйвер должен согласиться на использование этого флага. По умолчанию значение равно нулю, и выделение считается грязное во время вытеснения. В отличие от EvictOnlyIfNecessary, драйверу не нужно откладывать установку этого флага до последнего вызова метода Evict (pfnEvictCb или D3DKMTEvict), и результат указания этого флага происходит немедленно. Другими словами, если драйвер вызывает MakeResident несколько раз, этот флаг можно указать для любой из последующих операций вытеснения . Драйвер не должен отслеживать этот флаг до последнего вызова.

Reserved

Этот элемент зарезервирован и должен иметь нулевое значение.

Value

Консолидированное значение флагов в структуре.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Верхняя часть d3dukmdt.h (включая D3dumddi.h, D3dkmddi.h)

См. также раздел

D3DKMTEvict

pfnEvictCb