yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// d3d12-ray-tracing.h 2#pragma once 3 4#include "d3d12-base.h" 5 6namespace gfx 7{ 8namespace d3d12 9{ 10 11using namespace Slang ; 12 13class PipelineStateImpl :public PipelineStateBase 14{ 15public : 16PipelineStateImpl (DeviceImpl * device ) 17 :m_device (device ) 18 { 19 } 20DeviceImpl * m_device ; 21ComPtr < ID3D12PipelineState > m_pipelineState ; 22void init (const GraphicsPipelineStateDesc & inDesc ); 23void init (const ComputePipelineStateDesc & inDesc ); 24virtual SLANG_NO_THROW Result SLANG_MCALL getNativeHandle (InteropHandle * outHandle )override ; 25virtual Result ensureAPIPipelineStateCreated ()override ; 26}; 27 28#if SLANG_GFX_HAS_DXR_SUPPORT 29class RayTracingPipelineStateImpl :public PipelineStateBase 30{ 31public : 32ComPtr < ID3D12StateObject > m_stateObject ; 33DeviceImpl * m_device ; 34RayTracingPipelineStateImpl (DeviceImpl * device ); 35void init (const RayTracingPipelineStateDesc & inDesc ); 36virtual SLANG_NO_THROW Result SLANG_MCALL getNativeHandle (InteropHandle * outHandle )override ; 37virtual Result ensureAPIPipelineStateCreated ()override ; 38}; 39#endif 40 41}// namespace d3d12 42}// namespace gfx