diff options
| author | Yong He <yonghe@outlook.com> | 2021-10-18 12:19:45 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-18 12:19:45 -0700 |
| commit | 2f44d9e01234911dd563f0456b9d861fd8db286d (patch) | |
| tree | e2727f31654ebc93bae6a1de4b25586be6fb9d10 /tools/gfx/immediate-renderer-base.cpp | |
| parent | 87e7c49fbfccd54be0d1cee61fba8f309b1f792e (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.cpp | 20 |
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"); |
