Método ID3D11DeviceContext::GetData (d3d11.h)
Obtenha dados da GPU (unidade de processamento gráfico) de forma assíncrona.
Sintaxe
HRESULT GetData(
[in] ID3D11Asynchronous *pAsync,
[out, optional] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
Parâmetros
[in] pAsync
Tipo: ID3D11Assíncrona*
Um ponteiro para uma interface ID3D11Assíncrona para o objeto sobre o qual GetData recupera dados.
[out, optional] pData
Tipo: void*
Endereço de memória que receberá os dados. Se NULL, GetData será usado apenas para marcar status. O tipo de saída de dados depende do tipo de interface assíncrona.
[in] DataSize
Tipo: UINT
Tamanho dos dados a serem recuperados ou 0. Deve ser 0 quando pData for NULL.
[in] GetDataFlags
Tipo: UINT
Sinalizadores opcionais. Pode ser 0 ou qualquer combinação dos sinalizadores enumerados por D3D11_ASYNC_GETDATA_FLAG.
Retornar valor
Tipo: HRESULT
Esse método retorna um dos códigos de retorno do Direct3D 11. Um valor retornado de S_OK indica que os dados em pData estão disponíveis para o aplicativo de chamada acessar. Um valor retornado de S_FALSE indica que os dados ainda não estão disponíveis. Se os dados ainda não estiverem disponíveis, o aplicativo deverá chamar GetData até que os dados estejam disponíveis.
Comentários
As consultas em um contexto adiado são limitadas ao desenho predefinido. Ou seja, você não pode chamar ID3D11DeviceContext::GetData em um contexto adiado para obter dados sobre uma consulta; você só pode chamar GetData no contexto imediato para obter dados sobre uma consulta. Para o desenho predefinido, os resultados de uma consulta de tipo de pré-indicação são usados pela GPU e não são retornados a um aplicativo. Para obter mais informações sobre precatório e desenho predefinido, consulte D3D11DeviceContext::SetPredication.
GetData recupera os dados que o runtime coletou entre chamadas para ID3D11DeviceContext::Begin e ID3D11DeviceContext::End. Determinadas consultas exigem apenas uma chamada para ID3D11DeviceContext::End nesse caso, os dados retornados por GetData são precisos até a última chamada para ID3D11DeviceContext::End. Para obter informações sobre as consultas que exigem apenas uma chamada para ID3D11DeviceContext::End e sobre o tipo de dados que GetData recupera para cada consulta, consulte D3D11_QUERY.
Se DataSize for 0, GetData só será usado para marcar status.
Um aplicativo coleta dados de contador chamando ID3D11DeviceContext::Begin, emitindo alguns comandos gráficos, chamando ID3D11DeviceContext::End e, em seguida, chamando ID3D11DeviceContext::GetData para obter dados sobre o que aconteceu entre as chamadas Begin e End . Para obter informações sobre tipos de contador de desempenho, consulte D3D11_COUNTER.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d11.h |
Biblioteca | D3D11.lib |