dmovc(sm5-asm)

성분 단위 조건부 이동입니다.

dmovc[_sat] dest[.mask], src0[.swizzle], [-]src1[_abs][.swizzle], [-]src2[_abs][.swizzle],
항목 설명
dest
[in] 이동 대상입니다.
If src0, then dest = src1 else dest = src2.
src0
[in] 조건을 테스트할 성분입니다.
src1
[in] 조건이 true이면 이동할 성분입니다.
src2
[in] 조건이 false이면 이동할 성분입니다.

설명

다음 예에서는 이 명령을 사용하는 방법을 보여 줍니다.

                if(the dest mask contains .xy)
                {
                    if(the first 32-bit component of src0, post-swizzle, 
                       has any bit set)
                    {
                        copy the first double from src1 (post swizzle)
                        into dest.xy
                    }
                    else
                    {
                        copy the first double from src2 (post swizzle)
                        into dest.xy
                    }
                }
                if(the dest mask contains .zw)
                {
                    if(the second 32-bit component of src0, post-swizzle, 
                       has any bit set)
                    {
                        copy the second double from src1 (post swizzle)
                        into dest.zw
                    }
                    else
                    {
                        copy the second double from src2 (post swizzle)
                        into dest.zw
                    }
                }

dest의 유효한 마스크는 .xy, .zw, .xyzw입니다.

src0의 유효한 swizzle은 무엇이든 가능합니다. swizzle 후 처음 두 성분은 두 개의 32비트 조건 값을 식별하는 데 사용됩니다.

double을 포함하는 src1src2에 대한 유효한 swizzle은 .xyzw, .xyxy, .zwxy, .zwzw입니다. .xy, .zw 및 .xyzw입니다.

아래의 다음 src 매핑은 post-swizzle입니다.

  • dest는(x 32LSB, y 32MSB) 및(z 32LSB, w 32MSB)에 걸친 이중 vec2입니다.
  • src0은 x와 y에 걸친 32비트/성분 vec2입니다(zw는 무시됨).
  • src1은(x 32LSB, y 32MSB) 및(z 32LSB, w 32MSB)에 걸친 이중 vec2입니다.
  • src2는 (x 32LSB, y 32MSB) 및 (z 32LSB, w 32MSB)에 걸친 이중 vec2입니다.

swizzle을 제외한 src1src2의 한정자는 데이터가 두 배라고 가정합니다. 한정자가 없으면 비트를 변경하지 않고 데이터를 이동합니다.

이 명령은 다음 셰이더 단계에 적용됩니다.

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

최소 셰이더 모델

이 명령은 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원 여부
셰이더 모델 5
셰이더 모델 4.1 아니요
셰이더 모델 4 아니요
셰이더 모델 3(DirectX HLSL) 아니요
셰이더 모델 2(DirectX HLSL) 아니요
셰이더 모델 1(DirectX HLSL) 아니요

셰이더 모델 5 어셈블리(DirectX HLSL)