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 的實際資源收回,直到記憶體不足的情況為止。 如果未設定,這會指示操作系統不再使用資源,而且應該在最早的機會執行收回。
注意 如果落地參考計數未達到零,則會忽略此旗標,因為該時間之前不會收回配置。
NotWrittenTo
設定時,這表示資源自建置以來,GPU 尚未寫入該資源。 這可讓OS藉由捨棄配置內容,而不是將它分頁至系統記憶體,來優化收回程式。 驅動程式必須加入加入才能使用此旗標。 根據預設,此值為零,且配置會在收回期間被視為已變更。 不同於 EvictOnlyIfNecessary,驅動程式不需要延遲設定此旗標,直到最後一次呼叫 Evict (pfnEvictCb 或 D3DKMTEvict) ,而且指定此旗標的效果會立即發生。 換句話說,如果驅動程式多次呼叫 MakeResident ,則任何一個後續 收回 作業都有效,以指定此旗標。 在上次呼叫之前,驅動程式不會追蹤此旗標。
Reserved
這個成員是保留的,而且應該設定為零。
Value
結構中旗標的合併值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
標頭 | d3dukmdt.h (包括 D3dumddi.h、D3dkmddi.h) |