структура 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 |