summaryrefslogtreecommitdiffstats
path: root/tools/render-test
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-02-04 13:50:51 -0800
committerGitHub <noreply@github.com>2021-02-04 13:50:51 -0800
commitc40f10b704b8bd5a744cc9b3964344585436b1ac (patch)
tree1c9608f3cc32949d88fe04f3512cd3147fc3fe1f /tools/render-test
parent7f266f1ea7a51213069282296a905650fd405c3f (diff)
[gfx] Shader-object driven shader compilation. (#1688)
Diffstat (limited to 'tools/render-test')
-rw-r--r--tools/render-test/render-test-main.cpp41
1 files changed, 15 insertions, 26 deletions
diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp
index 27070154e..b9fd5c725 100644
--- a/tools/render-test/render-test-main.cpp
+++ b/tools/render-test/render-test-main.cpp
@@ -711,7 +711,7 @@ void RenderTestApp::renderFrame()
auto pipelineType = PipelineType::Graphics;
- m_renderer->setPipelineState(pipelineType, m_pipelineState);
+ m_renderer->setPipelineState(m_pipelineState);
m_renderer->setPrimitiveTopology(PrimitiveTopology::TriangleList);
m_renderer->setVertexBuffer(0, m_vertexBuffer, sizeof(Vertex));
@@ -724,7 +724,7 @@ void RenderTestApp::renderFrame()
void RenderTestApp::runCompute()
{
auto pipelineType = PipelineType::Compute;
- m_renderer->setPipelineState(pipelineType, m_pipelineState);
+ m_renderer->setPipelineState(m_pipelineState);
applyBinding(pipelineType);
m_startTicks = ProcessUtil::getClockTick();
@@ -1279,22 +1279,8 @@ static SlangResult _innerMain(Slang::StdWriters* stdWriters, SlangSession* sessi
Slang::ComPtr<IRenderer> renderer;
{
- SGRendererCreateFunc createFunc = gfxGetCreateFunc(options.rendererType);
- if (createFunc)
- {
- createFunc(renderer.writeRef());
- }
-
- if (!renderer)
- {
- if (!options.onlyStartup)
- {
- fprintf(stderr, "Unable to create renderer %s\n", rendererName.getBuffer());
- }
- return SLANG_FAIL;
- }
-
- IRenderer::Desc desc;
+ IRenderer::Desc desc = {};
+ desc.rendererType = options.rendererType;
desc.width = gWindowWidth;
desc.height = gWindowHeight;
desc.adapter = options.adapter.getBuffer();
@@ -1306,18 +1292,21 @@ static SlangResult _innerMain(Slang::StdWriters* stdWriters, SlangSession* sessi
desc.nvapiExtnSlot = int(nvapiExtnSlot);
desc.slang.slangGlobalSession = session;
window = renderer_test::Window::create();
- SLANG_RETURN_ON_FAIL(window->initialize(gWindowWidth, gWindowHeight));
+ void* windowHandle = nullptr;
+ if (window)
+ {
+ SLANG_RETURN_ON_FAIL(window->initialize(gWindowWidth, gWindowHeight));
+ windowHandle = window->getHandle();
+ }
+ gfxCreateRenderer(&desc, windowHandle, renderer.writeRef());
- SlangResult res = renderer->initialize(desc, window->getHandle());
- if (SLANG_FAILED(res))
+ if (!renderer)
{
- // Returns E_NOT_AVAILABLE only when specified features are not available.
- // Will cause to be ignored.
- if (!options.onlyStartup && res != SLANG_E_NOT_AVAILABLE)
+ if (!options.onlyStartup)
{
- fprintf(stderr, "Unable to initialize renderer %s\n", rendererName.getBuffer());
+ fprintf(stderr, "Unable to create renderer %s\n", rendererName.getBuffer());
}
- return res;
+ return SLANG_FAIL;
}
for (const auto& feature : requiredFeatureList)