다음을 통해 공유


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