ID3D11DeviceContext::GetData 메서드(d3d11.h)
GPU(그래픽 처리 장치)에서 비동기적으로 데이터를 가져옵니다.
구문
HRESULT GetData(
[in] ID3D11Asynchronous *pAsync,
[out, optional] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
매개 변수
[in] pAsync
형식: ID3D11Asynchronous*
GetData가 데이터를 검색하는 개체에 대한 ID3D11Asynchronous 인터페이스에 대한 포인터입니다.
[out, optional] pData
형식: void*
데이터를 받을 메모리의 주소입니다. NULL인 경우 GetData는 검사 상태 데만 사용됩니다. 데이터 출력의 형식은 비동기 인터페이스의 형식에 따라 달라집니다.
[in] DataSize
형식: UINT
검색할 데이터의 크기 또는 0입니다. pData가 NULL인 경우 0이어야 합니다.
[in] GetDataFlags
형식: UINT
선택적 플래그입니다. 0 또는 D3D11_ASYNC_GETDATA_FLAG 열거된 플래그의 조합일 수 있습니다.
반환 값
형식: HRESULT
이 메서드는 Direct3D 11 반환 코드 중 하나를 반환합니다. S_OK 반환 값은 호출 애플리케이션이 액세스할 수 있도록 pData 의 데이터를 사용할 수 있음을 나타냅니다. S_FALSE 반환 값은 데이터를 아직 사용할 수 없음을 나타냅니다. 데이터를 아직 사용할 수 없는 경우 애플리케이션은 데이터를 사용할 수 있게 될 때까지 GetData 를 호출해야 합니다.
설명
지연된 컨텍스트의 쿼리는 조건자 그리기로 제한됩니다. 즉, 지연된 컨텍스트에서 ID3D11DeviceContext::GetData 를 호출하여 쿼리에 대한 데이터를 가져올 수 없습니다. 직접 컨텍스트에서만 GetData 를 호출하여 쿼리에 대한 데이터를 가져올 수 있습니다. 조건자 그리기의 경우 조건자 형식 쿼리의 결과는 GPU에서 사용되며 애플리케이션에 반환되지 않습니다. 조건자 및 조건자 그리기에 대한 자세한 내용은 D3D11DeviceContext::SetPredication을 참조하세요.
GetData 는 ID3D11DeviceContext::Begin 및 ID3D11DeviceContext:: End 호출 간에 런타임이 수집 한 데이터를 검색합니다. 특정 쿼리에는 ID3D11DeviceContext::End 에 대한 호출만 필요합니다. 이 경우 GetData 에서 반환된 데이터는 ID3D11DeviceContext::End에 대한 마지막 호출까지 정확합니다. ID3D11DeviceContext::End 호출만 필요한 쿼리 및 각 쿼리에 대해 GetData가 검색하는 데이터 형식에 대한 자세한 내용은 D3D11_QUERY.
DataSize가 0인 경우 GetData는 검사 상태 데만 사용됩니다.
애플리케이션은 ID3D11DeviceContext::Begin을 호출하고, 일부 그래픽 명령을 실행하고, ID3D11DeviceContext::End를 호출한 다음, ID3D11DeviceContext::GetData 를 호출하여 Begin 및 End 호출 사이에 발생한 일에 대한 데이터를 가져와 카운터 데이터를 수집합니다. 성능 카운터 유형에 대한 자세한 내용은 D3D11_COUNTER 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d11.h |
라이브러리 | D3D11.lib |