WGF11 Streamout (WoW64)
Esse teste automatizado verifica se o comportamento de fluxo D3D de hardware/drivers gráficos atende às especificações do Microsoft Direct3D.
Este tópico se aplica aos seguintes trabalhos de teste:
WGF11 Streamout
WGF11 Streamout (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). Para examinar os detalhes do teste, examine o log de teste do Gerenciador de HLK do Windows.
Mais informações
O seguinte descreve o Plano de Teste de Conformidade do StreamOut:
Casos gerais de teste do Stream Out
Passe dados de entrada para o pipeline usando o VB e transmita dados transformados do VS ou GS.
Observação
No caso do GS, considere problemas de amplificação emitindo mais de um primitivo de saída por primitivo de entrada.
Ciclo em diferentes tipos primitivos, tamanhos de buffer, contagens de emissão, deslocamentos de buffer de vand.
Teste o acréscimo de dados SO fazendo várias chamadas Draw().
Para GS, recicle em sombreadores com propriedades diferentes de "maxvertexcount".
Ocasionalmente, transborde esse valor, certificando-se de que apenas primitivos completos sejam mantidos.
Possivelmente, recicle em diferentes tipos primitivos de entrada e topologias de saída.
Verificar os resultados esperados da consulta
STREAMOUTPUTSTATS
STREAMOVERFLOWPREDICATE
Testar gravações primitivas incompletas.
Testar a ordem de enrolamento e a manipulação de vértice à esquerda.
Até 227 vértices SO por buffer SO são permitidos.
Observação
Como esse é um recurso tão grande, isso funciona provavelmente para um ou dois casos de teste.
Testes de Single-Buffer simples
Ciclo em vários cenários de declaração:
Simples.
Deixe lacunas.
Registros de saída divididos em vários elementos SO.
Mesclar o registro de saída em um único elemento SO.
Ciclo em diferentes tamanhos de vértice SO.
Verifique o limite de vértices SO de 64 componentes.
Testes de vários buffers simples
Misture tamanhos/deslocamentos de buffer para que os buffers transbordem em momentos diferentes.
Ciclo em vários cenários de declaração:
Simples.
Ignorar slot de saída.
Registros de saída divididos em vários elementos SO.
Transmitir componentes de registro parcial.
Transmitir para um único buffer no slot diferente de zero.
Ping ponging de buffers de saída de fluxo
Semelhante a testes simples de buffer único e vários buffers simples com um toque:
Associar inicialmente buffers A e B com um deslocamento positivo.
Associar buffer A usando -1 valor de deslocamento.
Draw()
Associe o buffer B usando o valor de deslocamento -1.
Draw()
Repita conforme necessário.
Em vários cenários de buffer, considere opcionalmente executar ping-ponging apenas alguns dos buffers SO entre chamadas Draw().
Alterando o tamanho do vértice SO usando o mesmo buffer de destino
Caso de teste personalizado que se concentra na configuração de passos de vértice "fat" para um único buffer, em seguida, Draw(), em seguida, define "skinny" SO vértice stride e, em seguida, Draw() novamente.
Examine STREAMOUTPUTSTATS.
Observe o estouro durante o streaming de vértice "gordo" e verifique se os vértices magros não podem ser acrescentados ao destino.
Observação
Considere executar ping-ponging durante esta etapa para garantir que o estado estourado seja "pegajoso" no buffer.
Saída de fluxo endereçável (D3D11)
Teste RasterizedStream e vários vetores de dados:
Ao enviar um fluxo para o rasterizador, verifique se o resultado final usa os dados de vértice desse fluxo.
Verifique se mais de um vetor de dados pode ser gerado de um fluxo no nível de recurso 11, mesmo ao usar um sombreador gs_4_x.
Teste avanços que não estão fortemente alinhados ao tamanho de um elemento em um buffer de saída de fluxo.
Verifique se a saída do fluxo funciona quando o runtime determina passos com base no tamanho calculado usando a declaração de saída do fluxo. O runtime faz isso quando os parâmetros stride na chamada create são NULL.
Testar o nível do recurso e o comportamento da consulta:
Ao usar os níveis de recursos 10 e 10.1, verifique se somente o fluxo 0 pode ser usado para a saída do fluxo.
Ao usar os níveis de recursos 10 e 10.1, verifique se apenas gs_4_x sombreadores podem ser usados. Se vários buffers forem usados, verifique se apenas um vetor de dados pode ser gerado do fluxo 0 i.
D3D11_QUERY_SO_STATISTICS e D3D11_QUERY_SO_OVERFLOW_PREDICATE consultas devem retornar os dados corretos para a soma de todos os fluxos. D3D11_QUERY_SO_STATISTICS_STREAMn e D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAMn consultas retornam os dados corretos para cada fluxo. Atualmente, há casos de teste para o caso de fluxo único. O seguinte será verificado:
Número esperado de primitivos gravados em buffers de saída de fluxo.
Tamanho esperado dos primitivos (se todos eles forem gerados para buffers).
O predicado de estouro é disparado quando um buffer estoura ao gravar nele.
Se um buffer em um fluxo for preenchido, as gravações em todos os buffers nesse fluxo serão impedidas.
Os resultados de consultas para fluxos indefinidos não devem ser afetados.
Sintaxe de comando
Opção de comando | Descrição |
---|---|
Wgf11streamout |
Rusn o teste. Sem nenhuma opção, o teste enumera os dispositivos. |
-FeatureLevel:XX.X |
Define o nível de recurso testado 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\ |
Wgf11streamout.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 |