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 参数的值初始化 PipelineStreamFlags 成员。

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 参数的值) PipelineStream 的成员初始化 VS (顶点着色器。

GSCb (const D3D12_SHADER_BYTECODE& GS)

使用 GS 参数的值) PipelineStream 的成员初始化 GS (几何着色器。

StreamOutputCb (const D3D12_STREAM_OUTPUT_DESC& StreamOutput)

使用 StreamOutput 参数的值初始化 PipelineStreamStreamOutput 成员。

HSCb (const D3D12_SHADER_BYTECODE& HS)

使用 HS 参数的值) PipelineStream 的成员初始化 HS (外壳着色器。

DSCb (const D3D12_SHADER_BYTECODE& DS)

使用 DS 参数的值) PipelineStream 的成员初始化 DS (域着色器。

PSCb (const D3D12_SHADER_BYTECODE& PS)

使用 PS 参数的值) PipelineStream 的成员初始化 PS (像素着色器。

CSCb (const D3D12_SHADER_BYTECODE& CS)

使用 CS 参数的值初始化 PipelineStreamCS 成员。

BlendStateCb (const D3D12_BLEND_DESC& BlendState)

使用 BlendState 参数的值初始化 PipelineStreamBlendState 成员。

DepthStencilStateCb (const D3D12_DEPTH_STENCIL_DESC& DepthStencilState)

使用 DepthStencilState 参数的值初始化 PipelineStreamDepthStencilState 成员, D3D12_DEPTH_STENCIL_DESC

DepthStencilState1Cb (const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState)

使用 DepthStencilState 参数的值(D3D12_DEPTH_STENCIL_DESC1)初始化 PipelineStreamDepthStencilState 成员。

DSVFormatCb (DXGI_FORMAT DSVFormat)

使用 DSVFormat 参数的值初始化 PipelineStreamDSVFormat 成员。

RasterizerStateCb (const D3D12_RASTERIZER_DESC& RasterizerState)

使用 RasterizerState 参数的值初始化 PipelineStreamRasterizerState 成员。

RTVFormatsCb (const D3D12_RT_FORMAT_ARRAY& RTVFormats)

使用 RTVFormats 参数的值初始化 PipelineStream的 RTVFormats 成员。

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 函数时 ,将从作为 第一个参数传递D3D12_PIPELINE_STATE_STREAM_DESC克隆内部 CD3DX12_PIPELINE_STATE_STREAM1 对象的详细信息。 此过程验证源流说明。 如果 D3DX12ParsePipelineStream 返回 S_OK,则源流说明和生成的 CD3DX12_PIPELINE_STATE_STREAM1PipelineStream 均有效;否则两者都无效。 仅通过 D3DX12ParsePipelineStream 的返回值报告无效流和其他错误;此结构实现错误回调以不执行任何操作。

要求

要求
标头
D3dx12.h

另请参阅

Direct3D 12 的帮助程序结构

ID3DX12PipelineParserCallbacks