From 502aa3812a82cf0d091cff0c67804e4ee448ac78 Mon Sep 17 00:00:00 2001 From: David Siher <32305650+dsiher@users.noreply.github.com> Date: Tue, 14 Sep 2021 12:59:55 -0400 Subject: Bring heterogeneous-hello-world back up to date. (#1935) * Bring heterogeneous-hello-world back up to date. * Reintroduced heterogeneous-hello-world into the premake * No longer uses compiled bytecode for entry point, instead a loadModule call is hardocoded with the slang file name. * Entry point is, similarly, hardcoded for now. * Added a bypass to slang-legalize-types for an unneeded GPUForeach check * Run premake and change to relative path * Removed experimental and added README Co-authored-by: Yong He --- source/slang/slang-emit-cpp.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'source/slang/slang-emit-cpp.cpp') diff --git a/source/slang/slang-emit-cpp.cpp b/source/slang/slang-emit-cpp.cpp index 60b86b827..f71406261 100644 --- a/source/slang/slang-emit-cpp.cpp +++ b/source/slang/slang-emit-cpp.cpp @@ -2710,22 +2710,20 @@ void CPPSourceEmitter::emitModuleImpl(IRModule* module, DiagnosticSink* sink) // Emit a wrapper function for calling the shader blob m_writer->emit("void "); m_writer->emit(entryPointName); - m_writer->emit("_wrapper(gfx_Renderer_0* renderer, Vector gridDims, \n"); + m_writer->emit("_wrapper(gfx_Device_0* device, Vector gridDims, \n"); m_writer->emit("\tRWStructuredBuffer buffer)\n{"); - m_writer->emit("\n\tgfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(renderer, __"); + /* m_writer->emit("\n\tgfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device, __"); m_writer->emit(entryPointName); m_writer->emit(", __"); m_writer->emit(entryPointName); - m_writer->emit("Size);"); - m_writer->emit("\n\tgfx_DescriptorSetLayout_0* setLayout = buildDescriptorSetLayout_0(renderer);"); - m_writer->emit("\n\tgfx_PipelineLayout_0* pipelineLayout = buildPipeline_0(renderer, setLayout);"); - m_writer->emit("\n\tgfx_DescriptorSet_0* descriptorSet = "); - m_writer->emit("buildDescriptorSet_0(renderer, setLayout, unconvertBuffer_0(buffer));"); + m_writer->emit("Size);");*/ + m_writer->emit("\n\tgfx_ShaderProgram_0* shaderProgram = loadShaderProgram_0(device);"); + m_writer->emit("\n\tgfx_TransientResourceHeap_0* transientHeap = buildTransientHeap_0(device);"); m_writer->emit("\n\tgfx_PipelineState_0* pipelineState = "); - m_writer->emit("buildPipelineState_0(shaderProgram, renderer, pipelineLayout);"); - - m_writer->emit("\n\tdispatchComputation_0(renderer, pipelineState, pipelineLayout, "); - m_writer->emit("descriptorSet, gridDims.x, gridDims.y, gridDims.z);"); + m_writer->emit("buildPipelineState_0(device, shaderProgram);"); + m_writer->emit("\n\tgfx_ResourceView_0* bufferView = createBufferView_0(device, unconvertBuffer_0(buffer));"); + m_writer->emit("\n\tdispatchComputation_0(device, transientHeap, pipelineState, "); + m_writer->emit("bufferView, gridDims.x, gridDims.y, gridDims.z);"); m_writer->emit("\n}\n"); } } -- cgit v1.2.3