atomic_and (sm5 - asm)
AND bit a bit atómico a la memoria.
| atomic_and dst, dstAddress[.swizzle], src0[.select_component] |
|---|
| Elemento | Descripción |
|---|---|
| Dst |
[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] Componentes a AND con dst. |
Observaciones
Esta operación realiza un único componente de 32 bits AND de operando src0 en dst 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 de dst u# o g#.
Si dst 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 dst 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 a un píxel o muestra real para derivados, esta instrucción no modifica la memoria dst 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 | Domain | Geometría | Píxel | Proceso |
|---|---|---|---|---|---|
| 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 | 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 | 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 |