diff options
| author | Yong He <yonghe@outlook.com> | 2023-02-06 14:34:19 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-06 14:34:19 -0800 |
| commit | 5ede9a3b739a62a46fa408b19e12cf3f72730f1d (patch) | |
| tree | 676b5c23b867b6ad94117c547befe65ffa6548ba /tools/gfx/immediate-renderer-base.cpp | |
| parent | e893a831d7f64eb52e76df087190247f43b150ae (diff) | |
GFX: make dispatch commands return error code. (#2625)
* GFX: make dispatch commands return error code.
* Fix cuda.
---------
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 | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/tools/gfx/immediate-renderer-base.cpp b/tools/gfx/immediate-renderer-base.cpp index 7a800d49b..94898d519 100644 --- a/tools/gfx/immediate-renderer-base.cpp +++ b/tools/gfx/immediate-renderer-base.cpp @@ -360,18 +360,20 @@ public: m_writer->setIndexBuffer(buffer, indexFormat, offset); } - virtual SLANG_NO_THROW void SLANG_MCALL + virtual SLANG_NO_THROW Result SLANG_MCALL draw(GfxCount vertexCount, GfxIndex startVertex) override { m_writer->bindRootShaderObject(m_commandBuffer->m_rootShaderObject); m_writer->draw(vertexCount, startVertex); + return SLANG_OK; } - virtual SLANG_NO_THROW void SLANG_MCALL + virtual SLANG_NO_THROW Result SLANG_MCALL drawIndexed(GfxCount indexCount, GfxIndex startIndex, GfxIndex baseVertex) override { m_writer->bindRootShaderObject(m_commandBuffer->m_rootShaderObject); m_writer->drawIndexed(indexCount, startIndex, baseVertex); + return SLANG_OK; } virtual SLANG_NO_THROW void SLANG_MCALL setStencilReference(uint32_t referenceValue) override @@ -379,7 +381,7 @@ public: m_writer->setStencilReference(referenceValue); } - virtual SLANG_NO_THROW void SLANG_MCALL drawIndirect( + virtual SLANG_NO_THROW Result SLANG_MCALL drawIndirect( GfxCount maxDrawCount, IBufferResource* argBuffer, Offset argOffset, @@ -392,9 +394,10 @@ public: SLANG_UNUSED(countBuffer); SLANG_UNUSED(countOffset); SLANG_UNIMPLEMENTED_X("ImmediateRenderBase::drawIndirect"); + return SLANG_OK; } - virtual SLANG_NO_THROW void SLANG_MCALL drawIndexedIndirect( + virtual SLANG_NO_THROW Result SLANG_MCALL drawIndexedIndirect( GfxCount maxDrawCount, IBufferResource* argBuffer, Offset argOffset, @@ -407,6 +410,7 @@ public: SLANG_UNUSED(countBuffer); SLANG_UNUSED(countOffset); SLANG_UNIMPLEMENTED_X("ImmediateRenderBase::drawIndirect"); + return SLANG_OK; } virtual SLANG_NO_THROW Result SLANG_MCALL setSamplePositions( @@ -420,7 +424,7 @@ public: return SLANG_E_NOT_AVAILABLE; } - virtual SLANG_NO_THROW void SLANG_MCALL drawInstanced( + virtual SLANG_NO_THROW Result SLANG_MCALL drawInstanced( GfxCount vertexCount, GfxCount instanceCount, GfxIndex startVertex, @@ -428,9 +432,10 @@ public: { m_writer->bindRootShaderObject(m_commandBuffer->m_rootShaderObject); m_writer->drawInstanced(vertexCount, instanceCount, startVertex, startInstanceLocation); + return SLANG_OK; } - virtual SLANG_NO_THROW void SLANG_MCALL drawIndexedInstanced( + virtual SLANG_NO_THROW Result SLANG_MCALL drawIndexedInstanced( GfxCount indexCount, GfxCount instanceCount, GfxIndex startIndexLocation, @@ -439,6 +444,7 @@ public: { m_writer->bindRootShaderObject(m_commandBuffer->m_rootShaderObject); m_writer->drawIndexedInstanced(indexCount, instanceCount, startIndexLocation, baseVertexLocation, startInstanceLocation); + return SLANG_OK; } }; @@ -497,13 +503,14 @@ public: return SLANG_OK; } - virtual SLANG_NO_THROW void SLANG_MCALL dispatchCompute(int x, int y, int z) override + virtual SLANG_NO_THROW Result SLANG_MCALL dispatchCompute(int x, int y, int z) override { m_writer->bindRootShaderObject(m_commandBuffer->m_rootShaderObject); m_writer->dispatchCompute(x, y, z); + return SLANG_OK; } - virtual SLANG_NO_THROW void SLANG_MCALL dispatchComputeIndirect(IBufferResource* argBuffer, Offset offset) override + virtual SLANG_NO_THROW Result SLANG_MCALL dispatchComputeIndirect(IBufferResource* argBuffer, Offset offset) override { SLANG_UNIMPLEMENTED_X("ImmediateRenderBase::dispatchComputeIndirect"); } |
