Rasterizador WGF11
Esse teste automatizado verifica vários aspectos do rasterizador primitivo D3D e do estado do rasterizador, conforme implementado pelo hardware.
Este tópico se aplica aos seguintes trabalhos de teste:
Rasterizador WGF11
Rasterizador WGF11 (WoW64)
Detalhes do teste
Especificações |
|
Plataformas |
|
Versões com suporte |
|
Tempo de execução esperado (em minutos) | 2 |
Categoria | Compatibilidade |
Tempo limite (em minutos) | 120 |
Requer reinicialização | false |
Requer configuração especial | false |
Tipo | automático |
Documentação adicional
Os testes nessa área de recurso podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontradas nos tópicos a seguir:
Executando o teste
Antes de executar o teste, conclua a configuração de teste conforme descrito nos requisitos de teste: Pré-requisitos de teste de adaptador gráfico ou chipset.
Solucionando problemas
Para solução de problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.
Para obter informações de solução de problemas, consulte Solução de problemas de teste de device.graphics.
Todos os casos de teste retornam PASS ou FAIL. Examine os resultados do teste no arquivo de log para obter detalhes específicos sobre falhas. O teste poderá retornar SKIP se for executado com um nível de recurso que não dá suporte ao recurso que está sendo testado. O teste poderá retornar BLOCKED se houver uma exceção não capturada (a estrutura a capturará no final e a registrará em log).
Mais informações
Para D3D10 e superior, esse teste verifica o seguinte:
Abate primitivo, modo de preenchimento e ordem de enrolamento com base no estado do rasterizador.
Modos de interpolação no sombreador de pixel
O modo constante é simples, pois não há nenhuma alteração dos valores enviados do sombreador de vértice.
Como não é bem especificado, os modos lineares são verificados garantindo que os pixels adjacentes não sejam iguais e sigam o gradiente de uma borda.
Invocação de sombreador de pixel de frequência de exemplo (D3D10.1 e superior).
Para D3D11, esse teste verifica a avaliação do atributo do modelo de pull.
As seguintes funções intrínsecas serão introduzidas em D3D11 (HLSL 5.0) para o recurso de avaliação de atributo de modelo de pull:
EvaluateAttributeSnapped( attrib numeric value, int2 pixeloffset )
EvaluateAttributeAtSample( attrib numeric value, uint sampleindex )
EvaluateAttributeAtCentroid( attrib numeric value )
Para cada função intrínseca, um conjunto de sombreadores de pixel será gerado, direcionando os casos em combinações diferentes dos valores de parâmetro da função intrínseca e os modos de interpolação declarados dos atributos de entrada.
Veja a seguir fatores de teste para todos os três intrínsecos:
Atributos de entrada passados do sombreador de Vértice.
Observação
Somente o atributo de tipo float pode ser interpolado; tipo int/uint sempre será o modo de interpolação constante
float4 texCoord : TEXCOORD
cor float4: COLOR
float clipDis : SV_ClipDistance
Declarações de modos de interpolação.
Observação
O modo de nointerpolação não é permitido pelo compilador HLSL quando o atributo correspondente é avaliado com o modelo de pull no sombreador.
linear
linear noPerspective
centroide linear
exemplo linear
linear noPerspective centroid
exemplo linear noPerspective
Primitivos a serem desenhados:
Quando o modo de interpolação for linear, um triângulo C1-C2-C3 da seguinte maneira será desenhado. Isso abrange um pixel inteiro e dois pixels e meio. As coordenadas dos vértices no espaço de projeção são as seguintes:
<imagem need aqui
C1: (-1, 1, 0), C2(-1, -1, 0), C3(1, 1, 0).
Triângulo direito dentro de um quadrado, com vértices C1, C2 e C3; C1 forma o ângulo de 90 graus e está no canto superior esquerdo do quadrado
Quando o modo de interpolação não for específico, um triângulo A-B-C com as seguintes coordenadas de vértice no espaço de projeção será desenhado:
A:(-1, 1, 1);
B:(-1, -1, 0);
C:(1, 1, 1)
O triângulo de espaço na tela deve abranger os mesmos pixels e áreas de pixel que o triângulo C1-C2-C3 mostrado acima.
Destino de renderização
Formato: todos os formatos que dão suporte ao destino de renderização.
Contagem de exemplos: 1, 2, ... a contagem máxima de exemplos com suporte.
Valores diferentes de pixeloffset para EvaluateAttributeSnapped( )
Idealmente, todas as possíveis 256 posições de deslocamento. Se o teste for muito longo, esse grupo de casos de teste será reduzido para 4 posições de canto, 8 posições de borda, 4 posições da grade 4x4, 4 posições da grade 8x8 e 4 posições da grade 16x16.
Valores diferentes de sampleindex para EvaluateAttributeAtSample( )
Todos os índices de exemplo compatíveis com o destino de renderização
O método de verificação começa quando o sombreador de pixel grava o valor do atributo interpolado no destino de renderização. Os dados de destino de renderização são mapeados e lidos. Em casos de destinos de renderização multissamplos, é necessário resolve de várias resolve antes do mapeamento. Os dados de resultado serão comparados com dados interpolados pré-calculados ou dados provenientes do acesso direto ao atributo.
Quando o modo de interpolação é linear não específico:
Calcule e armazene os valores interpolados (e extrapolados para área descoberta de p2 e p3) para 256 posições de deslocamento de cada pixel de p1, p2, p3.
Para EvaluateAttributeSnapped:
Pixel p1 deve ter o valor de atributo "pulled" entre os valores esperados para a esquerda e direita (bem como deslocamentos vizinhos superiores e inferiores) do deslocamento "puxado".
Pixels p2 e p3:
Em casos de amostra única, eles não devem ser renderizados.
Em casos com várias amostras, eles devem ter o valor de atributo "pulled" entre os valores esperados para a esquerda e direita (bem como deslocamentos vizinhos superiores e inferiores) do deslocamento "puxado".
Para EvaluateAttributeAtSample com SampleFinder, localize a posição do índice de exemplo no sistema de coordenadas de exemplo com intervalo [-8, 7]. Use essa posição para fazer a verificação da mesma maneira que em EvaluateAttributeSnapped acima.
Para EvaluateAttributeAtCentroid, desenhe o triângulo C1-C2-C3 com SV_COVERAGE para descobrir a primeira amostra coberta, que é a posição centroide definida pelo Modelo de Sombreador 5.0. Use o índice de exemplo para centoid para fazer a verificação da mesma maneira que em EvaluateAttributeAtSample acima.
Quando o modo de interpolação é linear:
Calcule e armazene os valores interpolados (e extrapolados para área descoberta de p2 e p3) para 256 posições de deslocamento de cada pixel, usando a interpolação correta de perspectiva. Interpole os valores de atributo que foram divididos pelo respectivo valor de profundidade e divida o valor do atributo interpolado pelo recíproco interpolado da profundidade.
Para EvaluateAttributeSnapped(), use a mesma verificação que 2.a.
Para EvaluateAttributeAtCentroid(), use a mesma verificação que 2.c.
Para EvaluateAttributeAtSample(), use a mesma verificação que 2.b.
Use PSInvocation para verificar o número de invocações de PS para todos os casos de teste.
Se qualquer atributo tiver modo de interpolação de exemplo ou SV_SAMPLEINDEX for declarado e a contagem de exemplo for maior que 1, PSInvocation deverá ser 3*(contagem de exemplo).
Quando a contagem de exemplo for 1, PSInvocation deverá ser 1.
Sintaxe de comando
Opção de comando | Descrição |
---|---|
Wgf11rasterizer |
Executa os trabalhos de teste. Sem opções, o teste enumera dispositivos. |
-FeatureLevel:XX.X |
Define o nível de abertura, em que XX.X é o Nível de Recurso em que o teste será executado em: 10.0, 10.1 ou 11.0. |
Observação
Para obter ajuda de linha de comando para esse binário de teste, digite /?.
Lista de arquivos
Arquivo | Location |
---|---|
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 |
Parâmetros
Nome do parâmetro | Descrição do parâmetro |
---|---|
MODIFIEDCMDLINE | Argumentos de linha de comando adicionais para executável de teste |
LLU_NetAccessOnly | Nome da LLU do usuário líquido |
ConfigDisplayCommandLine | Linha de comando personalizada para ConfigDisplay. Padrão: logotipo |
TDRArgs | /get ou /set |