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


структура D3D12_GRAPHICS_PIPELINE_STATE_DESC (d3d12.h)

Описывает объект состояния графического конвейера.

Синтаксис

typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
  ID3D12RootSignature                *pRootSignature;
  D3D12_SHADER_BYTECODE              VS;
  D3D12_SHADER_BYTECODE              PS;
  D3D12_SHADER_BYTECODE              DS;
  D3D12_SHADER_BYTECODE              HS;
  D3D12_SHADER_BYTECODE              GS;
  D3D12_STREAM_OUTPUT_DESC           StreamOutput;
  D3D12_BLEND_DESC                   BlendState;
  UINT                               SampleMask;
  D3D12_RASTERIZER_DESC              RasterizerState;
  D3D12_DEPTH_STENCIL_DESC           DepthStencilState;
  D3D12_INPUT_LAYOUT_DESC            InputLayout;
  D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
  D3D12_PRIMITIVE_TOPOLOGY_TYPE      PrimitiveTopologyType;
  UINT                               NumRenderTargets;
  DXGI_FORMAT                        RTVFormats[8];
  DXGI_FORMAT                        DSVFormat;
  DXGI_SAMPLE_DESC                   SampleDesc;
  UINT                               NodeMask;
  D3D12_CACHED_PIPELINE_STATE        CachedPSO;
  D3D12_PIPELINE_STATE_FLAGS         Flags;
} D3D12_GRAPHICS_PIPELINE_STATE_DESC;

Члены

pRootSignature

Указатель на объект ID3D12RootSignature .

VS

Структура D3D12_SHADER_BYTECODE , описывающая вершинный шейдер.

PS

Структура D3D12_SHADER_BYTECODE , описывающая пиксельный шейдер.

DS

Структура D3D12_SHADER_BYTECODE , описывающая шейдер предметной области.

HS

Структура D3D12_SHADER_BYTECODE, описывающая шейдер корпуса.

GS

Структура D3D12_SHADER_BYTECODE , описывающая геометрический шейдер.

StreamOutput

Структура D3D12_STREAM_OUTPUT_DESC , описывающая выходной буфер потоковой передачи.

BlendState

Структура D3D12_BLEND_DESC , описывающая состояние смешения.

SampleMask

Пример маски для состояния наложения.

RasterizerState

Структура D3D12_RASTERIZER_DESC , описывающая состояние растеризатора.

DepthStencilState

Структура D3D12_DEPTH_STENCIL_DESC , описывающая состояние трафарета глубины.

InputLayout

Структура D3D12_INPUT_LAYOUT_DESC , описывающая входные данные буфера для этапа входного ассемблер.

IBStripCutValue

Задает свойства буфера индекса в структуре D3D12_INDEX_BUFFER_STRIP_CUT_VALUE .

PrimitiveTopologyType

D3D12_PRIMITIVE_TOPOLOGY_TYPE типизированное значение для типа примитива и упорядочение данных-примитивов.

NumRenderTargets

Количество форматов целевого объекта отрисовки в элементе RTVFormats .

RTVFormats[8]

Массив DXGI_FORMAT типизированных значений для форматов целевых объектов отрисовки.

DSVFormat

DXGI_FORMAT типизированное значение для формата трафарета глубины.

SampleDesc

Структура DXGI_SAMPLE_DESC , указывающая параметры множественной выборки.

NodeMask

Для одной операции GPU установите значение 0. Если имеется несколько узлов GPU, задайте биты, чтобы определить узлы (физические адаптеры устройства), к которым будет применяться состояние графического конвейера. Каждый бит в маске соответствует одному узлу. См. раздел Системы с несколькими адаптерами.

CachedPSO

Кэшированный объект состояния конвейера в виде D3D12_CACHED_PIPELINE_STATE структуры. Для pCachedBlob и CachedBlobSizeInBytes могут быть заданы значения NULL и 0 соответственно.

Flags

Константу перечисления D3D12_PIPELINE_STATE_FLAGS , например для "отладка инструмента".

Комментарии

Эта структура используется методом CreateGraphicsPipelineState .

Среда выполнения проверяет:

  • Правильность компоновки между этапами шейдера.
  • Если указаны элементы HS и DS , то для элемента PrimitiveTopologyType для типа топологии необходимо задать значение D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH.
  • Указывает, разрешено ли выполнение выборки с частотой с помощью шаблона сглаживания с центральной несколькими образцами (MSAA).
  • Указывает, разрешено ли сглаживание строк в шаблоне MSAA центра.
  • Если элемент ForcedSampleCountD3D12_RASTERIZER_DESC , который указывает RasterizerState , не равен нулю:
    • Глубина и набор элементов должны быть отключены.
    • Пиксельный шейдер не может выводить глубину.
    • Пиксельный шейдер не может выполняться с частотой выборки.
    • Число выборок целевого объекта отрисовки должно быть 1.
  • Совместимо ли состояние смешения с форматами целевых форматов отрисовки.
  • Совместим ли тип выходных данных шейдера пикселей с форматом целевого объекта отрисовки.
  • Поддерживается ли количество выборок и качество для форматов набора элементов целевого объекта отрисовки и трафарета глубины.

Требования

   
Верхняя часть d3d12.h

См. также раздел

Консервативная растеризация

Основные структуры

Упорядоченные представления средства программной прорисовки