yum-mirror/slang

Making it easier to work with shaders

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

Ellie Hermaszewskaformatf65d756bf

master
927 B41 linesraw
1// cuda-buffer.h
2#pragma once
3#include "cuda-base.h"
4#include "cuda-context.h"
5
6namespace gfx
7{
8#ifdef GFX_ENABLE_CUDA
9using namespace Slang;
10
11namespace cuda
12{
13
14class BufferResourceImpl : public BufferResource
15{
16public:
17    BufferResourceImpl(const Desc& _desc)
18        : BufferResource(_desc)
19    {
20    }
21
22    ~BufferResourceImpl();
23
24    uint64_t getBindlessHandle();
25
26    void* m_cudaExternalMemory = nullptr;
27    void* m_cudaMemory = nullptr;
28
29    RefPtr<CUDAContext> m_cudaContext;
30
31    virtual SLANG_NO_THROW DeviceAddress SLANG_MCALL getDeviceAddress() override;
32    virtual SLANG_NO_THROW Result SLANG_MCALL
33    getNativeResourceHandle(InteropHandle* outHandle) override;
34    virtual SLANG_NO_THROW Result SLANG_MCALL
35    map(MemoryRange* rangeToRead, void** outPointer) override;
36    virtual SLANG_NO_THROW Result SLANG_MCALL unmap(MemoryRange* writtenRange) override;
37};
38
39} // namespace cuda
40#endif
41} // namespace gfx