atomic_and (sm5 - asm)
AND bit a bit atómico a la memoria.
atomic_and dest, dstAddress[.swizzle], src0[.select_component] |
---|
Elemento | Descripción |
---|---|
Dest |
[in] Componentes de AND con src0. 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] Dirección de memoria. |
src0 |
[in] Los componentes a AND con dest. |
Comentarios
Esta operación realiza un único componente de 32 bits AND de operando src0enst a 32 bits por dirección de componente dstAddress, realizado de forma atómica.
El número de componentes tomados de la dirección viene determinado por la dimensionalidad dest u# o g#.
Si dest es u#, se puede declarar 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 dest es g#, debe declararse como sin formato o estructurado.
No se devuelve nada al sombreador.
Si la invocación del sombreador está inactiva, por ejemplo, si el píxel se ha descartado anteriormente en su ejecución, o una invocación de píxel/muestra solo existe para servir como asistente para un píxel o muestra real para derivados, esta instrucción no modifica la memoria dest en absoluto (silenciosamente).
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 y, a continuación, todo el contenido del UAV se vuelve indefinido.
El direccionamiento fuera de los límites en g# (los límites de ese g# determinado, en lugar de toda la memoria compartida) hace que todo el contenido de toda la memoria compartida se defina.
Esta instrucción se aplica a las siguientes fases del sombreador:
Vértice | Casco | Dominio | 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 tiempo de ejecución de Direct3D 11.1, que está disponible a partir de Windows 8.
Vértice | Casco | Dominio | Geometría | Píxel | Compute |
---|---|---|---|---|---|
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 | sí |
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 |