yum-mirror/slang

Making it easier to work with shaders

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

Ellie Hermaszewskaformatf65d756bf

master
1.0 KiB54 linesraw
1// cuda-buffer.cpp
2#include "cuda-buffer.h"
3
4#include "cuda-helper-functions.h"
5
6namespace gfx
7{
8#ifdef GFX_ENABLE_CUDA
9using namespace Slang;
10
11namespace cuda
12{
13
14BufferResourceImpl::~BufferResourceImpl()
15{
16    if (m_cudaMemory)
17    {
18        SLANG_CUDA_ASSERT_ON_FAIL(cuMemFree((CUdeviceptr)m_cudaMemory));
19    }
20}
21
22uint64_t BufferResourceImpl::getBindlessHandle()
23{
24    return (uint64_t)m_cudaMemory;
25}
26
27DeviceAddress BufferResourceImpl::getDeviceAddress()
28{
29    return (DeviceAddress)m_cudaMemory;
30}
31
32Result BufferResourceImpl::getNativeResourceHandle(InteropHandle* outHandle)
33{
34    outHandle->handleValue = getBindlessHandle();
35    outHandle->api = InteropHandleAPI::CUDA;
36    return SLANG_OK;
37}
38
39Result BufferResourceImpl::map(MemoryRange* rangeToRead, void** outPointer)
40{
41    SLANG_UNUSED(rangeToRead);
42    SLANG_UNUSED(outPointer);
43    return SLANG_FAIL;
44}
45
46Result BufferResourceImpl::unmap(MemoryRange* writtenRange)
47{
48    SLANG_UNUSED(writtenRange);
49    return SLANG_FAIL;
50}
51
52} // namespace cuda
53#endif
54} // namespace gfx