다음을 통해 공유


mad 함수

세 값에 대해 산술 곱하기/더하기 연산을 수행합니다.

구문

numeric mad(
  in numeric mvalue,
  in numeric avalue,
  in numeric bvalue
);

매개 변수

mvalue [in]

형식: numeric

곱하기 값입니다.

avalue [in]

형식: numeric

첫 번째 추가 값입니다.

bvalue [in]

형식: numeric

두 번째 추가 값입니다.

반환 값

형식: numeric

mvalue * avalue + bvalue의 결과입니다.

설명

최소 셰이더 모델

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

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

 

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

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

 

셰이더 작성자는 mad 내장 함수를 사용하여 컴파일된 셰이더 출력에서 mad 하드웨어 명령을 명시적으로 대상 지정할 수 있습니다. 이는 precise 키워드로 결과를 표시하는 셰이더에 특히 유용합니다. mad 명령은 하드웨어에서 mul 명령 다음에 add 명령을 구현하는 것보다 더 높은 정밀도를 제공하는 "fused" 또는 mul + add로 구현할 수 있습니다.

셰이더 작성자가 mad 내장 함수를 사용하여 셰이더가 정확하다고 표시된 결과를 계산하는 경우 구현이 해당 하드웨어의 모든 셰이더에서 mad 내장 함수의 모든 사용에 대해 일관성이 있는 한 mad 명령(융합 여부)의 유효한 구현을 사용하도록 하드웨어에 나타냅니다. 그런 다음 셰이더는 일부 하드웨어에서 네이티브 mad 명령(mul + add와 비교)을 사용하여 잠재적인 성능 개선을 활용할 수 있습니다. 네이티브 mad 하드웨어 명령을 수행한 결과는 mul 다음에 add를 수행한 것과 다르거나 다르지 않을 수 있습니다. 그러나 결과가 무엇이든 여러 셰이더 또는 셰이더의 다른 부분에서 동일한 작업이 발생하려면 결과가 일관되어야 합니다.

추가 정보

내장 함수

셰이더 모델 5