Поделиться через


структура 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, драйверу не нужно отложить этот флаг до последнего вызова (pfnEvictCb или D3DKMTEvict), а эффекты указания этого флага происходят немедленно. Другими словами, если драйвер вызывает MakeResident несколько раз, он действителен для любого из последующих операций Evict, чтобы указать этот флаг. Драйвер не должен отслеживать этот флаг до последнего вызова.

Reserved

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

Value

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
заголовка d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

См. также

D3DKMTEvict

pfnEvictCb