| Index: src/gpu/effects/GrYUVtoRGBEffect.cpp
|
| diff --git a/src/gpu/effects/GrYUVtoRGBEffect.cpp b/src/gpu/effects/GrYUVtoRGBEffect.cpp
|
| index daf1ca379604b566a29af7f049ae8eee28d3be9b..fcc5bd0c1d7284e6c5dd27a600da447e200ba5af 100644
|
| --- a/src/gpu/effects/GrYUVtoRGBEffect.cpp
|
| +++ b/src/gpu/effects/GrYUVtoRGBEffect.cpp
|
| @@ -21,7 +21,7 @@ class YUVtoRGBEffect : public GrFragmentProcessor {
|
| public:
|
| static GrFragmentProcessor* Create(GrTexture* yTexture, GrTexture* uTexture,
|
| GrTexture* vTexture, const SkISize sizes[3],
|
| - SkYUVColorSpace colorSpace) {
|
| + SkYUVColorSpace colorSpace, GrRenderTarget* dst) {
|
| SkScalar w[3], h[3];
|
| w[0] = SkIntToScalar(sizes[0].fWidth) / SkIntToScalar(yTexture->width());
|
| h[0] = SkIntToScalar(sizes[0].fHeight) / SkIntToScalar(yTexture->height());
|
| @@ -43,7 +43,7 @@ public:
|
| GrTextureParams::kBilerp_FilterMode :
|
| GrTextureParams::kNone_FilterMode;
|
| return new YUVtoRGBEffect(yTexture, uTexture, vTexture, yuvMatrix, uvFilterMode,
|
| - colorSpace);
|
| + colorSpace, dst);
|
| }
|
|
|
| const char* name() const override { return "YUV to RGB"; }
|
| @@ -108,13 +108,13 @@ public:
|
| private:
|
| YUVtoRGBEffect(GrTexture* yTexture, GrTexture* uTexture, GrTexture* vTexture,
|
| const SkMatrix yuvMatrix[3], GrTextureParams::FilterMode uvFilterMode,
|
| - SkYUVColorSpace colorSpace)
|
| + SkYUVColorSpace colorSpace, GrRenderTarget* dst)
|
| : fYTransform(kLocal_GrCoordSet, yuvMatrix[0], yTexture, GrTextureParams::kNone_FilterMode)
|
| - , fYAccess(yTexture)
|
| + , fYAccess(yTexture, GrTextureParams::kNone_FilterMode,SkShader::kClamp_TileMode, dst)
|
| , fUTransform(kLocal_GrCoordSet, yuvMatrix[1], uTexture, uvFilterMode)
|
| - , fUAccess(uTexture, uvFilterMode)
|
| + , fUAccess(uTexture, uvFilterMode,SkShader::kClamp_TileMode, dst)
|
| , fVTransform(kLocal_GrCoordSet, yuvMatrix[2], vTexture, uvFilterMode)
|
| - , fVAccess(vTexture, uvFilterMode)
|
| + , fVAccess(vTexture, uvFilterMode, SkShader::kClamp_TileMode, dst)
|
| , fColorSpace(colorSpace) {
|
| this->initClassID<YUVtoRGBEffect>();
|
| this->addCoordTransform(&fYTransform);
|
| @@ -175,7 +175,8 @@ const float YUVtoRGBEffect::GLProcessor::kRec709ConversionMatrix[16] = {
|
|
|
| GrFragmentProcessor*
|
| GrYUVtoRGBEffect::Create(GrTexture* yTexture, GrTexture* uTexture, GrTexture* vTexture,
|
| - const SkISize sizes[3], SkYUVColorSpace colorSpace) {
|
| + const SkISize sizes[3], SkYUVColorSpace colorSpace,
|
| + GrRenderTarget* dst) {
|
| SkASSERT(yTexture && uTexture && vTexture && sizes);
|
| - return YUVtoRGBEffect::Create(yTexture, uTexture, vTexture, sizes, colorSpace);
|
| + return YUVtoRGBEffect::Create(yTexture, uTexture, vTexture, sizes, colorSpace, dst);
|
| }
|
|
|