Compartir a través de


imm_atomic_iadd (sm5 - asm)

Entero atómico inmediato que se agrega a la memoria. Devuelve el valor en memoria antes de agregar.

imm_atomic_iadd dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
Elemento Descripción
dst0
[in] Contiene el valor en dst1 antes de la escritura.
dst1
Este valor debe ser una vista de acceso desordenada (UAV) (u#). En el sombreador de proceso, también puede ser memoria compartida del grupo de subprocesos (g#).
dstAddress
[in] La memoria naddress.
src0
[in] Valor que se va a agregar a dst1.

Comentarios

Esta instrucción realiza una adición de enteros de 32 bits de un solo componente de src0 con dst1 a 32 bits por dirección de componente dstAddress. No distingue signos.

Si dst1 es u#, es posible que se haya declarado como sin formato, con tipo o estructurado. Si se escribe, se debe declarar como UINT/SINT con el formato de recurso enlazado que se R32_UINT/_SINT.

Si dst1 es g#, debe declararse como sin formato o estructurado.

El valor de la memoria dst1 antes de que se devuelva la adición a dst0.

El número de componentes tomados de la dirección viene determinado por la dimensionalidad de dst1.

Toda la operación se realiza de forma atómica.

Si la invocación del sombreador está inactiva, por ejemplo, si el píxel se ha descartado anteriormente en su ejecución, o solo existe una invocación de píxeles o muestras para servir como asistente para un píxel o muestra real para derivados, esta instrucción no modifica la memoria dst1 en absoluto y el valor devuelto no está definido.

El direccionamiento fuera de los límites en u# hace que no se escriba nada en la memoria, excepto si el u# está estructurado y el desplazamiento de bytes en la estructura (segundo componente de la dirección) está causando el acceso fuera de los límites, entonces todo el contenido de la UAV se vuelve indefinido.

El direccionamiento fuera de los límites en u# o g# hace que se devuelva un resultado indefinido al sombreador en dst0.

Esta instrucción se aplica a las siguientes fases del sombreador:

Vértice Casco Domain Geometría Píxel Compute
x x

Dado que las UAV están disponibles en todas las fases del sombreador para Direct3D 11.1, esta instrucción se aplica a todas las fases del sombreador para el entorno de ejecución de Direct3D 11.1, que está disponible a partir de Windows 8.

Vértice Casco Domain Geometría Píxel Proceso
x x x x x x

Modelo de sombreador mínimo

Esta instrucción se admite en los siguientes modelos de sombreador:

Modelo de sombreador Compatible
Modelo de sombreador 5
Modelo de sombreador 4.1 no
Modelo de sombreador 4 no
Modelo de sombreador 3 (DirectX HLSL) no
Modelo de sombreador 2 (DirectX HLSL) no
Modelo de sombreador 1 (DirectX HLSL) no

Ensamblado del modelo de sombreador 5 (DirectX HLSL)