InterlockedExchange 함수
값을 원자성으로 교환합니다.
구문
void InterlockedExchange(
in UINT dest,
in UINT value,
out UINT original_value
);
매개 변수
반환 값
이 함수는 값을 반환하지 않습니다.
설명
이 작업은 스칼라 형식 리소스 및 공유 메모리 변수에서만 수행할 수 있습니다. 이 함수에는 세 가지 용도가 있습니다. 첫 번째는 R이 공유 메모리 변수 형식인 경우입니다. 이 경우 함수는 dest가 참조하는 공유 메모리 레지스터에서 작업을 수행합니다. 두 번째 시나리오는 R이 리소스 변수 형식인 경우입니다. 이 시나리오에서 함수는 dest가 참조하는 리소스 위치에서 작업을 수행합니다. 마지막으로 세 번째 시나리오는 R이 지역 변수 형식인 경우입니다. 이 시나리오에서 함수는 로컬 작업을 사용하여 수행되는 작업으로 축소됩니다. 이 작업은 R이 읽고 쓸 수 있는 경우에만 사용할 수 있습니다.
이 함수는 다음 형식의 셰이더에서 지원됩니다.
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x | x | x | x | x |
추가 정보