8#ifndef GrBezierEffect_DEFINED
9#define GrBezierEffect_DEFINED
24namespace skgpu {
class KeyBuilder; }
74 uint8_t coverage = 0xff) {
79 return arena->
make([&](
void* ptr) {
87 const char*
name()
const override {
return "Conic"; }
97 const SkMatrix& localMatrix,
bool usesLocalCoords);
99 inline const Attribute& inPosition()
const {
return kAttributes[0]; }
100 inline const Attribute& inConicCoeffs()
const {
return kAttributes[1]; }
105 bool fUsesLocalCoords;
106 uint8_t fCoverageScale;
107 inline static constexpr Attribute kAttributes[] = {
133 bool usesLocalCoords,
134 uint8_t coverage = 0xff) {
139 return arena->
make([&](
void* ptr) {
147 const char*
name()
const override {
return "Quad"; }
157 const SkMatrix& localMatrix,
bool usesLocalCoords);
159 inline const Attribute& inPosition()
const {
return kAttributes[0]; }
160 inline const Attribute& inHairQuadEdge()
const {
return kAttributes[1]; }
165 bool fUsesLocalCoords;
166 uint8_t fCoverageScale;
168 inline static constexpr Attribute kAttributes[] = {
#define GR_DECLARE_GEOMETRY_PROCESSOR_TEST
@ kFloat2_GrVertexAttribType
@ kFloat4_GrVertexAttribType
#define INHERITED(method,...)
const GrShaderCaps * shaderCaps() const
const char * name() const override
~GrConicEffect() override
static GrGeometryProcessor * Make(SkArenaAlloc *arena, const SkPMColor4f &color, const SkMatrix &viewMatrix, const GrCaps &caps, const SkMatrix &localMatrix, bool usesLocalCoords, uint8_t coverage=0xff)
void addToKey(const GrShaderCaps &caps, skgpu::KeyBuilder *b) const override
std::unique_ptr< ProgramImpl > makeProgramImpl(const GrShaderCaps &) const override
static GrGeometryProcessor * Make(SkArenaAlloc *arena, const SkPMColor4f &color, const SkMatrix &viewMatrix, const GrCaps &caps, const SkMatrix &localMatrix, bool usesLocalCoords, uint8_t coverage=0xff)
const char * name() const override
void addToKey(const GrShaderCaps &caps, skgpu::KeyBuilder *b) const override
std::unique_ptr< ProgramImpl > makeProgramImpl(const GrShaderCaps &) const override
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
bool fShaderDerivativeSupport