소프트웨어 셰이더는 기본 하드웨어 지원 없이 셰이더 개발을 허용하도록 구현됩니다. 전체 기능 집합을 지원합니다. 소프트웨어에서 구현되므로 최상의 성능을 생성하지 않습니다.
| 버전 | 기능 집합 | 요구 사항 |
|---|---|---|
| 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개입니다. |
관련 항목