yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// cuda-command-buffer.h 2#pragma once 3#include "cuda-base.h" 4#include "cuda-command-encoder.h" 5 6namespace gfx 7{ 8#ifdef GFX_ENABLE_CUDA 9using namespace Slang ; 10 11namespace cuda 12{ 13 14class CommandBufferImpl :public ICommandBuffer ,public CommandWriter ,public ComObject 15{ 16public : 17SLANG_COM_OBJECT_IUNKNOWN_ALL 18ICommandBuffer * getInterface (const Guid & guid ); 19 20public : 21DeviceImpl * m_device ; 22TransientResourceHeapBase * m_transientHeap ; 23ResourceCommandEncoderImpl m_resourceCommandEncoder ; 24ComputeCommandEncoderImpl m_computeCommandEncoder ; 25 26void init (DeviceImpl * device ,TransientResourceHeapBase * transientHeap ); 27virtual SLANG_NO_THROW void SLANG_MCALL encodeRenderCommands ( 28IRenderPassLayout * renderPass , 29IFramebuffer * framebuffer , 30IRenderCommandEncoder ** outEncoder )override ; 31 32virtual SLANG_NO_THROW void SLANG_MCALL 33encodeResourceCommands (IResourceCommandEncoder ** outEncoder )override ; 34virtual SLANG_NO_THROW void SLANG_MCALL 35encodeComputeCommands (IComputeCommandEncoder ** outEncoder )override ; 36virtual SLANG_NO_THROW void SLANG_MCALL 37encodeRayTracingCommands (IRayTracingCommandEncoder ** outEncoder )override ; 38 39virtual SLANG_NO_THROW void SLANG_MCALL close ()override {} 40 41virtual SLANG_NO_THROW Result SLANG_MCALL getNativeHandle (InteropHandle * outHandle )override ; 42}; 43 44}// namespace cuda 45#endif 46}// namespace gfx