Flutter Engine
The Flutter Engine
|
#include "include/core/SkColor.h"
#include "include/core/SkColorType.h"
#include "include/core/SkData.h"
#include "include/core/SkPath.h"
#include "include/core/SkPathTypes.h"
#include "include/core/SkRefCnt.h"
#include "include/gpu/GrTypes.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkMacros.h"
#include "include/private/base/SkTypeTraits.h"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | GrMipLevel |
class | GrColorFormatDesc |
Namespaces | |
namespace | skgpu |
Macros | |
#define | GrCapsDebugf(caps, ...) do {} while (0) |
Typedefs | |
using | GrVisitProxyFunc = std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> |
Variables | |
static constexpr int | kNumGrPrimitiveTypes = (int)GrPrimitiveType::kLineStrip + 1 |
static const int | kGrAATypeCount = static_cast<int>(GrAAType::kLast) + 1 |
static const int | kGrShaderTypeCount = kLast_GrShaderType + 1 |
static const int | kGrVertexAttribTypeCount = kLast_GrVertexAttribType + 1 |
static const int | kGrClipEdgeTypeCnt = (int) GrClipEdgeType::kLast + 1 |
static const constexpr int | kGrGpuBufferTypeCount = static_cast<int>(GrGpuBufferType::kUniform) + 1 |
static constexpr int | kGrInternalTextureFlagsMask |
static constexpr int | kGrInternalRenderTargetFlagsMask |
static constexpr int | kGrInternalTextureRenderTargetFlagsMask |
static const int | kGrColorTypeCnt = static_cast<int>(GrColorType::kLast) + 1 |
#define GrCapsDebugf | ( | caps, | |
... | |||
) | do {} while (0) |
Definition at line 489 of file GrTypesPriv.h.
using GrVisitProxyFunc = std::function<void(GrSurfaceProxy*, skgpu::Mipmapped)> |
Definition at line 942 of file GrTypesPriv.h.
|
strong |
Used to include or exclude specific GPU path renderers for testing purposes.
Enumerator | |
---|---|
kNone | |
kDashLine | |
kAtlas | |
kTessellation | |
kCoverageCounting | |
kAAHairline | |
kAAConvex | |
kAALinearizing | |
kSmall | |
kTriangulating | |
kDefault |
Definition at line 505 of file GrTypesPriv.h.
|
strong |
Used to control antialiasing in draw calls.
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 172 of file GrTypesPriv.h.
|
strong |
This enum indicates the type of antialiasing to be performed.
Enumerator | |
---|---|
kNone | No antialiasing |
kCoverage | Use fragment shader code to blend with a fractional pixel coverage. |
kMSAA | Use normal MSAA. |
kLast |
Definition at line 199 of file GrTypesPriv.h.
enum GrAccessPattern |
Provides a performance hint regarding the frequency at which a data store will be accessed.
Definition at line 423 of file GrTypesPriv.h.
|
strong |
Specifies if the holder owns the backend, OpenGL or Vulkan, object.
Enumerator | |
---|---|
kBorrowed | Holder does not destroy the backend object. |
kOwned | Holder destroys the backend object. |
Definition at line 495 of file GrTypesPriv.h.
|
strong |
Definition at line 99 of file GrTypesPriv.h.
|
strong |
Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
Enumerator | |
---|---|
kAuto | |
kManual | |
kNone |
Definition at line 227 of file GrTypesPriv.h.
|
strong |
We have coverage effects that clip rendering to the edge of some geometric primitive. This enum specifies how that clipping is performed. Not all factories that take a GrClipEdgeType will succeed with all values and it is up to the caller to verify success.
Enumerator | |
---|---|
kFillBW | |
kFillAA | |
kInverseFillBW | |
kInverseFillAA | |
kLast |
Definition at line 360 of file GrTypesPriv.h.
|
strong |
Like SkColorType this describes a layout of pixel data in CPU memory. It specifies the channels, their type, and width. This exists so that the GPU backend can have private types that have no analog in the public facing SkColorType enum and omit types not implemented in the GPU backend. It does not refer to a texture format and the mapping to texture formats may be many-to-many. It does not specify the sRGB encoding of the stored values. The components are listed in order of where they appear in memory. In other words the first component listed is in the low bits and the last component in the high bits.
Definition at line 539 of file GrTypesPriv.h.
|
strong |
Describes the encoding of channel data in a GrColorType.
Enumerator | |
---|---|
kUnorm | |
kSRGBUnorm | |
kFloat |
Definition at line 703 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 70 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kRequiresTextureBarrier | |
kAsInputAttachment |
Definition at line 935 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNonzero | |
kEvenOdd |
Definition at line 177 of file GrTypesPriv.h.
|
strong |
Indicates the type of data that a GPU buffer will be used for.
Enumerator | |
---|---|
kVertex | |
kIndex | |
kDrawIndirect | |
kXferCpuToGpu | |
kXferGpuToCpu | |
kUniform |
Definition at line 410 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kReadOnly | |
kGLRTFBOIDIs0 | |
kRequiresManualMSAAResolve | |
kFramebufferOnly | |
kVkRTSupportsInputAttachment |
Definition at line 435 of file GrTypesPriv.h.
enum GrIOType |
Indicates the type of pending IO operations that can be recorded for gpu resources.
Enumerator | |
---|---|
kRead_GrIOType | |
kWrite_GrIOType | |
kRW_GrIOType |
Definition at line 401 of file GrTypesPriv.h.
|
strong |
This enum is used to specify the load operation to be used when an OpsTask/GrOpsRenderPass begins execution.
Enumerator | |
---|---|
kLoad | |
kClear | |
kDiscard |
Definition at line 154 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNo | The texture will be allocated normally and will affect memory budgets. |
kYes | The texture will be not use GPU memory and will not affect memory budgets. |
Definition at line 122 of file GrTypesPriv.h.
|
strong |
Used to describe the current state of Mips on a GrTexture
Enumerator | |
---|---|
kNotAllocated | |
kDirty | |
kValid |
Definition at line 522 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 55 of file GrTypesPriv.h.
|
strong |
Geometric primitives used for drawing.
Enumerator | |
---|---|
kTriangles | |
kTriangleStrip | |
kPoints | |
kLines | |
kLineStrip |
Definition at line 42 of file GrTypesPriv.h.
|
strong |
A number of rectangle/quadrilateral drawing APIs can control anti-aliasing on a per edge basis. These masks specify which edges are AA'ed. The intent for this is to support tiling with seamless boundaries, where the inner edges are non-AA and the outer edges are AA. Regular rectangle draws simply use kAll or kNone depending on if they want anti-aliasing or not.
In APIs that support per-edge AA, GrQuadAAFlags is the only AA-control parameter that is provided (compared to the typical GrAA parameter). kNone is equivalent to GrAA::kNo, and any other set of edge flags would require GrAA::kYes (with rendering output dependent on how that maps to GrAAType for a given SurfaceDrawContext).
These values are identical to SkCanvas::QuadAAFlags.
Enumerator | |
---|---|
kLeft | |
kTop | |
kRight | |
kBottom | |
kNone | |
kAll |
Definition at line 246 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kDisabled | |
kEnabled |
Definition at line 114 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kWillSignal | |
kWillWait |
Definition at line 145 of file GrTypesPriv.h.
enum GrShaderFlags |
Enumerator | |
---|---|
kNone_GrShaderFlags | |
kVertex_GrShaderFlag | |
kFragment_GrShaderFlag |
Definition at line 283 of file GrTypesPriv.h.
enum GrShaderType |
Enumerator | |
---|---|
kVertex_GrShaderType | |
kFragment_GrShaderType | |
kLast_GrShaderType |
Definition at line 275 of file GrTypesPriv.h.
|
strong |
This enum is used to specify the store operation to be used when an OpsTask/GrOpsRenderPass ends execution.
Enumerator | |
---|---|
kStore | |
kDiscard |
Definition at line 164 of file GrTypesPriv.h.
|
strong |
Should a created surface be texturable?
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 63 of file GrTypesPriv.h.
|
strong |
The type of texture. Backends other than GL currently only use the 2D value but the type must still be known at the API-neutral layer as it used to determine whether MIP maps, renderability, and sampling parameters are legal for proxies that will be instantiated with wrapped textures.
Enumerator | |
---|---|
kNone | |
k2D | |
kRectangle | |
kExternal |
Definition at line 267 of file GrTypesPriv.h.
enum GrVertexAttribType |
Types used to describe format of vertices in arrays.
Definition at line 311 of file GrTypesPriv.h.
|
strong |
Enumerator | |
---|---|
kNo | The wrapped resource will be removed from the cache as soon as it becomes purgeable. It may still be assigned and found by a unique key, but the presence of the key will not be used to keep the resource alive when it has no references. |
kYes | The wrapped resource is allowed to remain in the GrResourceCache when it has no references but has a unique key. Such resources should only be given unique keys when it is known that the key will eventually be removed from the resource or invalidated via the message bus. |
Definition at line 84 of file GrTypesPriv.h.
enum GrWrapOwnership |
Ownership rules for external GPU resources imported into Skia.
Enumerator | |
---|---|
kBorrow_GrWrapOwnership | Skia will assume the client will keep the resource alive and Skia will not free it. |
kAdopt_GrWrapOwnership | Skia will assume ownership of the resource and free it. |
Definition at line 76 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 211 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 379 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 370 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 374 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 895 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 660 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 867 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 891 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 887 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 877 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 588 of file GrTypesPriv.h.
|
inline |
Definition at line 182 of file GrTypesPriv.h.
|
inline |
Definition at line 194 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 793 of file GrTypesPriv.h.
|
inlinestatic |
Definition at line 384 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 51 of file GrTypesPriv.h.
|
inlinestaticconstexpr |
|
inlinestatic |
Rectangle and external textures only support the clamp wrap mode and do not support MIP maps.
Definition at line 293 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 628 of file GrTypesPriv.h.
|
inlinestatic |
Definition at line 258 of file GrTypesPriv.h.
|
static |
Definition at line 209 of file GrTypesPriv.h.
|
static |
Definition at line 368 of file GrTypesPriv.h.
|
static |
Definition at line 586 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 418 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 477 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 468 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 482 of file GrTypesPriv.h.
|
static |
Definition at line 281 of file GrTypesPriv.h.
|
static |
Definition at line 351 of file GrTypesPriv.h.
|
staticconstexpr |
Definition at line 49 of file GrTypesPriv.h.