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.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/tools/render-test/main.cpp b/tools/render-test/main.cpp
index acc7ffb78..887ba4005 100644
--- a/tools/render-test/main.cpp
+++ b/tools/render-test/main.cpp
@@ -64,6 +64,8 @@ class RenderTestApp
BindingState* getBindingState() const { return m_bindingState; }
+ Result writeBindingOutput(const char* fileName);
+
protected:
/// Called in initialize
Result initializeShaders(ShaderCompiler* shaderCompiler);
@@ -99,7 +101,12 @@ SlangResult RenderTestApp::initialize(Renderer* renderer, ShaderCompiler* shader
m_renderer = renderer;
- m_bindingState = renderer->createBindingState(m_shaderInputLayout);
+ {
+ BindingState::Desc bindingStateDesc;
+ SLANG_RETURN_ON_FAIL(createBindingStateDesc(m_shaderInputLayout, m_renderer, bindingStateDesc));
+
+ m_bindingState = m_renderer->createBindingState(bindingStateDesc);
+ }
// Do other initialization that doesn't depend on the source language.
@@ -237,6 +244,11 @@ void RenderTestApp::finalize()
{
}
+Result RenderTestApp::writeBindingOutput(const char* fileName)
+{
+ return serializeBindingOutput(m_shaderInputLayout, m_bindingState, m_renderer, fileName);
+}
+
//
// We use a bare-minimum window procedure to get things up and running.
@@ -421,9 +433,13 @@ SlangResult innerMain(int argc, char** argv)
renderer->waitForGpu();
if (gOptions.shaderType == ShaderProgramType::Compute || gOptions.shaderType == ShaderProgramType::GraphicsCompute)
- renderer->serializeOutput(app.getBindingState(), gOptions.outputPath);
+ {
+ SLANG_RETURN_ON_FAIL(app.writeBindingOutput(gOptions.outputPath));
+ }
else
+ {
SLANG_RETURN_ON_FAIL(renderer->captureScreenShot(gOptions.outputPath));
+ }
return SLANG_OK;
}