Compartilhar via


dcl_indexRange (sm4 – asm)

Declara um intervalo de registros que serão acessados pelo índice (um inteiro calculado no sombreador).

dcl_indexRange minRegisterM, maxRegisterN
Item Descrição
minRegisterM
[in] O primeiro registro a ser acessado por índice.
  • minRegister é v para um registro de entrada de sombreador de vértice ou pixel ou o para um registro de saída de sombreador de vértice.
  • M é um inteiro que denota o número do registro.
maxRegisterN
[in] O último registro a ser acessado pelo índice. O mesmo formulário que minRegister , exceto N , é o número do registro.

As seguintes restrições se aplicam a todos os registros:

  • Os registros mínimo e máximo devem ser do mesmo tipo e ter as mesmas máscaras de componente (se as máscaras forem declaradas).
  • Um registro pode ter vários intervalos de índice, desde que não se sobreponham.
  • O número de registro mínimo deve ser menor que o número máximo de registro.
  • Um registro de índice não pode conter um valor do sistema.
  • Indexar um registro fora da declaração de índice máximo produz resultados indefinidos.

Os registros de entrada do sombreador de pixel devem usar o mesmo modo de interpolação; Os registros de saída do sombreador de pixel não são indexáveis.

Um registro de entrada de sombreador de geometria tem duas dimensões (eixo de vértice, eixo de atributo); o intervalo de índice aplica-se somente ao eixo do atributo porque o eixo do vértice é sempre totalmente indexável.

Esta instrução se aplica aos seguintes estágios de sombreador:

Sombreador de vértice Sombreador de geometria Sombreador de pixel
x x x

Esta instrução é incluída para auxiliar na depuração de um sombreador no assembly; não é possível criar um sombreador na linguagem de assembly usando o Modelo de Sombreador 4.

Exemplo

Veja um exemplo.

dcl_indexRange v1, v3
dcl_indexRange v4, v9

Modelo de sombreador mínimo

Essa função tem suporte nos seguintes modelos de sombreador.

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 sim
Modelo de sombreador 4 sim
Modelo de Sombreador 3 (DirectX HLSL) não
Modelo de Sombreador 2 (DirectX HLSL) não
Modelo de Sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 4 (DirectX HLSL)