summaryrefslogtreecommitdiff
path: root/tools/gfx/d3d12/render-d3d12.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-03-25 09:41:53 -0700
committerGitHub <noreply@github.com>2021-03-25 09:41:53 -0700
commite050035e0b7d3f257a46bc1cb644163026cb1b23 (patch)
treee4a38fa4c2f26313c2d374a19c5a4a1904ffdeb1 /tools/gfx/d3d12/render-d3d12.cpp
parent98afb421f408aa8651afff3dba1b21fad71131fe (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.cpp4
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;