yum-mirror/slang

Making it easier to work with shaders

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

Ellie Hermaszewskaformatf65d756bf

master
1.1 KiB43 linesraw
1// d3d12-buffer.h
2#pragma once
3
4#include "d3d12-base.h"
5
6namespace gfx
7{
8namespace d3d12
9{
10
11using namespace Slang;
12
13class BufferResourceImpl : public gfx::BufferResource
14{
15public:
16    typedef BufferResource Parent;
17
18    BufferResourceImpl(const Desc& desc);
19
20    ~BufferResourceImpl();
21
22    D3D12Resource m_resource; ///< The resource in gpu memory, allocated on the correct heap
23                              ///< relative to the cpu access flag
24
25    D3D12_RESOURCE_STATES m_defaultState;
26
27    virtual SLANG_NO_THROW DeviceAddress SLANG_MCALL getDeviceAddress() override;
28
29    virtual SLANG_NO_THROW Result SLANG_MCALL
30    getNativeResourceHandle(InteropHandle* outHandle) override;
31
32    virtual SLANG_NO_THROW Result SLANG_MCALL getSharedHandle(InteropHandle* outHandle) override;
33
34    virtual SLANG_NO_THROW Result SLANG_MCALL
35    map(MemoryRange* rangeToRead, void** outPointer) override;
36
37    virtual SLANG_NO_THROW Result SLANG_MCALL unmap(MemoryRange* writtenRange) override;
38
39    virtual SLANG_NO_THROW Result SLANG_MCALL setDebugName(const char* name) override;
40};
41
42} // namespace d3d12
43} // namespace gfx