Перечисление 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 |