다음을 통해 공유


CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER 구조체

해당 멤버 함수에 전달된 하위 개체 세부 정보에서 내부 CD3DX12_PIPELINE_STATE_STREAM 개체를 빌드합니다. 이 구조체는 ID3DX12PipelineParserCallbacks 인터페이스를 구현합니다.

구문

struct CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER  : public ID3DX12PipelineParserCallbacks{
  CD3DX12_PIPELINE_STATE_STREAM1 PipelineStream;
  void                           FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags);
  void                           NodeMaskCb(UINT NodeMask);
  void                           RootSignatureCb(ID3D12RootSignature* pRootSignature);
  void                           InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout);
  void                           IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue);
  void                           PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType);
  void                           VSCb(const D3D12_SHADER_BYTECODE& VS);
  void                           GSCb(const D3D12_SHADER_BYTECODE& GS);
  void                           StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput);
  void                           HSCb(const D3D12_SHADER_BYTECODE& HS);
  void                           DSCb(const D3D12_SHADER_BYTECODE& DS);
  void                           PSCb(const D3D12_SHADER_BYTECODE& PS);
  void                           CSCb(const D3D12_SHADER_BYTECODE& CS);
  void                           BlendStateCb(const D3D12_BLEND_DESC& BlendState);
  void                           DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState);
  void                           DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState);
  void                           DSVFormatCb(DXGI_FORMAT DSVFormat);
  void                           RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState);
  void                           RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats);
  void                           SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc);
  void                           SampleMaskCb(UINT SampleMask);
  void                           ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc);
  void                           CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO);
  void                           ErrorBadInputParameter(UINT);
  void                           ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE);
  void                           ErrorUnknownSubobject(UINT);
};

멤버

PipelineStream

내부 CD3DX12_PIPELINE_STATE_STREAM1. 현재 상태는 이 개체에 대해 호출된 콜백 메서드의 누적 효과를 나타냅니다.

FlagsCb(D3D12_PIPELINE_STATE_FLAGS Flags)

Flags 매개 변수 값을 사용하여 PipelineStream의 Flags 멤버초기화합니다.

NodeMaskCb(UINT NodeMask)

Nodemask 매개 변수 값을 사용하여 PipelineStreamNodeMask 멤버를 초기화합니다.

RootSignatureCb(ID3D12RootSignature* pRootSignature)

pRootSignature 매개 변수 값을 사용하여 PipelineStreampRootSignature 멤버를 초기화합니다.

InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout)

InputLayout 매개 변수 값을 사용하여 PipelineStreamInputLayout 멤버를 초기화합니다.

IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue)

IBStripCutValue 매개 변수 값을 사용하여 PipelineStreamIBStripCutValue 멤버를 초기화합니다.

PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType)

PrimitiveTopologyType 매개 변수의 값을 사용하여 PipelineStreamPrimitiveTopologyType 멤버를 초기화합니다.

VSCb(const D3D12_SHADER_BYTECODE& VS)

VS 매개 변수 값을 사용하여 PipelineStreamVS(꼭짓점 셰이더) 멤버를 초기화합니다.

GSCb(const D3D12_SHADER_BYTECODE& GS)

GS 매개 변수 값을 사용하여 PipelineStreamGS(기하 도형 셰이더) 멤버를 초기화합니다.

StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput)

StreamOutput 매개 변수 값을 사용하여 PipelineStream의 StreamOutput 멤버를 초기화합니다.

HSCb(const D3D12_SHADER_BYTECODE& HS)

HS 매개 변수 값을 사용하여 PipelineStreamHS(헐 셰이더) 멤버를 초기화합니다.

DSCb(const D3D12_SHADER_BYTECODE& DS)

DS 매개 변수 값을 사용하여 PipelineStreamDS(do기본 셰이더) 멤버를 초기화합니다.

PSCb(const D3D12_SHADER_BYTECODE& PS)

PS 매개 변수 값을 사용하여 PipelineStreamPS(픽셀 셰이더) 멤버를 초기화합니다.

CSCb(const D3D12_SHADER_BYTECODE& CS)

CS 매개 변수 값을 사용하여 PipelineStream의 CS 멤버를 초기화합니다.

BlendStateCb(const D3D12_BLEND_DESC& BlendState)

BlendState 매개 변수 값을 사용하여 PipelineStreamBlendState 멤버를 초기화합니다.

DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState)

D3D12_DEPTH_STENCIL_DESC DepthStencilState 매개 변수 값을 사용하여 PipelineStreamDepthStencilState 멤버 초기화합니다.

DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState)

D3D12_DEPTH_STENCIL_DESC1 DepthStencilState 매개 변수 값을 사용하여 PipelineStreamDepthStencilState 멤버 초기화합니다.

DSVFormatCb(DXGI_FORMAT DSVFormat)

DSVFormat 매개 변수 값을 사용하여 PipelineStream의 DSVFormat 멤버를 초기화합니다.

RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState)

RasterizerState 매개 변수 값을 사용하여 PipelineStreamRasterizerState 멤버를 초기화합니다.

RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats)

RTVFormats 매개 변수 값을 사용하여 PipelineStreamRTVFormats 멤버를 초기화합니다.

SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc)

SampleDesc 매개 변수 값을 사용하여 PipelineStreamSampleDesc 멤버를 초기화합니다.

SampleMaskCb(UINT SampleMask)

SampleMask 매개 변수 값을 사용하여 PipelineStreamSampleMask 멤버를 초기화합니다.

ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc)

ViewInstancingDesc 매개 변수 값을 사용하여 PipelineStreamViewInstancingDesc 멤버를 초기화합니다.

CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE&CachedPSO)

CachedPSO 매개 변수 값을 사용하여 PipelineStreamCachedPSO 멤버를 초기화합니다.

ErrorBadInputParameter(UINT)

아무 작업도 하지 않습니다.

ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE)

아무 작업도 하지 않습니다.

ErrorUnknownSubobject(UINT)

아무 작업도 하지 않습니다.

설명

D3DX12ParsePipelineStream 함수에 두 번째 매개 변수로 전달되면 내부 CD3DX12_PIPELINE_STATE_STREAM1 개체의 세부 정보가 첫 번째 매개 변수로 전달된 D3D12_PIPELINE_STATE_STREAM_DESC 복제됩니다. 이 프로세스는 원본 스트림 설명의 유효성을 검사합니다. D3DX12ParsePipelineStream이 S_OK 반환하는 경우 원본 스트림 설명과 결과 CD3DX12_PIPELINE_STATE_STREAM1PipelineStream 모두 유효합니다. 그렇지 않으면 둘 다 유효하지 않습니다. 잘못된 스트림 및 기타 오류는 D3DX12ParsePipelineStream의 반환 값을 통해서만 보고됩니다. 이 구조는 아무 작업도 수행하지 않는 오류 콜백을 구현합니다.

요구 사항

요구 사항
헤더
D3dx12.h

참고 항목

Direct3D 12용 도우미 구조체

ID3DX12PipelineParserCallbacks