summaryrefslogtreecommitdiffstats
path: root/tools/render-test/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/render-test/main.cpp')
-rw-r--r--tools/render-test/main.cpp12
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