소프트웨어 셰이더

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

버전 기능 집합 요구 사항
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의 16개 레지스터 - vs_3_0(o#) 및 ps_3_sw의 10개 ps_3_0 레지스터(v#)가 있습니다.

 

Asm 셰이더 참조