dcl_indexRange(sm4 - asm)
인덱스(셰이더에서 계산된 정수)로 액세스할 레지스터 범위를 선언합니다.
dcl_indexRange minRegisterM, maxRegisterN |
---|
항목 | 설명 |
---|---|
minRegisterM |
[in] 인덱스로 액세스할 첫 번째 레지스터입니다.
|
maxRegisterN |
[in] 인덱스로 액세스할 마지막 레지스터입니다.
N이 레지스터 번호라는 점을 제외하면 minRegister와 같은 형식입니다. |
다음 제한 사항은 모든 레지스터에 적용됩니다.
- 최소 및 최대 레지스터는 형식이 동일해야 하며 성분 마스크가 동일해야 합니다(마스크가 선언된 경우).
- 레지스터는 겹치지 않는 한 여러 인덱스 범위를 가질 수 있습니다.
- 최소 레지스터 수는 최대 레지스터 수보다 작아야 합니다.
- 인덱스 레지스터는 시스템 값을 포함할 수 없습니다.
- 최대 인덱스 선언 외부에서 레지스터를 인덱싱하면 정의되지 않은 결과가 생성됩니다.
픽셀 셰이더 입력 레지스터는 동일한 보간 모드를 사용해야 합니다. 픽셀 셰이더 출력 레지스터는 인덱싱할 수 없습니다.
기하 도형 셰이더 입력 레지스터에는 두 가지 차원(꼭짓점 축, 특성 축)이 있습니다. 꼭짓점 축은 항상 완전히 인덱싱할 수 있기 때문에 인덱스 범위는 특성 축에만 적용됩니다.
이 명령은 다음 셰이더 단계에 적용됩니다.
꼭짓점 셰이더 | 기하 도형 셰이더 | 픽셀 셰이더 |
---|---|---|
x | x | x |
이 명령은 어셈블리에서 셰이더 디버그를 돕기 위해 포함되었습니다. 셰이더 모델 4를 사용하여 어셈블리 언어로 셰이더를 작성할 수 없습니다.
예
다음은 예제입니다.
dcl_indexRange v1, v3
dcl_indexRange v4, v9
최소 셰이더 모델
이 함수는 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원됨 |
---|---|
셰이더 모델 5 | 예 |
셰이더 모델 4.1 | 예 |
셰이더 모델 4 | 예 |
셰이더 모델 3(DirectX HLSL) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |