D3DHAL_DP2CREATEQUERY 구조체(d3dhal.h)

DirectX 9.0 이상 버전만 해당합니다.

D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_CREATEQUERY 설정되고 쿼리에 대한 리소스를 만드는 데 사용되는 경우 하나 이상의 D3DHAL_DP2CREATEQUERY 구조가 D3dDrawPrimitives2 콜백에 의해 명령 버퍼에서 구문 분석됩니다.

구문

typedef struct _D3DHAL_DP2CREATEQUERY {
  DWORD        dwQueryID;
  D3DQUERYTYPE QueryType;
} D3DHAL_DP2CREATEQUERY;

멤버

dwQueryID

쿼리를 식별합니다.

QueryType

드라이버가 리소스를 만드는 쿼리 기능을 나타내는 D3DQUERYTYPE 열거형의 값을 지정합니다.

설명

런타임은 D3DHAL_DP2CREATEQUERY 사용하여 고유 식별자 및 쿼리 형식으로 각 쿼리를 식별합니다. 드라이버의 D3dDrawPrimitives2 콜백은 명령 버퍼에서 wPrimitiveCount D3DHAL_DP2CREATEQUERY 구조를 처리해야 합니다. wPrimitiveCount 값은 D3DHAL_DP2COMMAND 구조체에 지정됩니다. 드라이버는 이러한 구조를 구문 분석하고 필요에 따라 나타내는 쿼리에 대한 리소스를 만듭니다.

드라이버는 다음 쿼리 유형에 대한 리소스를 만듭니다.

  • D3DQUERYTYPE_EVENT 대한 BOOL입니다. 이벤트에 대한 D3DDP2OP_RESPONSEQUERY 사용하여 응답하기 전에 드라이버는 GPU(그래픽 처리 장치)가 이벤트와 관련된 모든 D3DHAL_DP2OPERATION 작업 처리를 완료하는지 확인해야 합니다. 즉, 드라이버는 이벤트의 ISSUE_END 상태가 발생한 후에만 응답합니다. 드라이버는 응답할 때 항상 이벤트의 BOOL 값을 TRUE 로 설정해야 합니다.
  • D3DQUERYTYPE_OCCLUSION DWORD입니다. 드라이버는 이 DWORD를 쿼리의 시작과 끝 사이의 모든 기본 형식에 대해 z-test가 통과한 픽셀 수로 설정합니다. 깊이 버퍼가 다중 샘플링된 경우 드라이버는 샘플 수에서 픽셀 수를 결정합니다. 그러나 디스플레이 디바이스가 다중 샘플 z 테스트 정확도를 사용할 수 있는 경우 일반적으로 픽셀 수로의 변환을 반올림해야 합니다. 그런 다음 애플리케이션은 폐색 결과를 0에 대해 검사 효과적으로 "완전히 폐색됨"을 의미할 수 있습니다. 다중 샘플링된 수량을 픽셀 수량으로 변환하는 드라이버는 렌더링 대상 다중 샘플링 변경 내용을 검색하고 쿼리 결과를 적절하게 계속 계산해야 합니다.
  • D3DQUERYTYPE_VCACHE 대한 D3DDEVINFO_VCACHE 구조체입니다.

요구 사항

요구 사항
헤더 d3dhal.h(D3dhal.h 포함)

추가 정보

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2