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不同,驱动程序无需推迟设置此标志,直到上次调用 Evict(pfnEvictCb 或 D3DKMTEvict),并且指定此标志的效果将立即发生。 换句话说,如果驱动程序多次调用 MakeResident,则任何后续 逐出作之一都有效以指定此标志。 在上次调用之前,驱动程序不会跟踪此标志。
Reserved
此成员是保留的,应设置为零。
Value
结构中标志的合并值。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
标头 | d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h) |