diff options
Diffstat (limited to 'tools/gfx/immediate-renderer-base.cpp')
| -rw-r--r-- | tools/gfx/immediate-renderer-base.cpp | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/tools/gfx/immediate-renderer-base.cpp b/tools/gfx/immediate-renderer-base.cpp index 14c6cf217..92daa19ef 100644 --- a/tools/gfx/immediate-renderer-base.cpp +++ b/tools/gfx/immediate-renderer-base.cpp @@ -303,7 +303,7 @@ public: switch (name) { case CommandName::SetPipelineState: - m_renderer->_setPipelineState(m_writer.getObject<IPipelineState>(cmd.operands[0])); + m_renderer->setPipelineState(m_writer.getObject<IPipelineState>(cmd.operands[0])); break; case CommandName::BindRootShaderObject: m_renderer->bindRootShaderObject( @@ -450,43 +450,10 @@ public: }; } - ImmediateRendererBase::ImmediateRendererBase() { m_queue = new CommandQueueImpl(this); } -void ImmediateRendererBase::bindRootShaderObject(PipelineType pipelineType, IShaderObject* shaderObject) -{ - class ImmediateCommandEncoder : public GraphicsComputeCommandEncoderBase - { - public: - virtual SLANG_NO_THROW void SLANG_MCALL setDescriptorSetImpl( - PipelineType pipelineType, - IPipelineLayout* layout, - UInt index, - IDescriptorSet* descriptorSet) override - { - auto renderer = static_cast<ImmediateRendererBase*>(m_rendererBase); - renderer->setDescriptorSet(pipelineType, layout, index, descriptorSet); - } - - virtual SLANG_NO_THROW void SLANG_MCALL uploadBufferDataImpl( - IBufferResource* buffer, - size_t offset, - size_t size, - void* data) override - { - auto renderer = static_cast<ImmediateRendererBase*>(m_rendererBase); - renderer->uploadBufferData(buffer, offset, size, data); - } - }; - ImmediateCommandEncoder encoder; - encoder.m_rendererBase = this; - encoder.m_currentPipeline = static_cast<PipelineStateBase*>(m_currentPipelineState.get()); - encoder.bindRootShaderObjectImpl(pipelineType, shaderObject); - _setPipelineState(encoder.m_currentPipeline); -} - SLANG_NO_THROW Result SLANG_MCALL ImmediateRendererBase::createCommandQueue( const ICommandQueue::Desc& desc, ICommandQueue** outQueue) @@ -510,16 +477,6 @@ SLANG_NO_THROW Result SLANG_MCALL ImmediateRendererBase::createRenderPassLayout( return SLANG_OK; } -void ImmediateRendererBase::_setPipelineState(IPipelineState* state) -{ - PipelineStateBase* pipelineImpl = static_cast<PipelineStateBase*>(state); - if (!pipelineImpl->isSpecializable) - { - setPipelineState(state); - } - m_currentPipelineState = state; -} - void ImmediateRendererBase::uploadBufferData( IBufferResource* dst, size_t offset, |
