vs_2_x
프로그래밍 가능한 꼭짓점 셰이더는 꼭짓점 데이터에서 작동하는 명령 집합으로 구성됩니다. ALU 내/외부의 전송 데이터를 등록합니다. 명령, 결과 또는 기록되는 데이터를 수정하기 위해 추가 컨트롤을 적용할 수 있습니다.
꼭짓점 셰이더 버전 vs_2_x vs_2_0 지원하는 기능 집합을 확장합니다. 각 추가 기능은 D3DVS20CAPS내의 D3DCAPS9 구조에서 해당 상한으로 표시됩니다. 이러한 대문자로 표시되는 향상된 기능을 사용하려면 꼭짓점 셰이더 버전을 vs_2_x 지정해야 합니다.
- 지침 - vs_2_x 사용 가능한 지침 목록이 포함되어 있습니다.
- 레지스터 - vs_2_x 꼭짓점 셰이더 ALU에서 사용하는 다양한 유형의 레지스터를 나열합니다.
- 꼭짓점 셰이더 레지스터 한정자 명령의 작동 방식을 수정하는 데 사용됩니다.
- 꼭짓점 셰이더 원본 레지스터 한정자는 명령이 실행되기 전에 원본 레지스터 데이터를 변경할 있습니다.
- 원본 레지스터 스위즐링 읽거나 복사하거나 쓸 레지스터 구성 요소를 추가로 제어할 수 있습니다.
- 대상 레지스터 마스킹 대상 레지스터의 구성 요소가 기록됩니다.
새 기능
새로운 기능은 다음과 같습니다.
동적 흐름 제어
D3DVS20CAPS> 0이면 다음과 같은 동적 흐름 제어 지침이 지원됩니다.
D3DVS20CAPS 설정되면 다음과 같은 추가 흐름 제어 지침이 지원됩니다.
동적 흐름 제어 깊이에 대한 값 범위는 0에서 24까지이며 동적 흐름 제어 지침의 중첩 깊이와 같습니다(자세한 내용은 흐름 제어 중첩 제한 참조). 이 상한이 0이면 디바이스는 동적 흐름 제어 지침을 지원하지 않습니다.
임시 레지스터 수
D3DVS20CAPS 디바이스에서 지원하는 임시 등록수를 나타냅니다. 이 한도의 값 범위는 12에서 32까지입니다.
정적 흐름 제어 중첩 깊이
D3DVS20CAPS 두 가지 유형의 정적 흐름 제어 명령 중첩 깊이를 나타냅니다. 루프 - 대/rep - vs 및 호출 - vs/callnz bool - vs/if bool - vs. loop - vs/rep - vs instructions는 D3DVS20CAPS 깊이까지 중첩될 수 있습니다. 독립적으로 호출 - vs/callnz bool - vs 명령이 D3DVS20CAPS 깊이까지 중첩될 수 있습니다. D3DVS20CAPS 설정되면 callnz pred - vs 호출의 중첩 깊이(vs/callnz bool - vs/if bool - vs)로 계산됩니다(자세한 내용은 흐름 제어 중첩 제한 참조).
서술
D3DVS20CAPS 설정되면 디바이스는 및 명령 조건과 setp_comp 지원합니다. D3DVS20CAPS 0보다 크면 다음과 같은 추가 동적 흐름 제어 지침이 지원됩니다.
명령 수
각 꼭짓점 셰이더에는 최대 256개의 명령이 저장될 수 있습니다. 실행 명령 수는 루프/담당자 지원으로 인해 훨씬 더 많을 수 있으며 D3DCAPS9의해 제한되며 0xFFFF 이상이어야 합니다.
관련 항목