MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / ComputeStateObject

Method ComputeStateObject

Source/Falcor/Core/API/ComputeStateObject.cpp:40–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38{
39
40ComputeStateObject::ComputeStateObject(ref<Device> pDevice, ComputeStateObjectDesc desc)
41 : mpDevice(std::move(pDevice)), mDesc(std::move(desc))
42{
43 gfx::ComputePipelineStateDesc computePipelineDesc = {};
44 computePipelineDesc.program = mDesc.pProgramKernels->getGfxProgram();
45#if FALCOR_HAS_D3D12
46 if (mDesc.pD3D12RootSignatureOverride)
47 mpDevice->requireD3D12();
48 if (mpDevice->getType() == Device::Type::D3D12)
49 {
50 computePipelineDesc.d3d12RootSignatureOverride =
51 mDesc.pD3D12RootSignatureOverride ? (void*)mDesc.pD3D12RootSignatureOverride->getApiHandle().GetInterfacePtr() : nullptr;
52 }
53#endif
54 FALCOR_GFX_CALL(mpDevice->getGfxDevice()->createComputePipelineState(computePipelineDesc, mGfxPipelineState.writeRef()));
55}
56
57ComputeStateObject::~ComputeStateObject()
58{

Callers

nothing calls this directly

Calls 4

requireD3D12Method · 0.80
writeRefMethod · 0.80
getTypeMethod · 0.45

Tested by

no test coverage detected