다음을 통해 공유


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 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.

문제 해결 정보는 Device.Graphics Testing 문제 해결을 참조하세요.

모든 테스트 사례는 PASS 또는 FAIL을 반환합니다. 실패에 대한 특정 세부 정보는 로그 파일의 테스트 결과를 검토합니다. 테스트 중인 기능을 지원하지 않는 기능 수준으로 테스트를 실행하면 테스트에서 건너뛰기를 반환할 수 있습니다. 포착되지 않은 예외가 있는 경우 테스트에서 BLOCKED를 반환할 수 있습니다(프레임워크가 끝에서 포착하여 기록함). 테스트 세부 정보를 검토하려면 Windows HLK 관리자에서 테스트 로그를 검토합니다.

추가 정보

다음은 StreamOut 적합성 테스트 계획에 대해 간략하게 설명합니다.

  • 일반 스트림 출력 테스트 사례

    • VB를 사용하여 입력 데이터를 파이프라인에 전달하고 VS 또는 GS에서 변환된 데이터를 스트리밍합니다.

      참고

         GS의 경우 입력 기본 형식당 둘 이상의 출력 기본 형식을 내보내 증폭 문제를 고려합니다.

       

    • 다양한 기본 형식, 버퍼 크기, 내보내기 수 및 버퍼 오프셋을 순환합니다.

    • Draw() 호출을 여러 번 수행하여 SO 데이터를 추가하면서 테스트합니다.

    • GS의 경우 다른 "maxvertexcount" 속성을 사용하여 셰이더를 순환합니다.

      경우에 따라 이 값을 오버플로하여 완전한 기본 형식만 유지되도록 합니다.

    • 다양한 입력 기본 형식 및 출력 토폴로지를 순환할 수 있습니다.

    • 예상 쿼리 결과 확인

      • STREAMOUTPUTSTATS

      • STREAMOVERFLOWPREDICATE

    • 불완전한 기본 형식 쓰기를 테스트합니다.

    • 그리기 순서 및 선행 꼭짓점 처리를 테스트합니다.

    • SO 버퍼당 최대 227개의 SO 꼭짓점이 허용됩니다.

      참고

         이 리소스는 매우 큰 리소스이므로 하나 또는 두 개의 테스트 사례에 대해 작동합니다.

       

  • 단순 단일 버퍼 테스트

    • 다음과 같은 여러 선언 시나리오를 순환합니다.

      • 단순하고

      • 간격을 유지합니다.

      • 여러 SO 요소 간에 출력 레지스터를 분할합니다.

      • 출력 레지스터를 단일 SO 요소로 병합합니다.

    • 다른 SO 꼭짓점 크기를 순환합니다.

      64개 구성 요소 SO 꼭짓점의 제한을 확인합니다.

  • 단순 다중 버퍼 테스트

    • 버퍼 크기/오프셋을 혼합하여 버퍼가 서로 다른 시간에 오버플로되도록 합니다.

    • 다음과 같은 여러 선언 시나리오를 순환합니다.

      • 단순하고

      • 출력 슬롯을 건너뜁니다.

      • 여러 SO 요소 간에 출력 레지스터를 분할합니다.

      • 부분 레지스터 구성 요소를 스트리밍합니다.

      • 0이 아닌 슬롯에서 단일 버퍼로 스트리밍합니다.

  • 스트림 출력 버퍼 핑퐁

    • 단순 단일 버퍼 및 단순 다중 버퍼 테스트와 유사합니다.

      • 처음에는 버퍼 A와 B를 양수 오프셋으로 바인딩합니다.

      • -1 오프셋 값을 사용하여 버퍼 A를 바인딩합니다.

      • Draw()

      • -1 오프셋 값을 사용하여 버퍼 B를 바인딩합니다.

      • Draw()

      • 필요에 따라 반복합니다.

    • 여러 버퍼 시나리오에서 선택적으로 Draw() 호출 간의 SO 버퍼 중 일부만 핑퐁하는 것이 좋습니다.

  • 동일한 대상 버퍼를 사용하여 SO 꼭짓점 크기 변경

    • "fat" 꼭짓점 진행 속도를 단일 버퍼로 설정한 다음, Draw()로 설정하고, "skinny" SO 꼭짓점 진행 속도를 설정한 다음, Draw()를 다시 설정하는 사용자 지정 테스트 사례입니다.

    • STREAMOUTPUTSTATS를 검사합니다.

    • "fat" 꼭짓점 스트리밍 중에 오버플로를 감시하고 skinny 꼭짓점을 대상에 추가할 수 없는지 확인합니다.

      참고

         오버플로된 상태가 버퍼에서 "고정"되는지 확인하기 위해 이 단계 중에 핑퐁을 고려합니다.

       

  • 주소 지정 가능 스트림 출력(D3D11)

    RasterizedStream 및 여러 데이터 벡터 테스트:

    • 래스터라이저로 스트림을 보낼 때 최종 결과가 해당 스트림의 꼭짓점 데이터를 사용하는지 확인합니다.

    • gs_4_x 셰이더를 사용하는 경우에도 기능 수준 11의 스트림에서 둘 이상의 데이터 벡터를 출력할 수 있는지 확인합니다.

    • 스트림 출력 버퍼의 요소 크기에 긴밀하게 맞춰지지 않은 진행 속도를 테스트합니다.

    • 런타임이 스트림 출력 선언을 사용하여 계산된 크기에 따라 진행 속도를 결정할 때 스트림 출력이 작동하는지 확인합니다. 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 NET 사용자의 LLU 이름
ConfigDisplayCommandLine ConfigDisplay용 사용자 지정 명령줄 기본값: 로고
TDRArgs /get 또는 /set