yum-mirror/slang

Making it easier to work with shaders

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

lucy96chenSplit render-cuda.cpp into smaller files (#2334)ce6e946f6

master
978 B48 linesraw
1// cuda-texture.cpp
2#include "cuda-texture.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
14TextureResourceImpl::~TextureResourceImpl()
15{
16    if (m_cudaSurfObj)
17    {
18        SLANG_CUDA_ASSERT_ON_FAIL(cuSurfObjectDestroy(m_cudaSurfObj));
19    }
20    if (m_cudaTexObj)
21    {
22        SLANG_CUDA_ASSERT_ON_FAIL(cuTexObjectDestroy(m_cudaTexObj));
23    }
24    if (m_cudaArray)
25    {
26        SLANG_CUDA_ASSERT_ON_FAIL(cuArrayDestroy(m_cudaArray));
27    }
28    if (m_cudaMipMappedArray)
29    {
30        SLANG_CUDA_ASSERT_ON_FAIL(cuMipmappedArrayDestroy(m_cudaMipMappedArray));
31    }
32}
33
34uint64_t TextureResourceImpl::getBindlessHandle()
35{
36    return (uint64_t)m_cudaTexObj;
37}
38
39Result TextureResourceImpl::getNativeResourceHandle(InteropHandle* outHandle)
40{
41    outHandle->handleValue = getBindlessHandle();
42    outHandle->api = InteropHandleAPI::CUDA;
43    return SLANG_OK;
44}
45
46} // namespace cuda
47#endif
48} // namespace gfx