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에서 실제 리소스 제거를 연기하도록 OS에 지시합니다. 설정하지 않으면 리소스가 더 이상 사용되지 않으며 가장 빠른 시간에 제거를 수행해야 한다는 것을 OS에 지시합니다.

참고 이 플래그는 해당 시간까지 할당이 제거되지 않으므로 상주 참조 수가 0에 도달하지 않으면 무시됩니다.
 

NotWrittenTo

이 설정은 리소스가 상주한 시간 이후 GPU에서 에 기록되지 않음을 나타냅니다. 이를 통해 OS는 시스템 메모리에 페이징하는 대신 할당 내용을 삭제하여 제거 프로세스를 최적화할 수 있습니다. 드라이버는 이 플래그를 사용하도록 옵트인해야 합니다. 기본적으로 값은 0이며 할당은 제거 중에 더티 간주됩니다. EvictOnlyIfNecessary와 달리 드라이버는 제거(pfnEvictCb 또는 D3DKMTEvict)에 대한 마지막 호출이 즉시 수행될 때까지 이 플래그 설정을 연기할 필요가 없습니다. 즉, 드라이버가 MakeResident 를 여러 번 호출하는 경우 후속 제거 작업 중 하나에서 이 플래그를 지정하는 것이 유효합니다. 드라이버는 마지막 호출까지 이 플래그를 추적하지 않을 것으로 예상됩니다.

Reserved

이 멤버는 예약되어 있으며 0으로 설정해야 합니다.

Value

구조체에 있는 플래그의 통합 값입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
머리글 d3dukmdt.h(D3dumddi.h, D3dkmddi.h 포함)

추가 정보

D3DKMTEvict

pfnEvictCb