소프트웨어 셰이더

소프트웨어 셰이더는 기본 하드웨어 지원 없이 셰이더 개발을 허용하도록 구현됩니다. 전체 기능 집합을 지원합니다. 소프트웨어에서 구현되므로 최상의 성능을 생성하지 않습니다.

버전 기능 집합 요구 사항
vs_2_sw vs_2_x 모든 기능 소프트웨어 꼭짓점 처리 및 참조 디바이스에서만 지원됩니다.
vs_3_sw vs_3_0 모든 기능 소프트웨어 꼭짓점 처리 및 참조 디바이스에서만 지원됩니다.
ps_2_sw ps_2_x 모든 기능 참조 디바이스에서만 지원합니다.
ps_3_sw ps_3_0 모든 기능 참조 디바이스에서만 지원합니다.

 

일부 유효성 검사는 소프트웨어 셰이더에 대해 완화됩니다. 디버깅 및 프로토타입 생성에 유용합니다. 다음 유효성 검사는 완화됩니다. (다른 모든 유효성 검사는 동일하게 유지됨)

유효성 검사 유형 휴식
명령 수: 이것은 vs_2_sw, vs_3_sw 및 ps_2_sw ps_3_sw 완화됩니다. 무제한 지침이 허용됩니다.
Float 상수 수: 이것은 vs_2_sw, vs_3_sw 및 ps_2_sw ps_3_sw 완화됩니다. 최대 8192개의 상수가 허용됩니다.
정수 상수 수: 이것은 vs_2_sw, vs_3_sw 및 ps_2_sw ps_3_sw 완화됩니다. 최대 2048개의 상수가 허용됩니다.
부울 상수 수: 이것은 vs_2_sw, vs_3_sw 및 ps_2_sw ps_3_sw 완화됩니다. 최대 2048개의 상수가 허용됩니다.
종속 읽기 깊이: 이것은 ps_2_sw 위해 편안합니다. vs_3_0 및 ps_3_0 마찬가지로 무제한 종속 읽기가 허용됩니다.
흐름 제어 지침 및 레이블 수: 이것은 vs_2_sw 위해 편안합니다. 무제한 흐름 제어 지침과 최대 2048개의 레이블이 허용됩니다.
루프 수/시작/단계: 이들은 vs_2_sw, vs_3_sw, ps_2_sw 및 ps_3_sw 위해 편안합니다. rep 및 루프 명령에 대한 반복 시작 및 반복 단계 크기는 32비트 부가 정수입니다. 반복 횟수는 최대 MAX_INT/64개일 수 있습니다.
읽기 포트 제한: vs_2_sw, vs_3_sw, ps_2_sw 및 ps_3_sw 읽기 포트 제한이 없습니다.
보간자 수: vs_3_sw vs_3_0 (o#) 레지스터는 16개, ps_3_sw ps_3_0 레지스터(v#)는 10개입니다.

 

asm 셰이더 참조