픽셀 셰이더 차이점
명령 슬롯
각 버전은 다양한 수의 최대 명령 슬롯을 지원합니다.
버전 | 최대 명령 슬롯 수 |
---|---|
ps_1_1 | 4 텍스처 + 8 산술 |
ps_1_2 | 4 텍스처 + 8 산술 |
ps_1_3 | 4 텍스처 + 8 산술 |
ps_1_4 | 6개 텍스처 + 위상당 8개 산술 연산 |
ps_2_0 | 32 텍스처 + 64 산술 |
ps_2_x | 최소 96개, D3DCAPS9 슬롯 수까지 D3DPSHADERCAPS2_0.NumInstructionSlots. D3DPSHADERCAPS2_0 참조하세요. |
ps_3_0 | 최소 512개, D3DCAPS9 슬롯 수까지 MaxPixelShader30InstructionSlots. D3DPSHADERCAPS2_0 참조하세요. |
소프트웨어 셰이더의 제한 사항에 대한 자세한 내용은 소프트웨어 셰이더 참조하세요.
흐름 제어 중첩 제한
- 흐름 제어 제한 사항참조하세요.
ps_1_x 기능
새 지침:
ps_1_1, ps_1_2, ps_1_3 ps_1_4 지침참조하세요.
새 레지스터:
레지스터 ps_1_1__ps_1_2__ps_1_3__ps_1_4 참조하세요.
ps_2_0 기능
새로운 기능:
- 세 가지 새로운 스위즐 - .yzxw, .zxyw, .wzyx
- 임시 등록 수(r#)가 12로 증가했습니다.
- 상수 Float 레지스터 레지스터 수(c#)가 32개로 증가했습니다.
- 텍스처 좌표 레지스터수(t#)가 8로 증가했습니다.
새 지침:
- 설치 지침 - dcl - (sm2, sm3 - ps asm), dcl_samplerType(sm2, sm3 - ps asm)
- 산술 지침 - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - psm3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, max - ps, min - ps, nrm - pspow - ps, rcp - ps, rsq - ps, sincos - ps
- 질감 명령 - texld - ps_2_0 및 최대(다른 구문), texldb - ps, texldp - ps
새 레지스터:
ps_2_x 기능
새로운 기능(D3DPSHADERCAPS2_0참조):
- 동적 흐름 제어
- 정적 흐름 제어
- 동적 및 정적 흐름 제어 지침에 대한 중첩
- 임시 등록수(r#) 증가
- 임의 소스 스위즐
- 그라데이션 지침
- 서술
- 종속 텍스처 읽기 제한 없음
- 질감 명령 제한 없음
새 지침:
- 정적 흐름 제어 명령 - 경우 bool - ps, 호출 - ps, callnz bool - ps, 기타 - ps, endif - ps, rep - ps, endrep - ps, label - ps, ret - ps
- 동적 흐름 제어 명령 - 중단 - ps, break_comp - ps, 중단 - ps, callnz pred - ps, if_comp - ps, pred인 경우 - ps, setp_comp - ps
- 산술 명령 - dsx - ps, dsy - ps
- 질감 명령 - texldd - ps
새 레지스터:
- 조건자 등록(p0)
ps_3_0 기능
새로운 기능:
- 통합된 10개 입력 레지스터(v#)
- 루프 카운터 레지스터(aL)를 사용하여 인덱싱 가능한 입력 색 등록(v#)
- 임시 등록수(r#)가 32로 증가했습니다.
- 상수 Float 레지스터수(c#)가 224로 증가했습니다.
새 지침:
- 설치 명령 - dcl_semantics(sm3 - ps asm)
- 정적 흐름 명령 - 루프 - ps, endloop - ps
- 산술 명령 - sincos - ps(새 구문)
- 질감 명령 - texldl - ps
새 레지스터:
- 입력 레지스터(v#)
- 위치 레지스터(vPos)
- Face Register(vFace)
관련 항목