Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions
formats.h File Reference
#include <cstdint>
#include <functional>
#include <memory>
#include <string>
#include <type_traits>
#include "flutter/fml/hash_combine.h"
#include "flutter/fml/logging.h"
#include "impeller/base/mask.h"
#include "impeller/geometry/color.h"
#include "impeller/geometry/rect.h"
#include "impeller/geometry/scalar.h"

Go to the source code of this file.

Classes

struct  impeller::DepthRange
 
struct  impeller::Viewport
 
struct  impeller::ColorAttachmentDescriptor
 Describe the color attachment that will be used with this pipeline. More...
 
struct  impeller::DepthAttachmentDescriptor
 
struct  impeller::StencilAttachmentDescriptor
 
struct  impeller::Attachment
 
struct  impeller::ColorAttachment
 
struct  impeller::DepthAttachment
 
struct  impeller::StencilAttachment
 
struct  std::hash< impeller::DepthAttachmentDescriptor >
 
struct  std::hash< impeller::StencilAttachmentDescriptor >
 

Namespaces

namespace  impeller
 
namespace  std
 

Typedefs

using impeller::TextureUsageMask = Mask< TextureUsage >
 
using impeller::ColorWriteMask = Mask< ColorWriteMaskBits >
 

Enumerations

enum class  impeller::WindingOrder { impeller::kClockwise , impeller::kCounterClockwise }
 
enum class  impeller::StorageMode { impeller::kHostVisible , impeller::kDevicePrivate , impeller::kDeviceTransient }
 Specified where the allocation resides and how it is used. More...
 
enum class  impeller::PixelFormat : uint8_t {
  impeller::kUnknown , impeller::kA8UNormInt , impeller::kR8UNormInt , impeller::kR8G8UNormInt ,
  impeller::kR8G8B8A8UNormInt , impeller::kR8G8B8A8UNormIntSRGB , impeller::kB8G8R8A8UNormInt , impeller::kB8G8R8A8UNormIntSRGB ,
  impeller::kR32G32B32A32Float , impeller::kR16G16B16A16Float , impeller::kB10G10R10XR , impeller::kB10G10R10XRSRGB ,
  impeller::kB10G10R10A10XR , impeller::kS8UInt , impeller::kD24UnormS8Uint , impeller::kD32FloatS8UInt
}
 The Pixel formats supported by Impeller. The naming convention denotes the usage of the component, the bit width of that component, and then one or more qualifiers to its interpretation. More...
 
enum class  impeller::BlendFactor {
  impeller::kZero , impeller::kOne , impeller::kSourceColor , impeller::kOneMinusSourceColor ,
  impeller::kSourceAlpha , impeller::kOneMinusSourceAlpha , impeller::kDestinationColor , impeller::kOneMinusDestinationColor ,
  impeller::kDestinationAlpha , impeller::kOneMinusDestinationAlpha , impeller::kSourceAlphaSaturated , impeller::kBlendColor ,
  impeller::kOneMinusBlendColor , impeller::kBlendAlpha , impeller::kOneMinusBlendAlpha
}
 
enum class  impeller::BlendOperation { impeller::kAdd , impeller::kSubtract , impeller::kReverseSubtract }
 
enum class  impeller::LoadAction { impeller::kDontCare , impeller::kLoad , impeller::kClear }
 
enum class  impeller::StoreAction { impeller::kDontCare , impeller::kStore , impeller::kMultisampleResolve , impeller::kStoreAndMultisampleResolve }
 
enum class  impeller::TextureType { impeller::kTexture2D , impeller::kTexture2DMultisample , impeller::kTextureCube , impeller::kTextureExternalOES }
 
enum class  impeller::SampleCount : uint8_t { impeller::kCount1 = 1 , impeller::kCount4 = 4 }
 
enum class  impeller::TextureUsage { impeller::kUnknown = 0 , impeller::kShaderRead = 1 << 0 , impeller::kShaderWrite = 1 << 1 , impeller::kRenderTarget = 1 << 2 }
 
enum class  impeller::TextureCoordinateSystem { impeller::kUploadFromHost , impeller::kRenderToTexture }
 
enum class  impeller::CullMode { impeller::kNone , impeller::kFrontFace , impeller::kBackFace }
 
enum class  impeller::IndexType { impeller::kUnknown , impeller::k16bit , impeller::k32bit , impeller::kNone }
 
enum class  impeller::PrimitiveType : uint8_t {
  impeller::kTriangle , impeller::kTriangleStrip , impeller::kLine , impeller::kLineStrip ,
  impeller::kPoint
}
 Decides how backend draws pixels based on input vertices. More...
 
enum class  impeller::PolygonMode { impeller::kFill , impeller::kLine }
 
enum class  impeller::MinMagFilter { impeller::kNearest , impeller::kLinear }
 
enum class  impeller::MipFilter { impeller::kNearest , impeller::kLinear }
 
enum class  impeller::SamplerAddressMode { impeller::kClampToEdge , impeller::kRepeat , impeller::kMirror , impeller::kDecal }
 
enum class  impeller::ColorWriteMaskBits : uint64_t {
  impeller::kNone = 0 , impeller::kRed = 1 << 0 , impeller::kGreen = 1 << 1 , impeller::kBlue = 1 << 2 ,
  impeller::kAlpha = 1 << 3 , impeller::kAll = kRed | kGreen | kBlue | kAlpha
}
 
enum class  impeller::CompareFunction : uint8_t {
  impeller::kNever , impeller::kAlways , impeller::kLess , impeller::kEqual ,
  impeller::kLessEqual , impeller::kGreater , impeller::kNotEqual , impeller::kGreaterEqual
}
 
enum class  impeller::StencilOperation : uint8_t {
  impeller::kKeep , impeller::kZero , impeller::kSetToReferenceValue , impeller::kIncrementClamp ,
  impeller::kDecrementClamp , impeller::kInvert , impeller::kIncrementWrap , impeller::kDecrementWrap
}
 

Functions

constexpr const char * impeller::StorageModeToString (StorageMode mode)
 
constexpr bool impeller::IsDepthWritable (PixelFormat format)
 
constexpr bool impeller::IsStencilWritable (PixelFormat format)
 
constexpr const char * impeller::PixelFormatToString (PixelFormat format)
 
constexpr const char * impeller::LoadActionToString (LoadAction action)
 
constexpr const char * impeller::StoreActionToString (StoreAction action)
 
constexpr bool impeller::CanClearAttachment (LoadAction action)
 
constexpr bool impeller::CanDiscardAttachmentWhenDone (StoreAction action)
 
constexpr const char * impeller::TextureTypeToString (TextureType type)
 
constexpr bool impeller::IsMultisampleCapable (TextureType type)
 
 impeller::IMPELLER_ENUM_IS_MASK (TextureUsage)
 
constexpr const char * impeller::TextureUsageToString (TextureUsage usage)
 
std::string impeller::TextureUsageMaskToString (TextureUsageMask mask)
 
 impeller::IMPELLER_ENUM_IS_MASK (ColorWriteMaskBits)
 
constexpr size_t impeller::BytesPerPixelForPixelFormat (PixelFormat format)
 
std::string impeller::AttachmentToString (const Attachment &attachment)
 
std::string impeller::ColorAttachmentToString (const ColorAttachment &color)
 
std::string impeller::DepthAttachmentToString (const DepthAttachment &depth)
 
std::string impeller::StencilAttachmentToString (const StencilAttachment &stencil)