diff options
| author | Yong He <yonghe@outlook.com> | 2021-03-04 16:25:58 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-04 16:25:58 -0800 |
| commit | a5ac4999b4dea546a7ef824669ab1809224b6448 (patch) | |
| tree | 15bb22eb98a94f7f81489deef55396461501d3dc /tools/render-test/shader-renderer-util.cpp | |
| parent | 13ff0bd345990c0fdfb7b52ebd5339cddb04889e (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.cpp | 27 |
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( |
