Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот автоматизированный тест проверяет различные аспекты примитивного растеризатора и состояния растеризатора D3D, реализованные оборудованием.
Этот раздел относится к следующим тестовых заданиям:
WGF11 Rasterizer
Rasterizer WGF11 (WoW64)
Сведения о тесте
| Характеристики |
|
| Платформы |
|
| Поддерживаемые выпуски |
|
| Ожидаемое время выполнения (в минутах) | 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( )
Все примеры индексов, поддерживаемые целевым объектом отрисовки
Метод проверки начинается, когда пиксельный шейдер записывает значение интерполированного атрибута в целевой объект отрисовки. Затем целевые данные отрисовки сопоставляются и считываются. В случаях с целевыми объектами отрисовки с несколькими выборками перед сопоставлением требуется разрешение нескольких выборок. Результивные данные будут сравниваться с предварительно вычисленными интерполированными данными или данными, полученными при прямом доступе к атрибуту.
Если режим интерполяции является линейным noperspective:
Вычислите и сохраните интерполированные (и экстраполированные для обнаруженной области p2 и p3) значения для 256 позиций смещения каждого пикселя p1, p2, p3.
Для EvaluateAttributeSnapped :
Пиксель p1 должен иметь значение атрибута "pulled" между ожидаемыми значениями для левого и правого (а также верхнего и нижнего) соседних смещений "вытянутого" смещения.
Пиксели p2 и p3:
В случаях с одной выборкой их не следует отображать.
В случаях с несколькими выборками они должны иметь значение атрибута "pulled" между ожидаемыми значениями для левого и правого (а также верхнего и нижнего) соседних смещений "вытянутого" смещения.
Для EvaluateAttributeAtSample с SampleFinder найдите положение индекса выборки в системе координат выборки с диапазоном [-8, 7]. Используйте эту позицию, чтобы выполнить проверку так же, как в описании EvaluateAttributeSnapped выше.
Для EvaluateAttributeAtCentroid нарисуйте треугольник C1-C2-C3 с SV_COVERAGE, чтобы узнать первый охваченный образец, который является центроидной позицией, определенной моделью шейдера 5.0. Используйте пример индекса для centoid, чтобы выполнить проверку так же, как в приведенной выше инструкции EvaluateAttributeAtSample.
Если режим интерполяции линейный:
Вычислите и сохраните интерполированные (и экстраполированные для обнаруженной области p2 и p3) значения для 256 позиций смещения каждого пикселя, используя интерполяцию с правильной перспективой. Интерполяйте значения атрибутов, разделенные на соответствующее значение глубины, а затем разделите значение интерполированного атрибута на интерполированную обратную глубину.
Для EvaluateAttributeSnapped() используйте ту же проверку, что и 2.a.
Для EvaluateAttributeAtCentroid() используйте ту же проверку, что и 2.c.
Для EvaluateAttributeAtSample() используйте ту же проверку, что и 2.b.
Используйте PSInvocation, чтобы проверить количество вызовов PS для всех тестовых случаев.
Если какой-либо атрибут имеет режим интерполяции выборки или объявлен SV_SAMPLEINDEX, а число выборок больше 1, PSInvocation должно иметь значение 3*(количество выборок).
Если число выборок равно 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 |