D3D10DDIARG_STAGE_IO_SIGNATURES 구조체(d3d10umddi.h)

D3D10DDIARG_STAGE_IO_SIGNATURES 구조체는 I/O 서명을 설명합니다.

구문

typedef struct D3D10DDIARG_STAGE_IO_SIGNATURES {
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pInputSignature;
  [in] UINT                        NumInputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pOutputSignature;
  [in] UINT                        NumOutputSignatureEntries;
} D3D10DDIARG_STAGE_IO_SIGNATURES;

멤버

[in] pInputSignature

서명의 입력 부분에 대한 D3D10DDIARG_SIGNATURE_ENTRY 구조체의 배열입니다.

[in] NumInputSignatureEntries

pInputSignature 멤버가 지정하는 배열의 항목 수입니다.

[in] pOutputSignature

서명의 출력 부분에 대한 D3D10DDIARG_SIGNATURE_ENTRY 구조체의 배열입니다.

[in] NumOutputSignatureEntries

pOutputSignature 멤버가 지정하는 배열의 항목 수입니다.

설명

서명은 기본적으로 서명을 공유하는 셰이더의 입력 및 출력인 모든 레지스터의 결합입니다. 따라서 서명은 지정된 셰이더가 실제로 입력하거나 출력할 수 있는 항목의 상위 집합일 수 있습니다.

하드웨어는 파이프라인의 업스트림 단계에서 pInputSignature 및 NumInputSignatureEntries 멤버가 지정한 대로 배치된 서명의 일부 또는 전부 데이터를 제공할 수 있는지 확인해야 합니다. 마찬가지로 하드웨어는 파이프라인의 다운스트림 단계에서 pOutputSignature 및 NumOutputSignatureEntries 멤버가 지정한 대로 배치된 서명의 일부 또는 전부 데이터를 사용할 수 있는지 확인해야 합니다.

셰이더 컴파일 중에 이벤트 입력 및 출력 레지스터의 순서를 다시 지정해야 하는 요구 사항을 준수하기 위해 전체 서명이 드라이버에 전달됩니다. 이러한 재정렬은 서명의 모든 레지스터를 확인할 수 있는 드라이버와 시스템 이름이 있는 레지스터(예: D3D10DDIARG_SIGNATURE_ENTRY 구조체의 SystemValue 멤버가 지정하는 이름)에 따라 달라질 수 있습니다. 이러한 재정렬은 드라이버가 현재 셰이더에 없는 레지스터를 확인할 수 있는지에 따라 달라질 수도 있습니다.

셰이더 코드 자체 내의 선언에는 특정 셰이더에서 실제로 사용되는 레지스터도 표시됩니다. 이러한 레지스터는 서명의 입력 및 출력 부분의 하위 집합일 수 있습니다. 일부 하드웨어가 컴파일 시간에 입력 및 출력 레지스터의 순서를 다시 지정할 필요가 없는 경우 해당 하드웨어의 드라이버는 D3D10DDIARG_STAGE_IO_SIGNATURES 구조에서 제공하는 전체 서명을 완전히 무시할 수 있습니다. 예를 들어 참조 래스터라이저에는 D3D10DDIARG_STAGE_IO_SIGNATURES 구조에서 제공하는 정보가 필요하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

D3D10DDIARG_SIGNATURE_ENTRY