diff options
Diffstat (limited to 'tools/render-test/main.cpp')
| -rw-r--r-- | tools/render-test/main.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/render-test/main.cpp b/tools/render-test/main.cpp index b333e57bd..6233b7617 100644 --- a/tools/render-test/main.cpp +++ b/tools/render-test/main.cpp @@ -3,6 +3,7 @@ #include "options.h" #include "render.h" #include "render-d3d11.h" +#include "render-d3d12.h" #include "render-gl.h" #include "render-vk.h" @@ -334,7 +335,11 @@ SlangResult innerMain(int argc, char** argv) nativeLanguage = SLANG_SOURCE_LANGUAGE_HLSL; break; - // TODO: `RendererID::D3D12` + case RendererID::D3D12: + renderer = createD3D12Renderer(); + slangTarget = SLANG_HLSL; + nativeLanguage = SLANG_SOURCE_LANGUAGE_HLSL; + break; case RendererID::GL: renderer = createGLRenderer(); @@ -412,6 +417,11 @@ SlangResult innerMain(int argc, char** argv) // If we are in a mode where output is requested, we need to snapshot the back buffer here if (gOptions.outputPath) { + // Submit the work + renderer->submitGpuWork(); + // Wait until everything is complete + renderer->waitForGpu(); + if (gOptions.shaderType == ShaderProgramType::Compute || gOptions.shaderType == ShaderProgramType::GraphicsCompute) renderer->serializeOutput(app.getBindingState(), gOptions.outputPath); else |
