다음을 통해 공유


InterlockedMin 함수

최솟값을 원자성으로 찾습니다.

구문

void InterlockedMin(
  in  UINT dest,
  in  UINT value,
  out UINT original_value
);

매개 변수

dest [in]

형식: UINT

대상 주소입니다.

value [in]

형식: UINT

입력 값입니다.

original_value [out]

형식: UINT

원래 값입니다.

반환 값

없음

설명

이 작업은 int 및 uint 형식 리소스와 공유 메모리 변수에서만 수행할 수 있습니다. 이 함수에는 세 가지 용도가 있습니다. 첫 번째는 R이 공유 메모리 변수 형식인 경우입니다. 이 경우 함수는 dest에서 참조하는 공유 메모리 레지스터에 값의 원자 최솟값을 수행합니다. 두 번째 시나리오는 R이 리소스 변수 형식인 경우입니다. 이 시나리오에서 함수는 dest에서 참조하는 리소스 위치에 대한 값의 원자 최솟값을 수행합니다. 마지막으로 세 번째 시나리오는 R이 지역 변수 형식인 경우입니다. 이 시나리오에서 함수는 dest의 값과 dest에 저장된 값의 최솟값으로 줄어듭니다. 오버로드된 함수에는 dest의 원래 값으로 설정되는 추가 출력 변수가 있습니다. 이 오버로드된 작업은 R이 읽고 쓸 수 있는 경우에만 사용할 수 있습니다.

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

VS HS DS GS PS CS
x x x x x x

 

추가 정보

RWByteAddressBuffer

셰이더 모델 5