imm_atomic_imax (sm5 - asm)
Número máximo de memoria con signo atómico inmediato. Devuelve el valor en memoria antes de la operación máxima.
imm_atomic_imax dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component] |
---|
Elemento | Descripción |
---|---|
dst0 |
[in] Contiene el valor de dst1 antes de esta instrucción. |
dst1 |
[in] 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] Valor que se va a comparar con dst1 en dstAddress. |
Comentarios
Esta instrucción realiza un máximo de 32 bits con signo único de operando src0 con dst1 a 32 bits por dirección de componente dstAddress.
Si dst1 es u#, puede haberse 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.
Valor de la memoria dst1 antes de que se devuelva max 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 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 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 y, a continuación, todo el contenido del UAV se vuelve indefinido.
El direccionamiento fuera de los límites en u# o g# hace que se devuelva un resultado no definido 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 | 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 |