An object used to specify compute work to the GPU along with references to resources the GPU will used when doing said work. More...
#include <compute_command.h>
Public Member Functions | |
| bool | BindResource (ShaderStage stage, const ShaderUniformSlot &slot, const ShaderMetadata &metadata, const BufferView &view) override |
| bool | BindResource (ShaderStage stage, const SampledImageSlot &slot, const ShaderMetadata &metadata, const std::shared_ptr< const Texture > &texture, const std::shared_ptr< const Sampler > &sampler) override |
| constexpr | operator bool () const |
Public Member Functions inherited from impeller::ResourceBinder | |
| virtual | ~ResourceBinder ()=default |
Public Attributes | |
| std::shared_ptr< Pipeline< ComputePipelineDescriptor > > | pipeline |
| Bindings | bindings |
An object used to specify compute work to the GPU along with references to resources the GPU will used when doing said work.
To construct a valid command, follow these steps:
Command are very lightweight objects and can be created frequently and on demand. The resources referenced in commands views into buffers managed by other allocators and resource managers.
Definition at line 43 of file compute_command.h.
|
overridevirtual |
Implements impeller::ResourceBinder.
Definition at line 30 of file compute_command.cc.
References bindings, impeller::SampledImageSlot::HasSampler(), impeller::SampledImageSlot::HasTexture(), impeller::kCompute, impeller::Bindings::sampled_images, impeller::SampledImageSlot::sampler_index, impeller::TextureAndSampler::slot, and VALIDATION_LOG.
|
overridevirtual |
Implements impeller::ResourceBinder.
Definition at line 14 of file compute_command.cc.
References bindings, impeller::Bindings::buffers, impeller::ShaderUniformSlot::ext_res_0, impeller::kCompute, and VALIDATION_LOG.
|
inlineexplicitconstexpr |
Definition at line 74 of file compute_command.h.
References pipeline.
| Bindings impeller::ComputeCommand::bindings |
The buffer, texture, and sampler bindings used by the compute pipeline stage.
Definition at line 52 of file compute_command.h.
Referenced by impeller::AllocateAndBindDescriptorSets(), BindResource(), and impeller::UpdateBindingLayouts().
| std::shared_ptr<Pipeline<ComputePipelineDescriptor> > impeller::ComputeCommand::pipeline |
The pipeline to use for this command.
Definition at line 47 of file compute_command.h.
Referenced by operator bool(), impeller::ComputeTessellator::Tessellate(), and impeller::testing::TEST_P().