From 9b7a007c31072bc9aebd1134aa4f1bfd28a4c541 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 24 Feb 2021 15:43:43 -0800 Subject: Explicit swapchain interface in `gfx`. (#1726) * Explicit swapchain interface in `gfx`. * Correctly return nullptr when `IRenderer` creation failed. * Fix crashes on CUDA tests. * Cleanups. --- examples/shader-object/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'examples/shader-object/main.cpp') diff --git a/examples/shader-object/main.cpp b/examples/shader-object/main.cpp index b61cf30e4..9b1b4de72 100644 --- a/examples/shader-object/main.cpp +++ b/examples/shader-object/main.cpp @@ -137,7 +137,7 @@ int main() Slang::ComPtr renderer; IRenderer::Desc rendererDesc = {}; rendererDesc.rendererType = RendererType::CUDA; - SLANG_RETURN_ON_FAIL(gfxCreateRenderer(&rendererDesc, nullptr, renderer.writeRef())); + SLANG_RETURN_ON_FAIL(gfxCreateRenderer(&rendererDesc, renderer.writeRef())); // Now we can load the shader code. // A `gfx::IShaderProgram` object for use in the `gfx` layer. @@ -211,10 +211,11 @@ int main() // We have set up all required parameters in entry-point object, now it is time // to bind the pipeline and root object and launch the kernel. + renderer->beginFrame(); renderer->setPipelineState(pipelineState); SLANG_RETURN_ON_FAIL(renderer->bindRootShaderObject(gfx::PipelineType::Compute, rootObject)); renderer->dispatchCompute(1, 1, 1); - + renderer->endFrame(); // Read back the results. renderer->waitForGpu(); float* result = (float*)renderer->map(numbersBuffer, gfx::MapFlavor::HostRead); -- cgit v1.2.3