다음을 통해 공유


msad4

4바이트 참조 값과 8바이트 원본 값을 비교하고 4개 합계의 벡터를 누적합니다. 각 합계는 참조 값과 원본 값 간의 서로 다른 바이트 맞춤의 절대 차이의 마스킹된 합계에 해당합니다.

uint4 result = msad4(uint reference, uint2 source, uint4 accum);

매개 변수

reference

[in] 하나의 uint 값에 있는 4바이트의 참조 배열입니다.

source

[in] 두 개의 uint2 값에 있는 8바이트의 원본 배열입니다.

accum

[in] 4개 값의 벡터입니다. msad4는 참조 값과 원본 값 간의 서로 다른 바이트 맞춤의 절대 차이의 마스킹된 합계에 이 벡터를 추가합니다.

반환 값

4개 합계의 벡터입니다. 각 합계는 참조 값과 원본 값 간의 서로 다른 바이트 맞춤의 절대 차이의 마스킹된 합계에 해당합니다. msad4는 해당 차이가 마스킹된 경우(즉, 참조 바이트가 0) 합계에 차이가 포함되지 않습니다.

설명

셰이더 코드에서 msad4 내장 함수를 사용하려면 D3D11_FEATURE_D3D11_OPTIONS을 통해 ID3D11Device::CheckFeatureSupport 메소드를 호출하여 Direct3D 디바이스가 SAD4ShaderInstructions 기능 옵션을 지원하는지 확인합니다. msad4 내장 함수에는 WDDM 1.2 디스플레이 드라이버가 필요하며 모든 WDDM 1.2 디스플레이 드라이버는 msad4를 지원해야 합니다. 앱이 기능 수준 11.0 또는 11.1을 사용하여 렌더링 디바이스를 만들고 컴파일 대상이 셰이더 모델 5 이상인 경우 HLSL 소스 코드는 msad4 내장 함수를 사용할 수 있습니다.

반환 값은 최대 65535까지만 정확합니다. 반환 값이 65535보다 클 수 있는 입력을 사용하여 msad4 내장 함수를 호출하면 msad4는 정의되지 않은 결과를 생성합니다.

최소 셰이더 모델

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

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

예제

다음은 msad4에 대한 결과 계산 예제입니다.

reference = 0xA100B2C3;
source.x = 0xD7B0C372
source.y = 0x4F57C2A3
accum = {1,2,3,4}
result.x alignment source: 0xD7B0C372
result.x = accum.x + |0xD7   0xA1| + 0 (masked) + |0xC3   0xB2| + |0x72   0xC3| = 1 + 54 + 0 + 17 + 81 = 153
result.y alignment source: 0xA3D7B0C3
result.y = accum.y + |0xA3   0xA1| + 0 (masked) + |0xB0   0xB2| + |0xC3   0xC3| = 2 + 2 + 0 + 2 + 0 = 6
result.z alignment source: 0xC2A3D7B0
result.z = accum.z + |0xC2   0xA1| + 0 (masked) + |0xD7   0xB2| + |0xB0   0xC3| = 3 + 33 + 0 + 37 + 19 = 92
result.w alignment source: 0x57C2A3D7
result.w = accum.w + |0x57   0xA1| + 0 (masked) + |0xA3   0xB2| + |0xD7   0xC3| = 4 + 74 + 0 + 15 + 20 = 113
result = {153,6,92,113}

다음은 msad4를 사용하여 버퍼 내에서 참조 패턴을 검색하는 방법의 예입니다.

uint4 accum = {0,0,0,0};
for(uint i=0;i<REF_SIZE;i++)
    accum = msad4(
        buf_ref[i], 
        uint2(buf_src[DTid.x+i], buf_src[DTid.x+i+1]), 
        accum);
buf_accum[DTid.x] = accum;

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버
Windows Server 2012 [데스크톱 앱 | UWP 앱]

추가 정보

내장 함수