yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// cpu-buffer.cpp 2#include "cpu-buffer.h" 3 4namespace gfx 5{ 6using namespace Slang ; 7 8namespace cpu 9{ 10 11BufferResourceImpl ::~BufferResourceImpl () 12{ 13if (m_data ) 14 { 15free (m_data ); 16 } 17} 18 19Result BufferResourceImpl ::init () 20{ 21m_data = malloc (m_desc .sizeInBytes ); 22if (!m_data ) 23return SLANG_E_OUT_OF_MEMORY ; 24return SLANG_OK ; 25} 26 27Result BufferResourceImpl ::setData (size_t offset ,size_t size ,void const * data ) 28{ 29memcpy ((char * )m_data + offset ,data ,size ); 30return SLANG_OK ; 31} 32 33SLANG_NO_THROW DeviceAddress SLANG_MCALL BufferResourceImpl ::getDeviceAddress () 34{ 35return (DeviceAddress )m_data ; 36} 37 38SLANG_NO_THROW Result SLANG_MCALL 39BufferResourceImpl ::map (MemoryRange * rangeToRead ,void ** outPointer ) 40{ 41SLANG_UNUSED (rangeToRead ); 42if (outPointer ) 43* outPointer = m_data ; 44return SLANG_OK ; 45} 46 47SLANG_NO_THROW Result SLANG_MCALL BufferResourceImpl ::unmap (MemoryRange * writtenRange ) 48{ 49SLANG_UNUSED (writtenRange ); 50return SLANG_OK ; 51} 52 53}// namespace cpu 54}// namespace gfx