summaryrefslogtreecommitdiffstats
path: root/tools/gfx/cuda/render-cuda.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/cuda/render-cuda.cpp')
-rw-r--r--tools/gfx/cuda/render-cuda.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/tools/gfx/cuda/render-cuda.cpp b/tools/gfx/cuda/render-cuda.cpp
index cb8f779f4..bacaa42ee 100644
--- a/tools/gfx/cuda/render-cuda.cpp
+++ b/tools/gfx/cuda/render-cuda.cpp
@@ -2112,7 +2112,10 @@ public:
}
virtual SLANG_NO_THROW Result SLANG_MCALL createBufferView(
- IBufferResource* buffer, IResourceView::Desc const& desc, IResourceView** outView) override
+ IBufferResource* buffer,
+ IBufferResource* counterBuffer,
+ IResourceView::Desc const& desc,
+ IResourceView** outView) override
{
RefPtr<CUDAResourceView> view = new CUDAResourceView();
view->m_desc = desc;
@@ -2181,18 +2184,18 @@ public:
// don't actually create any kernels. This program will be specialized later when we know
// the shader object bindings.
RefPtr<CUDAShaderProgram> cudaProgram = new CUDAShaderProgram();
- cudaProgram->slangProgram = desc.slangProgram;
+ cudaProgram->init(desc);
cudaProgram->cudaContext = m_context;
- if (desc.slangProgram->getSpecializationParamCount() != 0)
+ if (desc.slangGlobalScope->getSpecializationParamCount() != 0)
{
- cudaProgram->layout = new CUDAProgramLayout(this, desc.slangProgram->getLayout());
+ cudaProgram->layout = new CUDAProgramLayout(this, desc.slangGlobalScope->getLayout());
returnComPtr(outProgram, cudaProgram);
return SLANG_OK;
}
ComPtr<ISlangBlob> kernelCode;
ComPtr<ISlangBlob> diagnostics;
- auto compileResult = desc.slangProgram->getEntryPointCode(
+ auto compileResult = desc.slangGlobalScope->getEntryPointCode(
(SlangInt)0, 0, kernelCode.writeRef(), diagnostics.writeRef());
if (diagnostics)
{
@@ -2206,16 +2209,16 @@ public:
SLANG_RETURN_ON_FAIL(compileResult);
SLANG_CUDA_RETURN_ON_FAIL(cuModuleLoadData(&cudaProgram->cudaModule, kernelCode->getBufferPointer()));
- cudaProgram->kernelName = desc.slangProgram->getLayout()->getEntryPointByIndex(0)->getName();
+ cudaProgram->kernelName = desc.slangGlobalScope->getLayout()->getEntryPointByIndex(0)->getName();
SLANG_CUDA_RETURN_ON_FAIL(cuModuleGetFunction(
&cudaProgram->cudaKernel, cudaProgram->cudaModule, cudaProgram->kernelName.getBuffer()));
- auto slangProgram = desc.slangProgram;
- if( slangProgram )
+ auto slangGlobalScope = desc.slangGlobalScope;
+ if( slangGlobalScope )
{
- cudaProgram->slangProgram = slangProgram;
+ cudaProgram->slangGlobalScope = slangGlobalScope;
- auto slangProgramLayout = slangProgram->getLayout();
+ auto slangProgramLayout = slangGlobalScope->getLayout();
if(!slangProgramLayout)
return SLANG_FAIL;