summaryrefslogtreecommitdiffstats
path: root/tools/gfx/immediate-renderer-base.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-10-18 12:19:45 -0700
committerGitHub <noreply@github.com>2021-10-18 12:19:45 -0700
commit2f44d9e01234911dd563f0456b9d861fd8db286d (patch)
treee2727f31654ebc93bae6a1de4b25586be6fb9d10 /tools/gfx/immediate-renderer-base.cpp
parent87e7c49fbfccd54be0d1cee61fba8f309b1f792e (diff)
GFX: implement mutable shader objects. (#1963)
* GFX: implement mutable shader objects. * Revert unnecessary changes * Revert more changes. * Fix clang errors. * Fix clang/gcc errors. * Fix clang errors. * Remove CPU test. * Fix after merge. * Fix after merge. * Remove gl test * Code review fixes. * Fixing all vk validation errors. * Flush test output more often. * Fix a crash in `specializeDynamicAssociatedTypeLookup`. * temporarily disable std-lib-serialize test to see what happens * Fix crashes. * Make sure cpu gfx unit tests are properly disabled on TeamCity. * Disable cpu test. * Fix. * Fix cuda. * Disable nv-ray-tracing-motion-blur Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/immediate-renderer-base.cpp')
-rw-r--r--tools/gfx/immediate-renderer-base.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/tools/gfx/immediate-renderer-base.cpp b/tools/gfx/immediate-renderer-base.cpp
index eb5450746..8e2e6be0c 100644
--- a/tools/gfx/immediate-renderer-base.cpp
+++ b/tools/gfx/immediate-renderer-base.cpp
@@ -255,7 +255,6 @@ public:
ResourceState src,
ResourceState dst) override
{
- assert(!"Unimplemented");
}
virtual SLANG_NO_THROW void SLANG_MCALL bufferBarrier(
@@ -264,7 +263,6 @@ public:
ResourceState src,
ResourceState dst) override
{
- assert(!"Unimplemented");
}
};
@@ -300,13 +298,13 @@ public:
switch (name)
{
case CommandName::SetPipelineState:
- m_renderer->setPipelineState(m_writer.getObject<IPipelineState>(cmd.operands[0]));
+ m_renderer->setPipelineState(m_writer.getObject<PipelineStateBase>(cmd.operands[0]));
break;
case CommandName::BindRootShaderObject:
- m_renderer->bindRootShaderObject(m_writer.getObject<IShaderObject>(cmd.operands[0]));
+ m_renderer->bindRootShaderObject(m_writer.getObject<ShaderObjectBase>(cmd.operands[0]));
break;
case CommandName::SetFramebuffer:
- m_renderer->setFramebuffer(m_writer.getObject<IFramebuffer>(cmd.operands[0]));
+ m_renderer->setFramebuffer(m_writer.getObject<FramebufferBase>(cmd.operands[0]));
break;
case CommandName::ClearFrame:
m_renderer->clearFrame(
@@ -329,7 +327,7 @@ public:
for (uint32_t i = 0; i < cmd.operands[1]; i++)
{
bufferResources.add(
- m_writer.getObject<IBufferResource>(cmd.operands[2] + i));
+ m_writer.getObject<BufferResource>(cmd.operands[2] + i));
}
m_renderer->setVertexBuffers(
(UInt)cmd.operands[0],
@@ -341,7 +339,7 @@ public:
break;
case CommandName::SetIndexBuffer:
m_renderer->setIndexBuffer(
- m_writer.getObject<IBufferResource>(cmd.operands[0]),
+ m_writer.getObject<BufferResource>(cmd.operands[0]),
(Format)cmd.operands[1],
(UInt)cmd.operands[2]);
break;
@@ -361,21 +359,21 @@ public:
break;
case CommandName::UploadBufferData:
m_renderer->uploadBufferData(
- m_writer.getObject<IBufferResource>(cmd.operands[0]),
+ m_writer.getObject<BufferResource>(cmd.operands[0]),
cmd.operands[1],
cmd.operands[2],
m_writer.getData<uint8_t>(cmd.operands[3]));
break;
case CommandName::CopyBuffer:
m_renderer->copyBuffer(
- m_writer.getObject<IBufferResource>(cmd.operands[0]),
+ m_writer.getObject<BufferResource>(cmd.operands[0]),
cmd.operands[1],
- m_writer.getObject<IBufferResource>(cmd.operands[2]),
+ m_writer.getObject<BufferResource>(cmd.operands[2]),
cmd.operands[3],
cmd.operands[4]);
break;
case CommandName::WriteTimestamp:
- m_renderer->writeTimestamp(m_writer.getObject<IQueryPool>(cmd.operands[0]), (SlangInt)cmd.operands[1]);
+ m_renderer->writeTimestamp(m_writer.getObject<QueryPoolBase>(cmd.operands[0]), (SlangInt)cmd.operands[1]);
break;
default:
assert(!"unknown command");