5#ifndef FLUTTER_IMPELLER_CORE_FORMATS_H_
6#define FLUTTER_IMPELLER_CORE_FORMATS_H_
13#include "flutter/fml/hash_combine.h"
14#include "flutter/fml/logging.h"
65 return "DevicePrivate";
67 return "DeviceTransient";
149 return "R8G8UNormInt";
151 return "R8G8B8A8UNormInt";
153 return "R8G8B8A8UNormIntSRGB";
155 return "B8G8R8A8UNormInt";
157 return "B8G8R8A8UNormIntSRGB";
159 return "R32G32B32A32Float";
161 return "R16G16B16A16Float";
163 return "B10G10R10XR";
165 return "B10G10R10XRSRGB";
167 return "B10G10R10A10XR";
171 return "D24UnormS8Uint";
173 return "D32FloatS8UInt";
233 return "MultisampleResolve";
235 return "StoreAndMultisampleResolve";
274 return "Texture2DMultisample";
276 return "TextureCube";
278 return "TextureExternalOES";
317 return "ShaderWrite";
319 return "RenderTarget";
454 kAll = kRed | kGreen | kBlue |
kAlpha,
538 constexpr size_t Hash()
const {
static uint32_t hash(const SkShaderBase::GradientInfo &v)
@ kLine
SkPath::RawIter returns 2 points.
uint32_t uint32_t * format
#define FML_UNREACHABLE()
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
constexpr std::size_t HashCombine()
constexpr size_t BytesPerPixelForPixelFormat(PixelFormat format)
constexpr bool CanClearAttachment(LoadAction action)
std::string DepthAttachmentToString(const DepthAttachment &depth)
std::string ColorAttachmentToString(const ColorAttachment &color)
@ kOneMinusDestinationAlpha
@ kOneMinusDestinationColor
PrimitiveType
Decides how backend draws pixels based on input vertices.
@ kPoint
Draws a point at each input vertex.
MipFilter
Options for selecting and filtering between mipmap levels.
@ kBase
The texture is sampled as if it only had a single mipmap level.
constexpr bool IsDepthWritable(PixelFormat format)
std::string StencilAttachmentToString(const StencilAttachment &stencil)
std::string TextureUsageMaskToString(TextureUsageMask mask)
StorageMode
Specified where the allocation resides and how it is used.
std::string AttachmentToString(const Attachment &attachment)
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...
@ kLessEqual
Comparison test passes if new_value <= current_value.
@ kGreaterEqual
Comparison test passes if new_value >= current_value.
@ kAlways
Comparison test passes always passes.
@ kLess
Comparison test passes if new_value < current_value.
@ kGreater
Comparison test passes if new_value > current_value.
constexpr const char * LoadActionToString(LoadAction action)
constexpr const char * StoreActionToString(StoreAction action)
@ kDecrementWrap
Decrement the current stencil value by 1. If at zero, set to maximum.
@ kSetToReferenceValue
Reset the stencil value to the reference value.
@ kDecrementClamp
Decrement the current stencil value by 1. Clamp it to zero.
@ kIncrementClamp
Increment the current stencil value by 1. Clamp it to the maximum.
@ kIncrementWrap
Increment the current stencil value by 1. If at maximum, set to zero.
@ kInvert
Perform a logical bitwise invert on the current stencil value.
@ kKeep
Don't modify the current stencil value.
IMPELLER_ENUM_IS_MASK(MyMaskBits)
@ kStoreAndMultisampleResolve
constexpr bool IsStencilWritable(PixelFormat format)
MinMagFilter
Describes how the texture should be sampled when the texture is being shrunk (minified) or expanded (...
constexpr const char * TextureTypeToString(TextureType type)
constexpr const char * StorageModeToString(StorageMode mode)
constexpr bool IsMultisampleCapable(TextureType type)
constexpr const char * TextureUsageToString(TextureUsage usage)
Mask< TextureUsage > TextureUsageMask
constexpr const char * PixelFormatToString(PixelFormat format)
constexpr bool CanDiscardAttachmentWhenDone(StoreAction action)
static void usage(char *argv0)
std::shared_ptr< Texture > resolve_texture
std::shared_ptr< Texture > texture
Describe the color attachment that will be used with this pipeline.
BlendOperation color_blend_op
constexpr size_t Hash() const
BlendFactor dst_color_blend_factor
ColorWriteMask write_mask
BlendFactor src_alpha_blend_factor
constexpr bool operator==(const ColorAttachmentDescriptor &o) const
BlendOperation alpha_blend_op
BlendFactor src_color_blend_factor
BlendFactor dst_alpha_blend_factor
static constexpr Color BlackTransparent()
constexpr bool operator==(const DepthAttachmentDescriptor &o) const
CompareFunction depth_compare
constexpr size_t GetHash() const
constexpr bool operator==(const DepthRange &other) const
StencilOperation stencil_failure
CompareFunction stencil_compare
StencilOperation depth_failure
constexpr bool operator==(const StencilAttachmentDescriptor &o) const
constexpr size_t GetHash() const
StencilOperation depth_stencil_pass
constexpr bool operator==(const Viewport &other) const
constexpr std::size_t operator()(const impeller::DepthAttachmentDescriptor &des) const
constexpr std::size_t operator()(const impeller::StencilAttachmentDescriptor &des) const