Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | List of all members
skgpu::graphite::VelloFineStepBase< S, T > Class Template Reference

#include <VelloComputeSteps.h>

Inheritance diagram for skgpu::graphite::VelloFineStepBase< S, T >:
skgpu::graphite::VelloStep< S > skgpu::graphite::ComputeStep skgpu::graphite::VelloFineMsaaStepBase< vello_cpp::ShaderStage::FineMsaa16R8, kAlpha_8_SkColorType, vello_cpp::build_mask_lut_16 > skgpu::graphite::VelloFineMsaaStepBase< vello_cpp::ShaderStage::FineMsaa16, kRGBA_8888_SkColorType, vello_cpp::build_mask_lut_16 > skgpu::graphite::VelloFineMsaaStepBase< vello_cpp::ShaderStage::FineMsaa8R8, kAlpha_8_SkColorType, vello_cpp::build_mask_lut_8 > skgpu::graphite::VelloFineMsaaStepBase< vello_cpp::ShaderStage::FineMsaa8, kRGBA_8888_SkColorType, vello_cpp::build_mask_lut_8 > skgpu::graphite::VelloFineMsaaStepBase< S, T, MaskLutBuilder > skgpu::graphite::VelloFineMsaa16Alpha8Step skgpu::graphite::VelloFineMsaa16Step skgpu::graphite::VelloFineMsaa8Alpha8Step skgpu::graphite::VelloFineMsaa8Step

Public Member Functions

std::tuple< SkISize, SkColorTypecalculateTextureParameters (int index, const ComputeStep::ResourceDesc &) const override
 
- Public Member Functions inherited from skgpu::graphite::VelloStep< S >
 ~VelloStep () override=default
 
NativeShaderSource nativeShaderSource (NativeShaderFormat format) const override
 
- Public Member Functions inherited from skgpu::graphite::ComputeStep
virtual ~ComputeStep ()=default
 
virtual std::string computeSkSL () const
 
virtual NativeShaderSource nativeShaderSource (NativeShaderFormat) const
 
virtual size_t calculateBufferSize (int resourceIndex, const ResourceDesc &) const
 
virtual std::tuple< SkISize, SkColorTypecalculateTextureParameters (int resourceIndex, const ResourceDesc &) const
 
virtual SamplerDesc calculateSamplerParameters (int resourceIndex, const ResourceDesc &) const
 
virtual WorkgroupSize calculateGlobalDispatchSize () const
 
virtual void prepareStorageBuffer (int resourceIndex, const ResourceDesc &resource, void *buffer, size_t bufferSize) const
 
virtual void prepareUniformBuffer (int resourceIndex, const ResourceDesc &, UniformManager *) const
 
SkSpan< const ResourceDescresources () const
 
SkSpan< const WorkgroupBufferDescworkgroupBuffers () const
 
uint32_t uniqueID () const
 
const char * name () const
 
WorkgroupSize localDispatchSize () const
 
bool supportsNativeShader () const
 

Protected Member Functions

 VelloFineStepBase (SkSpan< const ComputeStep::ResourceDesc > resources)
 
- Protected Member Functions inherited from skgpu::graphite::VelloStep< S >
 VelloStep (SkSpan< const ResourceDesc > resources)
 
- Protected Member Functions inherited from skgpu::graphite::ComputeStep
 ComputeStep (std::string_view name, WorkgroupSize localDispatchSize, SkSpan< const ResourceDesc > resources, SkSpan< const WorkgroupBufferDesc > workgroupBuffers={}, Flags baseFlags=Flags::kNone)
 

Additional Inherited Members

- Public Types inherited from skgpu::graphite::ComputeStep
enum class  DataFlow { kPrivate , kShared }
 
enum class  ResourceType {
  kUniformBuffer , kStorageBuffer , kReadOnlyStorageBuffer , kIndirectBuffer ,
  kWriteOnlyStorageTexture , kReadOnlyTexture , kSampledTexture
}
 
enum class  ResourcePolicy { kNone , kClear , kMapped }
 
enum class  NativeShaderFormat { kWGSL , kMSL }
 
- Protected Types inherited from skgpu::graphite::ComputeStep
enum class  Flags : uint8_t { kNone = 0b00000 , kSupportsNativeShader = 0b00010 }
 

Detailed Description

template<vello_cpp::ShaderStage S, SkColorType T>
class skgpu::graphite::VelloFineStepBase< S, T >

Definition at line 251 of file VelloComputeSteps.h.

Constructor & Destructor Documentation

◆ VelloFineStepBase()

template<vello_cpp::ShaderStage S, SkColorType T>
skgpu::graphite::VelloFineStepBase< S, T >::VelloFineStepBase ( SkSpan< const ComputeStep::ResourceDesc resources)
inlineexplicitprotected

Definition at line 266 of file VelloComputeSteps.h.

267 : VelloStep<S>(resources) {}
SkSpan< const ResourceDesc > resources() const
Definition: ComputeStep.h:236

Member Function Documentation

◆ calculateTextureParameters()

template<vello_cpp::ShaderStage S, SkColorType T>
std::tuple< SkISize, SkColorType > skgpu::graphite::VelloFineStepBase< S, T >::calculateTextureParameters ( int  index,
const ComputeStep::ResourceDesc  
) const
inlineoverridevirtual

Reimplemented from skgpu::graphite::ComputeStep.

Definition at line 254 of file VelloComputeSteps.h.

255 {
256 SkASSERT(index == 4);
257 // TODO: The texture dimensions are unknown here so this method returns 0 for the texture
258 // size. In this case this field is unused since VelloRenderer assigns texture resources
259 // directly to the DispatchGroupBuilder. The format must still be queried to describe the
260 // ComputeStep's binding layout. This method could be improved to enable conditional
261 // querying of optional/dynamic parameters.
262 return {{}, T};
263 }
#define SkASSERT(cond)
Definition: SkAssert.h:116
#define T
Definition: precompiler.cc:65

The documentation for this class was generated from the following file: