다음을 통해 공유


InterlockedCompareStore 함수(HLSL 참조)

대상을 비교 값과 원자성으로 비교합니다. 동일한 경우 대상을 입력 값으로 덮어씁니다.

구문

void InterlockedCompareStore(
  in R dest,
  in T compare_value,
  in T value
);

매개 변수

dest [in]

형식: R

대상 주소입니다.

compare_value [in]

형식: T

비교 값입니다.

value [in]

형식: T

입력 값입니다.

반환 값

이 함수는 값을 반환하지 않습니다.

설명

dest에서 참조하는 값을 compare_value와 원자성으로 비교하고 값이 일치하면 dest에서 참조하는 위치에 value를 저장합니다. 이 작업은 int 또는 uint 형식 리소스 및 공유 메모리 변수에서만 수행할 수 있습니다. 이 함수에는 두 가지 용도가 있습니다. 첫 번째는 R이 공유 메모리 변수 형식인 경우입니다. 이 경우 함수는 dest가 참조하는 공유 메모리 레지스터에서 작업을 수행합니다. 두 번째 시나리오는 R이 리소스 변수 형식인 경우입니다. 이 시나리오에서 함수는 dest가 참조하는 리소스 위치에서 작업을 수행합니다.

연동 작업은 메모리 펜스/장벽을 의미하지 않습니다.

최소 셰이더 모델

이 함수는 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원됨
셰이더 모델 5 이상의 셰이더 모델

 

이 함수는 다음 형식의 셰이더에서 지원됩니다.

꼭짓점 Hull 도메인 기하 도형 픽셀 컴퓨팅
x x x x x x

 

추가 정보

내장 함수

셰이더 모델 5