다음을 통해 공유


dcl_indexRange(sm4 - asm)

인덱스(셰이더에서 계산된 정수)로 액세스할 레지스터 범위를 선언합니다.

dcl_indexRange minRegisterM, maxRegisterN
항목 설명
minRegisterM
[in] 인덱스로 액세스할 첫 번째 레지스터입니다.
  • minRegister는 꼭짓점 또는 픽셀 셰이더 입력 레지스터의 경우 v이고 꼭짓점 셰이더 출력 레지스터의 경우 o입니다.
  • M은 레지스터 번호를 나타내는 정수입니다.
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) 아니요

셰이더 모델 4 어셈블리(DirectX HLSL)