MCPcopy Create free account
hub / github.com/TheRealMJP/DeferredTexturing / CreatePSOs

Function CreatePSOs

SampleFramework12/v1.00/ImGuiHelper.cpp:172–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172void CreatePSOs(DXGI_FORMAT rtFormat)
173{
174 D3D12_INPUT_ELEMENT_DESC inputElements[] =
175 {
176 { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
177 { "UV", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
178 { "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
179 };
180
181 D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = { };
182 psoDesc.pRootSignature = RootSignature;
183 psoDesc.VS = VS.ByteCode();
184 psoDesc.PS = PS.ByteCode();
185 psoDesc.RasterizerState = DX12::GetRasterizerState(RasterizerState::NoCull);
186 psoDesc.BlendState = DX12::GetBlendState(BlendState::AlphaBlend);
187 psoDesc.DepthStencilState = DX12::GetDepthState(DepthState::Disabled);
188 psoDesc.SampleMask = UINT_MAX;
189 psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
190 psoDesc.NumRenderTargets = 1;
191 psoDesc.RTVFormats[0] = rtFormat;
192 psoDesc.SampleDesc.Count = 1;
193 psoDesc.InputLayout.pInputElementDescs = inputElements;
194 psoDesc.InputLayout.NumElements = ArraySize_(inputElements);
195 DXCall(DX12::Device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&PSO)));
196}
197
198void DestroyPSOs()
199{

Callers 3

UpdateMethod · 0.85
Render_InternalMethod · 0.85
CreatePSOs_InternalMethod · 0.85

Calls 5

GetRasterizerStateFunction · 0.85
GetBlendStateFunction · 0.85
GetDepthStateFunction · 0.85
DXCallFunction · 0.85
ByteCodeMethod · 0.80

Tested by

no test coverage detected