WGF11 Rasterizer

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

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

  • WGF11 Rasterizer

  • Rasterizer WGF11 (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, если есть неперехваченное исключение (платформа перехватывает его в конце и регистрирует его).

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

Для D3D10 и более поздних версий этот тест проверяет следующее:

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

  • Режимы интерполяции в пиксельном шейдере

    • Режим константы прост, так как значения, отправленные из вершинного шейдера, не изменяются.

    • Так как линейные режимы не являются точно определенными, линейные режимы проверяются, гарантируя, что смежные пиксели не равны и соответствуют градиенту ребра.

  • Выборка вызова шейдера пикселей частоты (D3D10.1 и выше).

Для D3D11 этот тест проверяет оценку атрибута модели извлечения.

Следующие встроенные функции будут введены в D3D11 (HLSL 5.0) для функции оценки атрибутов модели по запросу:

  • EvaluateAttributeSnapped( attrib numeric value, int2 pixeloffset )

  • EvaluateAttributeAtSample( attrib numeric value, uint sampleindex )

  • EvaluateAttributeAtCentroid( attrib numeric value )

Для каждой встроенной функции будет создан набор шейдеров пикселей, предназначенных для различных комбинаций значений параметров встроенной функции и объявленных режимов интерполяции входных атрибутов.

Ниже приведены тестовые факторы для всех трех встроенных компонентов.

  • Входные атрибуты, передаваемые из вершинного шейдера.

    Примечание

       Интерполировать можно только атрибут типа float; Тип int/uint всегда будет режимом интерполяции констант

     

    • float4 texCoord: TEXCOORD

    • цвет float4: COLOR

    • float clipDis: SV_ClipDistance

  • Объявления режимов интерполяции.

    Примечание

       Режим nointerpolation не разрешен компилятором HLSL, если соответствующий атрибут вычисляется с помощью модели по запросу в шейдере.

     

    • linear

    • linear noPerspective

    • линейный центроид

    • линейная выборка

    • линейный центроид noPerspective

    • пример linear noPerspective

  • Примитивы для рисования:

    • Если режим интерполяции линейный, будет нарисован треугольник C1-C2-C3, как показано ниже. Он охватывает один целый пиксель и две половины пикселей. Координаты вершин в пространстве проекции следующие:

      <требуется изображение здесь

      C1: (-1, 1, 0), C2(-1, -1, 0), C3(1, 1, 0).

      Правый треугольник в квадрате с вершинами C1, C2 и C3; C1 формирует угол 90 градусов и находится в левом верхнем углу квадрата

  • Если режим интерполяции не является неперспективным, будет нарисован треугольник A-B-C со следующими координатами вершин в пространстве проекции:

    A:(-1, 1, 1);

    B:(-1, -1, 0);

    C:(1, 1, 1)

    Треугольник экранного пространства должен охватывать те же пиксели и области пикселей, что и показанный выше треугольник C1-C2-C3.

  • Целевой объект отрисовки

    • Формат: все форматы, поддерживающие целевой объект отрисовки.

    • Число выборок: 1, 2, ... максимальное поддерживаемого количества выборок.

Различные значения pixeloffset для EvaluateAttributeSnapped( )

В идеале все возможные 256 позиций смещения. Если тест выполняется слишком долго, эта группа тестовых случаев будет сокращена до 4 угловых позиций, 8 позиций границы, 4 позиций из сетки 4x4, 4 позиции из сетки 8x8 и 4 позиции из сетки 16x16.

Различные значения sampleindex для EvaluateAttributeAtSample( )

Все примеры индексов, поддерживаемые целевым объектом отрисовки

Метод проверки начинается, когда пиксельный шейдер записывает значение интерполированного атрибута в целевой объект отрисовки. Затем целевые данные отрисовки сопоставляются и считываются. В случаях с целевыми объектами отрисовки с несколькими выборками перед сопоставлением требуется разрешение нескольких выборок. Результивные данные будут сравниваться с предварительно вычисленными интерполированными данными или данными, полученными при прямом доступе к атрибуту.

  1. Если режим интерполяции является линейным noperspective:

    1. Вычислите и сохраните интерполированные (и экстраполированные для обнаруженной области p2 и p3) значения для 256 позиций смещения каждого пикселя p1, p2, p3.

    2. Для EvaluateAttributeSnapped :

      • Пиксель p1 должен иметь значение атрибута "pulled" между ожидаемыми значениями для левого и правого (а также верхнего и нижнего) соседних смещений "вытянутого" смещения.

      • Пиксели p2 и p3:

        В случаях с одной выборкой их не следует отображать.

        В случаях с несколькими выборками они должны иметь значение атрибута "pulled" между ожидаемыми значениями для левого и правого (а также верхнего и нижнего) соседних смещений "вытянутого" смещения.

    3. Для EvaluateAttributeAtSample с SampleFinder найдите положение индекса выборки в системе координат выборки с диапазоном [-8, 7]. Используйте эту позицию, чтобы выполнить проверку так же, как в описании EvaluateAttributeSnapped выше.

    4. Для EvaluateAttributeAtCentroid нарисуйте треугольник C1-C2-C3 с SV_COVERAGE, чтобы узнать первый охваченный образец, который является центроидной позицией, определенной моделью шейдера 5.0. Используйте пример индекса для centoid, чтобы выполнить проверку так же, как в приведенной выше инструкции EvaluateAttributeAtSample.

  2. Если режим интерполяции линейный:

    1. Вычислите и сохраните интерполированные (и экстраполированные для обнаруженной области p2 и p3) значения для 256 позиций смещения каждого пикселя, используя интерполяцию с правильной перспективой. Интерполяйте значения атрибутов, разделенные на соответствующее значение глубины, а затем разделите значение интерполированного атрибута на интерполированную обратную глубину.

    2. Для EvaluateAttributeSnapped() используйте ту же проверку, что и 2.a.

    3. Для EvaluateAttributeAtCentroid() используйте ту же проверку, что и 2.c.

    4. Для EvaluateAttributeAtSample() используйте ту же проверку, что и 2.b.

  3. Используйте PSInvocation, чтобы проверить количество вызовов PS для всех тестовых случаев.

    1. Если какой-либо атрибут имеет режим интерполяции выборки или объявлен SV_SAMPLEINDEX, а число выборок больше 1, PSInvocation должно иметь значение 3*(количество выборок).

    2. Если число выборок равно 1, PSInvocation должно иметь значение 1.

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

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

Wgf11rasterizer

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

-FeatureLevel:XX.X

Задает уровень feauture, где 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\

Wgf11rasterizer.exe

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

 

Параметры

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