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:
- Si la textura es un mapa de cubo, ranuras = 4; en caso contrario, las ranuras = 1.
- Si la textura es un mapa de cubo, ranuras = 5; en caso contrario, las ranuras = 2.
- Si la textura es un mapa de cubo, ranuras = 4; en caso contrario, las ranuras = 3.
Temas relacionados