Share via


WavePrefixSum 함수

활성 레인에 있는 모든 값의 합계를 이 값보다 작은 인덱스로 반환합니다.

구문

<type> WavePrefixSum(
   <type> value
);

매개 변수

value

합산할 값입니다.

반환 값

값의 합계입니다.

설명

이 루틴의 작업 순서는 보장할 수 없습니다. 따라서 실질적으로 [precise] 플래그는 무시됩니다.

뒤로부터 누적합은 앞으로부터 누적합을 현재 레인 값에 더하여 계산할 수 있습니다.

인덱스가 가장 낮은 활성 레인은 앞으로부터 누적합으로 항상 0을 받습니다.

이 함수는 셰이더 모델 6.0부터 모든 셰이더 단계에서 지원됩니다.

예제

uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );

웨이브 크기가 8이고 레인 0과 4를 제외한 모든 레인이 활성 상태인 머신에서는 WavePrefixSum에서 다음 값이 반환됩니다.

레인 인덱스 상태 prefixSum
0 비활성 해당 없음
1 활성 = 0
2 활성 = 0+2
3 활성 = 0+2+2
4 비활성 해당 없음
5 활성 = 0+2+2+2
6 활성 = 0+2+2+2+2
7 활성 = 0+2+2+2+2+2

추가 정보

셰이더 모델 6 개요

셰이더 모델 6