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

设置后,这表示资源可能在近期再次使用,并指示 OS 尝试将实际资源从 GPU 逐出,直到内存不足。 如果未设置,则会指示 OS 不再使用资源,并且应尽早执行逐出。

注意 如果驻留引用计数未命中零,则忽略此标志,因为该分配在该时间之前不会逐出。
 

NotWrittenTo

设置后,这表示自将资源驻留以来尚未由 GPU 写入。 这样,OS 就可以通过放弃分配内容来优化逐出过程,而不是将其分页到系统内存。 驱动程序必须选择加入才能使用此标志。 默认情况下,该值为零,在逐出期间将分配视为脏。 与 EvictOnlyIfNecessary不同,驱动程序无需推迟设置此标志,直到上次调用 EvictpfnEvictCbD3DKMTEvict),并且指定此标志的效果将立即发生。 换句话说,如果驱动程序多次调用 MakeResident,则任何后续 逐出作之一都有效以指定此标志。 在上次调用之前,驱动程序不会跟踪此标志。

Reserved

此成员是保留的,应设置为零。

Value

结构中标志的合并值。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
标头 d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h)

另请参阅

D3DKMTEvict

pfnEvictCb