8#ifndef AtlasInstancedHelper_DEFINED
9#define AtlasInstancedHelper_DEFINED
24 kInvertCoverage = 1 << 0,
33 : fAtlasProxy(atlasView.detachProxy())
34 , fAtlasSwizzle(atlasView.swizzle())
35 , fShaderFlags(shaderFlags) {
47 SkASSERT(fAtlasProxy != helper.fAtlasProxy || fAtlasSwizzle == helper.fAtlasSwizzle);
48 return fAtlasProxy == helper.fAtlasProxy && fShaderFlags == helper.fShaderFlags;
#define GR_MAKE_BITFIELD_CLASS_OPS(X)
@ kTopLeft_GrSurfaceOrigin
GrSurfaceOrigin origin() const
const skgpu::Swizzle & atlasSwizzle() const
static constexpr int kNumShaderFlags
void writeInstanceData(VertexWriter *instanceWriter, const Instance *) const
void appendInstanceAttribs(skia_private::TArray< GrGeometryProcessor::Attribute > *instanceAttribs) const
AtlasInstancedHelper(GrSurfaceProxyView atlasView, ShaderFlags shaderFlags)
void injectShaderCode(const GrGeometryProcessor::ProgramImpl::EmitArgs &, const GrShaderVar &devCoord, GrGLSLUniformHandler::UniformHandle *atlasAdjustUniformHandle) const
GR_DECL_BITFIELD_CLASS_OPS_FRIENDS(ShaderFlags)
void getKeyBits(KeyBuilder *b) const
void setUniformData(const GrGLSLProgramDataManager &, const GrGLSLUniformHandler::UniformHandle &atlasAdjustUniformHandle) const
bool isCompatible(const AtlasInstancedHelper &helper)
GrSurfaceProxy * proxy() const
SkIPoint16 fLocationInAtlas
Instance(SkIPoint16 locationInAtlas, const SkIRect &pathDevIBounds, bool transposedInAtlas)