imm_atomic_and(sm5 - asm)

메모리에 대한 원자성 비트 AND를 즉시 실행합니다. AND 앞에 있는 메모리의 값을 반환합니다.

imm_atomic_and dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
항목 Description
dst0
[in] AND 이전 의 dst1 값을 포함합니다.
dst1
[in] UAV(순서가 지정되지 않은 액세스 뷰)(u#)입니다. 컴퓨팅 셰이더에서 스레드 그룹 공유 메모리(g#)일 수도 있습니다.
dstAddress
[in] 대상 메모리입니다.
src0
dst를 사용한 AND 값입니다.

설명

이 명령은 구성 요소 주소 dstAddress당 32비트에서 dst1을 사용하여 피연산자 src0의 단일 구성 요소 32비트 AND를 수행합니다.

dst1이 u#인 경우 원시, 형식화 또는 구조화로 선언되었을 수 있습니다. 형식화된 경우 바인딩된 리소스 형식이 R32_UINT/_SINT UINT/SINT로 선언되어야 합니다.

dst1이 g#인 경우 원시 또는 구조적으로 선언해야 합니다.

AND가 dst0으로 반환되기 전의 dst1 메모리 값입니다.

전체 작업은 원자성으로 수행됩니다.

주소에서 가져온 구성 요소 수는 dst1에 선언된 리소스의 차원에 따라 결정됩니다.

예를 들어 셰이더 호출이 비활성 상태인 경우(예: 픽셀이 실행 초기에 삭제되었거나 픽셀/샘플 호출이 파생물에 대한 실제 픽셀/샘플에 대한 도우미 역할을 하기 위해 존재하는 경우) 이 명령은 dst1 메모리를 전혀 변경하지 않으며 반환된 값은 정의되지 않습니다.

u#의 범위를 벗어나면 u#이 구조화되고 구조체(주소의 두 번째 구성 요소)에 대한 바이트 오프셋이 바깥 쪽 액세스로 인해 UAV의 전체 내용이 정의되지 않은 경우를 제외하고는 메모리에 기록되지 않습니다.

u# 또는 g#의 범위를 벗어나면 정의되지 않은 결과가 dst0의 셰이더에 반환됩니다.

이 명령은 다음 셰이더 단계에 적용됩니다.

꼭짓점 Hull 도메인 기하 도형 픽셀 Compute
X X

UAV는 Direct3D 11.1의 모든 셰이더 단계에서 사용할 수 있으므로 이 명령은 Windows 8 시작하는 Direct3D 11.1 런타임의 모든 셰이더 단계에 적용됩니다.

꼭짓점 Hull 도메인 기하 도형 픽셀 Compute
X X X X X X

최소 셰이더 모델

이 명령은 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원 여부
셰이더 모델 5
셰이더 모델 4.1 아니요
셰이더 모델 4 아니요
셰이더 모델 3(DirectX HLSL) 아니요
셰이더 모델 2(DirectX HLSL) 아니요
셰이더 모델 1(DirectX HLSL) 아니요

셰이더 모델 5 어셈블리(DirectX HLSL)