Instrucciones de ps_3_0

Esta sección contiene información de referencia para las instrucciones de la versión 3_0 del sombreador de píxeles.

Hay varios tipos de instrucciones del sombreador de píxeles, como se muestra en la tabla. Las columnas a la derecha significan lo siguiente:

  • Ranuras de instrucción: número de ranuras de instrucción usadas por cada instrucción.
  • Configuración: un sombreador de píxeles debe tener una instrucción de versión y debe ser la primera instrucción.
  • Aritmética: estas instrucciones proporcionan las operaciones matemáticas en un sombreador.
  • Textura: estas instrucciones se usan para cargar y muestrear datos de textura, y para modificar las coordenadas de textura.
  • Control de flujo: estas instrucciones proporcionan control de flujo estático y dinámico a la ejecución de instrucciones.
  • Nuevo: estas instrucciones son nuevas en esta versión.

Conjunto de instrucciones

Nombre Descripción Ranuras de instrucción Configurar Aritméticos Textura Control de flujo Nuevo
abs - ps Valor absoluto 1 x
add - ps Adición de dos vectores 1 x
break - ps Descomponir un bucle... endloop o rep... bloque endrep 1 x
break_comp- ps Interrumpir condicionalmente un bucle... endloop o rep... bloque endrep, con una comparación 3 x
breakp - ps descomponir un bucle... endloop o rep... bloque endrep, basado en un predicado 3 x
call - ps Llamada a una subrutina 2 x
callnz bool - ps Llamar a una subrutina si un registro booleano no es cero 3 x
callnz pred - ps Llamar a una subrutina si un registro de predicado no es cero 3 x
cmp - ps Comparación del origen con 0 1 x
crs - ps Cross product 2 x
dcl_samplerType (sm2, sm3 - ps asm) Declaración de la dimensión de textura para un sampler 0 x
dcl_semantics (sm3 - ps asm) Declarar registros de entrada y salida 0 x x
def - ps Definir constantes 0 x
defb - ps Definición de una constante booleana 0 x
defi - ps Definir una constante de entero 0 x
dp2add - ps Producto de punto 2D y adición 2 x
dp3 - ps Producto de punto 3D 1 x
dp4 - ps Producto de punto 4D 1 x
dsx - ps Tasa de cambio en la dirección X 2 x
dsy - ps Tasa de cambio en la dirección y 2 x
else - ps Iniciar un bloque else 1 x
endif - ps Terminar un si... else block 1 x
endloop - ps Finalizar un bucle 2 x x
endrep - ps Fin de un bloque de repetición 2 x
exp - ps Precisión completa 2x 1 x
frc - ps Componente fraccional 1 x
if bool - ps Iniciar un bloque if 3 x
if_comp: ps Comenzar un bloque if con una comparación 3 x
if pred - ps Inicio de un bloque if con predicación 3 x
label: ps Etiqueta 0 x
log - ps Registro de precisión completa(x) 1 x
loop: ps Loop 3 x x
lrp - ps Interpolación lineal 2 x
m3x2 - ps Multiplicación de 3x2 2 x
m3x3 - ps Multiplicación de 3 x 3 3 x
m3x4 - ps Multiplicación de 3 x 4 4 x
m4x3 - ps Multiplicación de 4 x 3 3 x
m4x4 - ps Multiplicación de 4 x 4 4 x
mad - ps Multiplicar y agregar 1 x
max - ps Máximo 1 x
min - ps Mínima 1 x
mov - ps Move 1 x
mul - ps Multiplicar 1 x
nop - ps No hay ninguna operación 1 x
nrm - ps Normalizar 3 x
pow - ps xy 3 x
ps Versión 0 x
rcp - ps Recíproco 1 x
rep - ps Repeat 3 x
ret - ps Fin de una subrutina 1 x
rsq - ps Raíz cuadrada recíproca 1 x
setp_comp Establecimiento del registro de predicado 1 x
sincos - ps Seno y coseno 8 x
sub - ps Restar 1 x
texkill - ps Eliminación de representación de píxeles 2 x
texld: ps_2_0 y arriba Muestra de una textura Ver la nota 1 x
texldb - ps Muestreo de textura con sesgo de nivel de detalle de w-component 6 x
texldl - ps Muestreo de texturas con nivel de detalle de w-component Consulte la nota 2. x x
texldd - ps Muestreo de texturas con degradados proporcionados por el usuario 3 x
texldp - ps Muestreo de texturas con división projectiva por componente w Consulte la nota 3 x

 

Notas:

  1. Si la textura es un mapa de cubo, ranuras = 4; en caso contrario, las ranuras = 1.
  2. Si la textura es un mapa de cubo, ranuras = 5; en caso contrario, las ranuras = 2.
  3. Si la textura es un mapa de cubo, ranuras = 4; en caso contrario, las ranuras = 3.

Instrucciones del sombreador de píxeles