루트 서명
루트 서명은 그래픽 파이프라인에 바인딩된 리소스 종류를 정의합니다.
섹션 내용
항목 | 설명 |
---|---|
루트 서명 개요 |
루트 서명은 앱에서 구성되고 명령 목록을 셰이더에 필요한 리소스에 연결합니다. 그래픽 명령 목록에는 그래픽 및 컴퓨팅 루트 서명이 둘 다 포함됩니다. 컴퓨팅 명령 목록에는 하나의 컴퓨팅 루트 서명만 있습니다. 이 루트 서명은 서로 독립적입니다. |
루트 서명 사용 |
루트 서명은 설명자 테이블(레이아웃 포함), 루트 상수 및 루트 설명자의 임의로 정렬된 컬렉션 정의입니다. 각 항목에는 최대 제한에 대한 비용이 있으므로, 애플리케이션은 루트 서명에 포함될 각 항목 유형 수를 균형 있게 조절할 수 있습니다. |
루트 서명 만들기 |
루트 서명은 중첩 구조를 포함하는 복합 데이터 구조입니다. 루트 서명은 아래 데이터 구조 정의(멤버 초기화에 도움이 되는 메서드 포함)를 사용하여 프로그래밍 방식으로 정의할 수 있습니다. 또는 HLSL(High Level Shading Language)으로 작성할 수 있으므로 컴파일러가 레이아웃이 셰이더와 호환된다는 유효성을 조기에 검사할 수 있다는 장점이 있습니다. |
루트 서명 제한 |
루트 서명은 주요 리소스이며 고려할 엄격한 제한과 비용이 있습니다. |
루트 서명에서 직접 상수 사용 |
애플리케이션은 루트 서명에서 루트 상수를 각각 32비트 값 세트로 정의할 수 있습니다. 루트 상수는 HLSL(High Level Shading Language)의 상수 버퍼로 표시됩니다. 기록을 위해 상수 버퍼는 4x32비트 값 세트로 표시됩니다. |
루트 서명에서 직접 설명자 사용 |
애플리케이션은 설명자 힙을 거치지 않도록 루트 서명에 직접 설명자를 배치할 수 있습니다. 이 설명자는 루트 서명에서 많은 공간을 차지하므로(루트 서명 제한 섹션 참조) 애플리케이션은 설명자를 적게 사용해야 합니다. |
루트 서명 예제 |
다음 섹션에서는 비어 있음부터 완전 가득 참까지 복잡성이 다양한 루트 서명을 보여 줍니다. |
HLSL의 루트 서명 지정 |
C++ 코드에서 루트 서명을 지정하는 대신 HLSL 셰이더 모델 5.1에서 루트 서명을 지정할 수 있습니다. |
루트 서명 버전 1.1 |
루트 서명 버전 1.1의 목적은 설명자 힙의 설명자가 변경되지 않거나 데이터 설명자 지점이 변경되지 않을 때 드라이버에 애플리케이션을 나타내는 것입니다. 이렇게 하면 일정 시간 동안 설명자 또는 설명자가 가리키는 메모리가 정적인지 알 수 있도록 드라이버를 최적화할 수 있습니다. |