summaryrefslogtreecommitdiffstats
path: root/tools/render-test/shader-renderer-util.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-03-04 16:25:58 -0800
committerGitHub <noreply@github.com>2021-03-04 16:25:58 -0800
commita5ac4999b4dea546a7ef824669ab1809224b6448 (patch)
tree15bb22eb98a94f7f81489deef55396461501d3dc /tools/render-test/shader-renderer-util.cpp
parent13ff0bd345990c0fdfb7b52ebd5339cddb04889e (diff)
Refactor `gfx` to surface `CommandBuffer` interface. (#1735)
* Refactor `gfx` to surface `CommandBuffer` interface. * Fixes. * Fix code review issues, and make vulkan runnable on devices without VK_EXT_extended_dynamic_states. * Update solution files * Move out-of-date examples to examples/experimental Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/render-test/shader-renderer-util.cpp')
-rw-r--r--tools/render-test/shader-renderer-util.cpp27
1 files changed, 21 insertions, 6 deletions
diff --git a/tools/render-test/shader-renderer-util.cpp b/tools/render-test/shader-renderer-util.cpp
index 5b3867848..d42c5c7ef 100644
--- a/tools/render-test/shader-renderer-util.cpp
+++ b/tools/render-test/shader-renderer-util.cpp
@@ -7,13 +7,28 @@ namespace renderer_test {
using namespace Slang;
using Slang::Result;
-void BindingStateImpl::apply(IRenderer* renderer, PipelineType pipelineType)
+void BindingStateImpl::apply(ICommandEncoder* encoder, PipelineType pipelineType)
{
- renderer->setDescriptorSet(
- pipelineType,
- pipelineLayout,
- 0,
- descriptorSet);
+ switch (pipelineType)
+ {
+ case PipelineType::Compute:
+ {
+ ComPtr<IComputeCommandEncoder> computeEncoder;
+ encoder->queryInterface(SLANG_UUID_IComputeCommandEncoder, (void**)computeEncoder.writeRef());
+ computeEncoder->setDescriptorSet(pipelineLayout, 0, descriptorSet);
+ }
+ break;
+ case PipelineType::Graphics:
+ {
+ ComPtr<IRenderCommandEncoder> renderEncoder;
+ encoder->queryInterface(
+ SLANG_UUID_IRenderCommandEncoder, (void**)renderEncoder.writeRef());
+ renderEncoder->setDescriptorSet(pipelineLayout, 0, descriptorSet);
+ }
+ break;
+ default:
+ throw "unknown pipeline type";
+ }
}
/* static */ Result ShaderRendererUtil::generateTextureResource(