ps_2_x

프로그래밍 가능한 픽셀 셰이더는 픽셀 데이터에서 작동하는 일련의 명령으로 구성됩니다. 레지스터는 ALU 내/외부로 데이터를 전송합니다. 명령, 결과 또는 기록되는 데이터를 수정하기 위해 추가 컨트롤을 적용할 수 있습니다.

동적 흐름 제어

DynamicFlowControlDepth는 동적 흐름 제어 명령의 중첩 깊이를 나타냅니다. if, if_comp, if_pred, break - psbreak_comp - ps. 이 값은 if_comp 블록의 중첩 깊이와 같습니다. 이 제한이 0이면 디바이스가 동적 흐름 제어 명령을 지원하지 않습니다.

임시 레지스터 수

디바이스에서 지원하는 임시 레지스터의 수입니다. 범위는 12~32입니다.

정적 흐름 제어 중첩 깊이

StaticFlowControlDepth는 다음 두 가지 유형의 정적 흐름 제어 명령의 중첩 깊이를 나타냅니다. loop /repcall /callnz. loop /rep 명령은 최대 StaticFlowControlDepth 깊이까지 중첩될 수 있습니다. 독립적으로 /callnz 명령 호출은 최대 StaticFlowControlDepth 깊이까지 중첩될 수 있습니다.

명령 슬롯 수

명령 슬롯 수는 96개에서 최대 512개까지 다양할 수 있으며 MaxPixelShaderInstructionSlots로 지정됩니다. 실행할 수 있는 총 명령 수는 MaxPixelShaderInstructionsExecuted로 정의됩니다. 이 수는 루핑 및 서브루틴 호출로 인한 명령 슬롯 수보다 클 수 있습니다.

임의 스위즐

D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE이 설정되면 임의 스위즐이 지원됩니다. 원본 레지스터 Swizzling을 참조하세요.

그라데이션 명령

D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS 이 설정되면 그라데이션 명령이 지원됩니다. dsx - ps, dsy - pstexldd - ps를 참조하세요.

술어

D3DD3DPSHADERCAPS2_0_PREDICATION이 설정되면 명령 조건자가 지원됩니다. 조건자 레지스터를 참조하세요.

종속 읽기 제한

D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT가 설정된 경우 종속 읽기 제한이 없습니다.

텍스처 명령 제한

D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT가 설정된 경우 텍스처 지침에는 제한이 없습니다.

샘플러 개수

사용 가능한 텍스처 샘플러의 수는 16개입니다.

픽셀 셰이더