diff options
| author | Yong He <yonghe@outlook.com> | 2021-03-25 09:41:53 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-25 09:41:53 -0700 |
| commit | e050035e0b7d3f257a46bc1cb644163026cb1b23 (patch) | |
| tree | e4a38fa4c2f26313c2d374a19c5a4a1904ffdeb1 /tools/gfx/d3d12/render-d3d12.cpp | |
| parent | 98afb421f408aa8651afff3dba1b21fad71131fe (diff) | |
Improve Vulkan shader-objects implementation. (#1765)
* Improve Vulkan shader-objects implementation.
1. Null bindings no longer crashes.
2. No longer copies push constants to staging CPU buffer before setting it into command buffer. The entry-point shader object now directly sets it into command buffer upon `bindObject` call.
* Update comments
* Fix
* Re-enable 3 tests.
Improved vulkan implementation so that each shader object is responsible for creating descriptor sets on-demand.
Fixed slang reflection to correctly report `ParameterBlock` binding.
* Fix gcc compile error.
Diffstat (limited to 'tools/gfx/d3d12/render-d3d12.cpp')
| -rw-r--r-- | tools/gfx/d3d12/render-d3d12.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/tools/gfx/d3d12/render-d3d12.cpp b/tools/gfx/d3d12/render-d3d12.cpp index e45eaad3a..fb9b3d143 100644 --- a/tools/gfx/d3d12/render-d3d12.cpp +++ b/tools/gfx/d3d12/render-d3d12.cpp @@ -2210,15 +2210,13 @@ public: public: virtual Result bindObject(PipelineCommandEncoder* encoder, RootBindingState* bindingState) override { - RootBindingState globalBindingState = *bindingState; SLANG_RETURN_ON_FAIL(Super::bindObject(encoder, bindingState)); auto entryPointCount = m_entryPoints.getCount(); for (Index i = 0; i < entryPointCount; ++i) { auto entryPoint = m_entryPoints[i]; - auto bindingStateCopy = globalBindingState; - SLANG_RETURN_ON_FAIL(entryPoint->bindObject(encoder, &bindingStateCopy)); + SLANG_RETURN_ON_FAIL(entryPoint->bindObject(encoder, bindingState)); } return SLANG_OK; |
