| Index: src/gpu/gl/GrGLRenderTarget.cpp
|
| diff --git a/src/gpu/gl/GrGLRenderTarget.cpp b/src/gpu/gl/GrGLRenderTarget.cpp
|
| index bcf6d711e5073c364966793667472a6014175996..0e8bd05bc735b009b0b0b0599b0293a49a02e699 100644
|
| --- a/src/gpu/gl/GrGLRenderTarget.cpp
|
| +++ b/src/gpu/gl/GrGLRenderTarget.cpp
|
| @@ -13,70 +13,43 @@
|
|
|
| #define GL_CALL(X) GR_GL_CALL(GPUGL->glInterface(), X)
|
|
|
| -void GrGLRenderTarget::init(const Desc& desc,
|
| +void GrGLRenderTarget::init(const GrSurfaceDesc& desc,
|
| + const IDDesc& idDesc,
|
| const GrGLIRect& viewport,
|
| GrGLTexID* texID) {
|
| - fRTFBOID = desc.fRTFBOID;
|
| - fTexFBOID = desc.fTexFBOID;
|
| - fMSColorRenderbufferID = desc.fMSColorRenderbufferID;
|
| + fRTFBOID = idDesc.fRTFBOID;
|
| + fTexFBOID = idDesc.fTexFBOID;
|
| + fMSColorRenderbufferID = idDesc.fMSColorRenderbufferID;
|
| fViewport = viewport;
|
| fTexIDObj.reset(SkSafeRef(texID));
|
| this->registerWithCache();
|
| }
|
|
|
| -namespace {
|
| -GrSurfaceDesc MakeDesc(GrSurfaceFlags flags,
|
| - int width, int height,
|
| - GrPixelConfig config, int sampleCnt,
|
| - GrSurfaceOrigin origin) {
|
| - GrSurfaceDesc temp;
|
| - temp.fFlags = flags;
|
| - temp.fWidth = width;
|
| - temp.fHeight = height;
|
| - temp.fConfig = config;
|
| - temp.fSampleCnt = sampleCnt;
|
| - temp.fOrigin = origin;
|
| - return temp;
|
| -}
|
| -
|
| -};
|
| -
|
| GrGLRenderTarget::GrGLRenderTarget(GrGpuGL* gpu,
|
| - const Desc& desc,
|
| + const IDDesc& idDesc,
|
| const GrGLIRect& viewport,
|
| GrGLTexID* texID,
|
| GrGLTexture* texture)
|
| - : INHERITED(gpu,
|
| - desc.fIsWrapped,
|
| - texture,
|
| - MakeDesc(kNone_GrSurfaceFlags,
|
| - viewport.fWidth, viewport.fHeight,
|
| - desc.fConfig, desc.fSampleCnt,
|
| - desc.fOrigin)) {
|
| + : INHERITED(gpu, idDesc.fIsWrapped, texture, texture->desc()) {
|
| SkASSERT(texID);
|
| SkASSERT(texture);
|
| // FBO 0 can't also be a texture, right?
|
| - SkASSERT(0 != desc.fRTFBOID);
|
| - SkASSERT(0 != desc.fTexFBOID);
|
| + SkASSERT(0 != idDesc.fRTFBOID);
|
| + SkASSERT(0 != idDesc.fTexFBOID);
|
|
|
| // we assume this is true, TODO: get rid of viewport as a param.
|
| SkASSERT(viewport.fWidth == texture->width());
|
| SkASSERT(viewport.fHeight == texture->height());
|
|
|
| - this->init(desc, viewport, texID);
|
| + this->init(texture->desc(), idDesc, viewport, texID);
|
| }
|
|
|
| GrGLRenderTarget::GrGLRenderTarget(GrGpuGL* gpu,
|
| - const Desc& desc,
|
| + const GrSurfaceDesc& desc,
|
| + const IDDesc& idDesc,
|
| const GrGLIRect& viewport)
|
| - : INHERITED(gpu,
|
| - desc.fIsWrapped,
|
| - NULL,
|
| - MakeDesc(kNone_GrSurfaceFlags,
|
| - viewport.fWidth, viewport.fHeight,
|
| - desc.fConfig, desc.fSampleCnt,
|
| - desc.fOrigin)) {
|
| - this->init(desc, viewport, NULL);
|
| + : INHERITED(gpu, idDesc.fIsWrapped, NULL, desc) {
|
| + this->init(desc, idDesc, viewport, NULL);
|
| }
|
|
|
| void GrGLRenderTarget::onRelease() {
|
|
|