Поделиться через


структура 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 в PipelineStream с помощью значения параметра Nodemask.

RootSignatureCb(ID3D12RootSignature* pRootSignature)

Инициализирует элемент pRootSignature конвейера с помощью значения параметра pRootSignature.

InputLayoutCb(const D3D12_INPUT_LAYOUT_DESC& InputLayout)

Инициализирует элемент InputLayout в PipelineStream с помощью значения параметра InputLayout.

IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue)

Инициализирует член IBStripCutValue в PipelineStream с помощью значения параметра IBStripCutValue.

PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType)

Инициализирует член PrimitiveTopologyType в PipelineStream с помощью значения параметра PrimitiveTopologyType.

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 в PipelineStream, используя значение параметра StreamOutput.

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 PipelineStream с помощью значения параметра CS.

BlendStateCb(const D3D12_BLEND_DESC& BlendState)

Инициализирует элемент BlendState в PipelineStream с помощью значения параметра BlendState.

DepthStencilStateCb(const D3D12_DEPTH_STENCIL_DESC& DepthStencilState)

Инициализирует элемент DepthStencilState в PipelineStream с помощью значения параметра DepthStencilState, D3D12_DEPTH_STENCIL_DESC.

DepthStencilState1Cb(const D3D12_DEPTH_STENCIL_DESC1& DepthStencilState)

Инициализирует элемент DepthStencilState PipelineStream, используя значение параметра DepthStencilState, D3D12_DEPTH_STENCIL_DESC1.

DSVFormatCb(DXGI_FORMAT DSVFormat)

Инициализирует член DSVFormat в PipelineStream, используя значение параметра DSVFormat.

RasterizerStateCb(const D3D12_RASTERIZER_DESC& RasterizerState)

Инициализирует член RasterizerState в PipelineStream с помощью значения параметра RasterizerState.

RTVFormatsCb(const D3D12_RT_FORMAT_ARRAY& RTVFormats)

Инициализирует член RTVFormats в PipelineStream с помощью значения параметра RTVFormats.

SampleDescCb(const DXGI_SAMPLE_DESC& SampleDesc)

Инициализирует член SampleDesc в PipelineStream с помощью значения параметра SampleDesc.

SampleMaskCb(UINT SampleMask)

Инициализирует член SampleMask в PipelineStream, используя значение параметра SampleMask.

ViewInstancingCb(const D3D12_VIEW_INSTANCING_DESC& ViewInstancingDesc)

Инициализирует член ViewInstancingDesc в PipelineStream с помощью значения параметра ViewInstancingDesc.

CachedPSOCb(const D3D12_CACHED_PIPELINE_STATE& CachedPSO)

Инициализирует элемент CachedPSO в PipelineStream с помощью значения параметра CachedPSO.

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; Эта структура реализует обратные вызовы ошибок, чтобы ничего не делать.

Requirements

Требование Значение
Верхний колонтитул
D3dx12.h

См. также

Вспомогательные структуры для Direct3D 12

ID3DX12PipelineParserCallbacks