yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// metal-buffer.h 2#pragma once 3 4#include "metal-base.h" 5#include "metal-device.h" 6 7namespace gfx 8{ 9 10using namespace Slang ; 11 12namespace metal 13{ 14 15class BufferResourceImpl :public BufferResource 16{ 17public : 18typedef BufferResource Parent ; 19 20BreakableReference < DeviceImpl > m_device ; 21NS ::SharedPtr < MTL ::Buffer > m_buffer ; 22 23BufferResourceImpl (const IBufferResource ::Desc & desc ,DeviceImpl * device ); 24 ~BufferResourceImpl (); 25 26virtual SLANG_NO_THROW DeviceAddress SLANG_MCALL getDeviceAddress ()override ; 27 28virtual SLANG_NO_THROW Result SLANG_MCALL 29getNativeResourceHandle ( InteropHandle * outHandle) override; 30 31virtual SLANG_NO_THROW Result SLANG_MCALL getSharedHandle ( InteropHandle * outHandle) override; 32 33virtual SLANG_NO_THROW Result SLANG_MCALL 34map ( MemoryRange * rangeToRead, void ** outPointer) override; 35 36virtual SLANG_NO_THROW Result SLANG_MCALL unmap ( MemoryRange * writtenRange) override; 37 38virtual SLANG_NO_THROW Result SLANG_MCALL setDebugName ( const char * name) override; 39}; 40 41} // namespace metal 42} // namespace gfx