WGF11 Streamout

Этот автоматизированный тест проверяет, соответствует ли поведение графических драйверов или аппаратного D3D-потока требованиям Microsoft Direct3D.

Этот раздел относится к следующим тестовых заданиям:

  • WGF11 Streamout

  • WGF11 Streamout (WoW64)

Сведения о тесте

   
Характеристики
  • Device.Graphics.AdapterRender.D3D111Core.D3D111CorePrimary
  • Device.Graphics.AdapterRender.D3D11Core.D3D11CorePrimary
  • Device.Graphics.AdapterRender.D3D101Core.D3D101CorePrimary
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
  • Windows 10, клиентские выпуски (Arm64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 2
Категория Совместимость
Время ожидания (в минутах) 120
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Запуск теста

Перед запуском теста завершите настройку теста, как описано в разделе Требования к тестированию: Предварительные требования к тестированию графического адаптера или набора микросхем.

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок см. в разделе Устранение неполадок с тестированием Device.Graphics.

Все тестовые случаи возвращают значение PASS или FAIL. Просмотрите результаты теста в файле журнала, чтобы получить подробные сведения о сбоях. Тест может возвращать SKIP, если он выполняется с уровнем компонентов, который не поддерживает проверяемую функцию. Тест может вернуть значение BLOCKED, если есть неперехваченное исключение (платформа перехватывает его в конце и регистрирует его). Чтобы просмотреть сведения о тесте, просмотрите журнал тестирования из диспетчера HLK Windows.

Дополнительные сведения

Ниже приведен план тестирования соответствия StreamOut.

  • Общие тестовые случаи потоковой передачи

    • Передача входных данных в конвейер с помощью VB и потоковая передача преобразованных данных из VS или GS.

      Примечание

         В случае GS рассмотрите проблемы с усилением, создавая несколько выходных примитивов для каждого входного примитива.

       

    • Циклический цикл для различных примитивных типов, размеров буфера, количества имитируемых значений, смещения буфера vand.

    • Проверьте добавление данных SO, выполнив несколько вызовов Draw().

    • Для GS циклический цикл по шейдерам с разными свойствами maxvertexcount.

      Иногда переполняйте это значение, чтобы сохранить только полные примитивы.

    • Возможно циклический цикл для различных типов примитивов входных данных и выходных топологий.

    • Проверка ожидаемых результатов запроса

      • STREAMOUTPUTSTATS

      • STREAMOVERFLOWPREDICATE

    • Проверка неполных примитивных операций записи.

    • Проверка порядка обмотки и обработки вершин в начале.

    • Допускается до 227 вершин SO на каждый буфер SO.

      Примечание

         Так как это такой большой ресурс, он работает, вероятно, для одного или двух тестовых случаев.

       

  • Простые тесты Single-Buffer

    • Цикл в нескольких сценариях объявления:

      • Просто.

      • Оставьте пробелы.

      • Разделение выходных регистров между несколькими элементами SO.

      • Объедините выходной регистр в один элемент SO.

    • Цикл на разных размерах вершин SO.

      Проверьте ограничение 64-компонентных вершин SO.

  • Простые тесты с несколькими буферами

    • Смешивайте размеры и смещения буферов, чтобы буферы переполнены в разное время.

    • Цикл в нескольких сценариях объявления:

      • Просто.

      • Пропуск выходного слота.

      • Разделение выходных регистров между несколькими элементами SO.

      • Потоковая передача компонентов частичной регистрации.

      • Потоковая передача в один буфер в ненулевом слоте.

  • Пинг-понга для буферов вывода потока

    • Похожие на простые тесты с одним буфером и с несколькими буферами с поворотом:

      • Изначально привязывают буферы A и B с положительным смещением.

      • Привязка буфера A с помощью значения смещения -1.

      • Draw()

      • Привязка буфера B с помощью значения смещения -1.

      • Draw()

      • Повторите эту процедуру, если необходимо.

    • В сценариях с несколькими буферами при необходимости рассмотрите возможность ping-ponging только некоторых буферов SO между вызовами Draw().

  • Изменение размера вершины SO с использованием того же целевого буфера

    • Пользовательский тестовый случай, в котором основное внимание уделяется настройке "жирных" шагов вершин в одном буфере, затем Draw(), затем задает "тощий" шаг вершины SO, а затем Draw() снова.

    • Изучите STREAMOUTPUTSTATS.

    • Следите за переполнением во время потоковой передачи "жирных" вершин и убедитесь, что тощий вершины не могут быть добавлены к целевому объекту.

      Примечание

         Рассмотрите возможность пинг-понгов на этом шаге, чтобы убедиться, что переполнение является "прикрепленным" в буфере.

       

  • Адресные потоковые выходные данные (D3D11)

    Тестирование RasterizedStream и нескольких векторов данных:

    • При отправке потока в растеризатор убедитесь, что конечный результат использует данные вершины из этого потока.

    • Убедитесь, что из потока на уровне компонентов 11 можно выводить несколько векторов данных, даже при использовании gs_4_x шейдера.

    • Тестовые шаги, которые не выровнены по размеру элемента в буфере вывода потока.

    • Убедитесь, что потоковые выходные данные работают, когда среда выполнения определяет шаги на основе размера, вычисленного с помощью объявления выходных данных потока. Среда выполнения делает это, если параметры шага в вызове create имеют значение NULL.

  • Тестирование уровня функций и поведения запросов:

    • При использовании уровней компонентов 10 и 10.1 убедитесь, что для вывода потока можно использовать только поток 0.

    • При использовании уровней компонентов 10 и 10.1 убедитесь, что можно использовать только gs_4_x шейдеры. Если используется несколько буферов, убедитесь, что из потока 0 i может быть выведен только один вектор данных.

    • D3D11_QUERY_SO_STATISTICS и D3D11_QUERY_SO_OVERFLOW_PREDICATE запросы должны возвращать правильные данные для суммы всех потоков. D3D11_QUERY_SO_STATISTICS_STREAMn и D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAMn запросы возвращают правильные данные для каждого потока. В настоящее время существуют тестовые случаи для одного потока. Будет проверено следующее:

      • Ожидаемое число примитивов, записанных в потоковые буферы вывода.

      • Ожидаемый размер примитивов (если все они будут выводиться в буферы).

      • Предикат переполнения активируется при переполнении одного буфера при записи в него.

      • Если заполнен один буфер в потоке, запись во все буферы в этом потоке предотвращается.

      • Результаты запросов для неопределенных потоков не должны быть затронуты.

Синтаксис команды

Параметр команды Описание

Wgf11streamout

Переведите тест в русл. Без каких-либо параметров тест перечисляет устройства.

-FeatureLevel:XX.X

Задает тестируемый уровень компонентов, где XX.X — это уровень компонентов, на котором будет выполняться тест: 10.0, 10.1 или 11.0.

Примечание

   Для справки командной строки для этого тестового двоичного файла введите /?.

 

Список файлов

Файл Расположение

Configdisplay.exe

<[testbinroot]>\nttest\windowstest\tools\

D3d11_1sdklayers.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3d11ref.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3d11sdklayers.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3dcompiler_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support

D3dx10_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

d3dx11_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

TDRWatch.exe

<[testbinroot]>\nttest\windowstest\graphics\

Wgf11streamout.exe

<[testbinroot]>\nttest\windowstest\graphics\d3d\conf

 

Параметры

Имя параметра Описание параметра
MODIFIEDCMDLINE Дополнительные аргументы командной строки для тестового исполняемого файла
LLU_NetAccessOnly LLU Имя сетевого пользователя
ConfigDisplayCommandLine Пользовательская командная строка для ConfigDisplay. По умолчанию: логотип
TDRArgs /get или /set