Поделиться через


Перечисление D3D11_QUERY (d3d11.h)

Типы запросов.

Синтаксис

typedef enum D3D11_QUERY {
  D3D11_QUERY_EVENT = 0,
  D3D11_QUERY_OCCLUSION,
  D3D11_QUERY_TIMESTAMP,
  D3D11_QUERY_TIMESTAMP_DISJOINT,
  D3D11_QUERY_PIPELINE_STATISTICS,
  D3D11_QUERY_OCCLUSION_PREDICATE,
  D3D11_QUERY_SO_STATISTICS,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE,
  D3D11_QUERY_SO_STATISTICS_STREAM0,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
  D3D11_QUERY_SO_STATISTICS_STREAM1,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
  D3D11_QUERY_SO_STATISTICS_STREAM2,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
  D3D11_QUERY_SO_STATISTICS_STREAM3,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
} ;

Константы

 
D3D11_QUERY_EVENT
Значение: 0
Определяет, завершена ли обработка команд GPU. После завершения обработки команд GPU ID3D11DeviceContext::GetData вернет S_OK, а pData будет указывать на BOOL со значением TRUE. При использовании этого типа запроса ID3D11DeviceContext::Begin отключен.
D3D11_QUERY_OCCLUSION
Получение количества примеров, прошедших тесты глубины и набора элементов между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает UINT64. Если тест глубины или набора элементов отключен, то каждый из этих тестов будет считаться проходным.
D3D11_QUERY_TIMESTAMP
Возвращает значение метки времени, где ID3D11DeviceContext::GetData возвращает UINT64. Этот тип запроса полезен только в том случае, если два запроса меток времени выполняются в середине запроса D3D11_QUERY_TIMESTAMP_DISJOINT. Разность двух меток времени можно использовать для определения количества тактов, а запрос D3D11_QUERY_TIMESTAMP_DISJOINT определит, является ли разница надежным значением, а также имеет ли значение, показывающее, как преобразовать количество тактов в секунды. См . D3D11_QUERY_DATA_TIMESTAMP_DISJOINT. При использовании этого типа запроса ID3D11DeviceContext::Begin отключен.
D3D11_QUERY_TIMESTAMP_DISJOINT
Определяет, возвращает ли D3D11_QUERY_TIMESTAMP надежные значения, а также указывает частоту процессора, позволяющую преобразовать количество затраченных тактов в секунды. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_TIMESTAMP_DISJOINT. Этот тип запроса должен вызываться только один раз для каждого кадра или меньше.
D3D11_QUERY_PIPELINE_STATISTICS
Получение статистики конвейера, например количества вызовов шейдера пикселей между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_PIPELINE_STATISTICS.
D3D11_QUERY_OCCLUSION_PREDICATE
Аналогично D3D11_QUERY_OCCLUSION, за исключением ID3D11DeviceContext::GetData возвращает boOL, указывающее, прошли ли какие-либо образцы тесты глубины и набора элементов. True означает, что по крайней мере один пройден, FALSE означает, что ни один из них не пройден.
D3D11_QUERY_SO_STATISTICS
Получение статистики выходных данных потоковой передачи, например количества потоковых примитивов между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_SO_STATISTICS структуру.
D3D11_QUERY_SO_OVERFLOW_PREDICATE
Определяет, переполняются ли буферы вывода потоковой передачи между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает значение BOOL — TRUE , означающее, что произошло переполнение, FALSE означает, что переполнение не было. Если потоковые выходные данные записываются в несколько буферов, а один из буферов переполнен, запись во все выходные буферы прекращается. При обнаружении переполнения Direct3D это предотвращается — память не повреждена. Это предикат можно использовать в сочетании с запросом SO_STATISTICS, чтобы при переполнении SO_STATISTIC запрос сообщил приложению, сколько памяти требуется для предотвращения переполнения.
D3D11_QUERY_SO_STATISTICS_STREAM0
Получение статистики потоковой передачи для потока 0, например количества потоковых примитивов между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_SO_STATISTICS структуру.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0
Определяет, переполняются ли буферы вывода потока 0 между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает значение BOOL — TRUE , означающее, что произошло переполнение, FALSE означает, что переполнение не было. Если потоковые выходные данные записываются в несколько буферов, а один из буферов переполнен, запись во все выходные буферы прекращается. При обнаружении переполнения Direct3D это предотвращается — память не повреждена. Это предикат можно использовать в сочетании с запросом SO_STATISTICS, чтобы при переполнении SO_STATISTIC запрос сообщил приложению, сколько памяти требуется для предотвращения переполнения.
D3D11_QUERY_SO_STATISTICS_STREAM1
Получение статистики потоковой передачи для потока 1, например количества потоковых примитивов между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_SO_STATISTICS структуру.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1
Определяет, переполняются ли буферы вывода потока 1 между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает значение BOOL — TRUE , означающее, что произошло переполнение, FALSE означает, что переполнение не было. Если потоковые выходные данные записываются в несколько буферов, а один из буферов переполнен, запись во все выходные буферы прекращается. При обнаружении переполнения Direct3D это предотвращается — память не повреждена. Это предикат можно использовать в сочетании с запросом SO_STATISTICS, чтобы при переполнении SO_STATISTIC запрос сообщил приложению, сколько памяти требуется для предотвращения переполнения.
D3D11_QUERY_SO_STATISTICS_STREAM2
Получение статистики потоковой передачи для потока 2, например количества примитивов, переданных в потоке между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_SO_STATISTICS структуру.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2
Определяет, переполняются ли буферы вывода потока 2 между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает значение BOOL — TRUE , означающее, что произошло переполнение, FALSE означает, что переполнение не было. Если потоковые выходные данные записываются в несколько буферов, а один из буферов переполнен, запись во все выходные буферы прекращается. При обнаружении переполнения Direct3D это предотвращается — память не повреждена. Это предикат можно использовать в сочетании с запросом SO_STATISTICS, чтобы при переполнении SO_STATISTIC запрос сообщил приложению, сколько памяти требуется для предотвращения переполнения.
D3D11_QUERY_SO_STATISTICS_STREAM3
Получение статистики потоковой передачи для потока 3, например количества потоковых примитивов между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData вернет D3D11_QUERY_DATA_SO_STATISTICS структуру.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
Определяет, переполняются ли буферы вывода потока 3 между ID3D11DeviceContext::Begin и ID3D11DeviceContext::End. ID3D11DeviceContext::GetData возвращает значение BOOL — TRUE , означающее, что произошло переполнение, FALSE означает, что переполнение не было. Если потоковые выходные данные записываются в несколько буферов, а один из буферов переполнен, запись во все выходные буферы прекращается. При обнаружении переполнения Direct3D это предотвращается — память не повреждена. Это предикат можно использовать в сочетании с запросом SO_STATISTICS, чтобы при переполнении SO_STATISTIC запрос сообщил приложению, сколько памяти требуется для предотвращения переполнения.

Комментарии

Создайте запрос с идентификатором ID3D11Device::CreateQuery.

Требования

Требование Значение
Заголовок d3d11.h

См. также раздел

Основные перечисления