yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// cuda-buffer.cpp 2#include "cuda-buffer.h" 3 4#include "cuda-helper-functions.h" 5 6namespace gfx 7{ 8#ifdef GFX_ENABLE_CUDA 9using namespace Slang ; 10 11namespace cuda 12{ 13 14BufferResourceImpl ::~BufferResourceImpl () 15{ 16if (m_cudaMemory ) 17 { 18SLANG_CUDA_ASSERT_ON_FAIL (cuMemFree ((CUdeviceptr )m_cudaMemory )); 19 } 20} 21 22uint64_t BufferResourceImpl ::getBindlessHandle () 23{ 24return (uint64_t )m_cudaMemory ; 25} 26 27DeviceAddress BufferResourceImpl ::getDeviceAddress () 28{ 29return (DeviceAddress )m_cudaMemory ; 30} 31 32Result BufferResourceImpl ::getNativeResourceHandle (InteropHandle * outHandle ) 33{ 34outHandle -> handleValue = getBindlessHandle (); 35outHandle -> api = InteropHandleAPI ::CUDA ; 36return SLANG_OK ; 37} 38 39Result BufferResourceImpl ::map (MemoryRange * rangeToRead ,void ** outPointer ) 40{ 41SLANG_UNUSED (rangeToRead ); 42SLANG_UNUSED (outPointer ); 43return SLANG_FAIL ; 44} 45 46Result BufferResourceImpl ::unmap (MemoryRange * writtenRange ) 47{ 48SLANG_UNUSED (writtenRange ); 49return SLANG_FAIL ; 50} 51 52}// namespace cuda 53#endif 54}// namespace gfx