D3D12SerializeVersionedRootSignature 함수(d3d12.h)
ID3D12Device::CreateRootSignature에 전달할 수 있는 모든 버전의 루트 서명을 직렬화합니다.
구문
HRESULT D3D12SerializeVersionedRootSignature(
[in] const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *pRootSignature,
[out] ID3DBlob **ppBlob,
[out, optional] ID3DBlob **ppErrorBlob
);
매개 변수
[in] pRootSignature
형식: const D3D12_VERSIONED_ROOT_SIGNATURE_DESC*
루트 서명의 모든 버전에 대한 설명이 포함된 D3D12_VERSIONED_ROOT_SIGNATURE_DESC 지정합니다.
[out] ppBlob
형식: ID3DBlob**
직렬화된 루트 서명에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터입니다.
[out, optional] ppErrorBlob
형식: ID3DBlob**
serializer 오류 메시지에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터이거나 오류가 없는 경우 NULL 입니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환합니다. 그렇지 않으면 Direct3D 12 반환 코드 중 하나를 반환합니다.
설명
애플리케이션이 D3D12_ROOT_SIGNATURE_DESC1 데이터 구조를 프로시저 방식으로 생성하는 경우 직렬화된 형식을 만들려면 D3D12SerializeVersionedRootSignature호출에서 이 D3D12_ROOT_SIGNATURE_DESC1 대한 포인터를 전달해야 합니다. 그런 다음, 애플리케이션은 ppBlob 이 ID3D12Device::CreateRootSignature로 가리키는 직렬화된 양식을 전달합니다.
루트 서명이 포함된 셰이더가 작성된 경우, 직렬화된 루트 서명이 컴파일된 셰이더에 이미 포함되어 있습니다. 이 경우 컴파일된 셰이더 Blob을 ID3D12Device::CreateRootSignature 에 전달하여 런타임 루트 서명 개체를 가져옵니다.
Xbox 개발자의 경우 HLSL 작성 루트 서명을 사용하는 것이 좋습니다.
함수 서명 PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE typedef로 제공되므로 정적으로 연결하는 대신 동적 연결 기술(GetProcAddress)을 사용할 수 있습니다.
이 함수는 Windows 10 1주년 업데이트(14393)와 함께 릴리스되었으며 D3D12SerializeRootSignature를 대체합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d12.h |
라이브러리 | D3d12.lib |
DLL | D3d12.dll |