次の方法で共有


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 パラメーターの値を使用して、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 パラメーターの値を使用して、PipelineStreamVS (頂点シェーダー) メンバーを初期化します。

GSCb(const D3D12_SHADER_BYTECODE& GS)

GS パラメーターの値を使用して、PipelineStreamGS (ジオメトリ シェーダー) メンバーを初期化します。

StreamOutputCb(const D3D12_STREAM_OUTPUT_DESC& StreamOutput)

StreamOutput パラメーターの値を使用して、PipelineStreamStreamOutput メンバーを初期化します。

HSCb(const D3D12_SHADER_BYTECODE& HS)

HS パラメーターの値を使用して、PipelineStreamHS (ハル シェーダー) メンバーを初期化します。

DSCb(const D3D12_SHADER_BYTECODE& DS)

DS パラメーターの値を使用して、PipelineStreamDS (ドメイン シェーダー) メンバーを初期化します。

PSCb(const D3D12_SHADER_BYTECODE& PS)

PS パラメーターの値を使用して、PipelineStreamPS (ピクセル シェーダー) メンバーを初期化します。

CSCb(const D3D12_SHADER_BYTECODE& CS)

CS パラメーターの値を使用して、PipelineStreamCS メンバーを初期化します。

BlendStateCb(const D3D12_BLEND_DESC& BlendState)

BlendState パラメーターの値を使用して、PipelineStreamBlendState メンバーを初期化します。

DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState)

DepthStencilState パラメーター (D3D12_DEPTH_STENCIL_DESC) の値を使用して、PipelineStreamDepthStencilState メンバーを初期化します。

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 パラメーターの値を使用して、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 関数に 2 番目のパラメーターとして渡されると、内部CD3DX12_PIPELINE_STATE_STREAM1 オブジェクトの詳細は、最初のパラメーターとして渡されたD3D12_PIPELINE_STATE_STREAM_DESCから複製されます。 このプロセスでは、ソース ストリームの説明が検証されます。 D3DX12ParsePipelineStream が S_OKを返す場合、ソース ストリームの説明と結果の CD3DX12_PIPELINE_STATE_STREAM1PipelineStream の両方が有効です。それ以外の場合は両方とも無効です。 無効なストリームとその他のエラーは、D3DX12ParsePipelineStream の戻り値によってのみ報告されます。この構造体は、何も行わないエラー コールバックを実装します。

要件

要件
ヘッダー
D3dx12.h

こちらもご覧ください

Direct3D 12のヘルパー構造体

ID3DX12PipelineParserCallbacks