yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaformatf65d756bf

master
1.0 KiB42 linesraw
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:
18    typedef BufferResource Parent;
19
20    BreakableReference<DeviceImpl> m_device;
21    NS::SharedPtr<MTL::Buffer> m_buffer;
22
23    BufferResourceImpl(const IBufferResource::Desc& desc, DeviceImpl* device);
24    ~BufferResourceImpl();
25
26    virtual SLANG_NO_THROW DeviceAddress SLANG_MCALL getDeviceAddress() override;
27
28    virtual SLANG_NO_THROW Result SLANG_MCALL
29    getNativeResourceHandle(InteropHandle* outHandle) override;
30
31    virtual SLANG_NO_THROW Result SLANG_MCALL getSharedHandle(InteropHandle* outHandle) override;
32
33    virtual SLANG_NO_THROW Result SLANG_MCALL
34    map(MemoryRange* rangeToRead, void** outPointer) override;
35
36    virtual SLANG_NO_THROW Result SLANG_MCALL unmap(MemoryRange* writtenRange) override;
37
38    virtual SLANG_NO_THROW Result SLANG_MCALL setDebugName(const char* name) override;
39};
40
41} // namespace metal
42} // namespace gfx