// Deferred version // TODO: we can probably munge the 'desc' in both the wrapped and deferred // cases to make the sampleConfig/numSamples stuff more rational. GrRenderTargetProxy::GrRenderTargetProxy(const GrCaps& caps, const GrSurfaceDesc& desc, SkBackingFit fit, SkBudgeted budgeted, uint32_t flags) : INHERITED(desc, fit, budgeted, flags) , fRenderTargetFlags(GrRenderTarget::Flags::kNone) { // Since we know the newly created render target will be internal, we are able to precompute // what the flags will ultimately end up being. if (caps.usesMixedSamples() && fDesc.fSampleCnt > 0) { fRenderTargetFlags |= GrRenderTarget::Flags::kMixedSampled; } if (caps.maxWindowRectangles() > 0) { fRenderTargetFlags |= GrRenderTarget::Flags::kWindowRectsSupport; } }
int GrRenderTargetProxy::maxWindowRectangles(const GrCaps& caps) const { return (fRenderTargetFlags & GrRenderTarget::Flags::kWindowRectsSupport) ? caps.maxWindowRectangles() : 0; }