Index: gm/yuvtorgbeffect.cpp |
diff --git a/gm/yuvtorgbeffect.cpp b/gm/yuvtorgbeffect.cpp |
index 2cff7649d62c4f1cb545afa8a0824db8dd76082e..fb0c67d3d10240f59bd140690160470d726360fc 100644 |
--- a/gm/yuvtorgbeffect.cpp |
+++ b/gm/yuvtorgbeffect.cpp |
@@ -19,10 +19,6 @@ |
#include "SkGr.h" |
#include "SkGradientShader.h" |
-#define YSIZE 8 |
-#define USIZE 4 |
-#define VSIZE 4 |
- |
namespace skiagm { |
/** |
* This GM directly exercises GrYUVtoRGBEffect. |
@@ -39,16 +35,14 @@ |
} |
SkISize onISize() SK_OVERRIDE { |
- return SkISize::Make(238, 84); |
+ return SkISize::Make(334, 128); |
} |
void onOnceBeforeDraw() SK_OVERRIDE { |
- SkImageInfo yinfo = SkImageInfo::MakeA8(YSIZE, YSIZE); |
- fBmp[0].allocPixels(yinfo); |
- SkImageInfo uinfo = SkImageInfo::MakeA8(USIZE, USIZE); |
- fBmp[1].allocPixels(uinfo); |
- SkImageInfo vinfo = SkImageInfo::MakeA8(VSIZE, VSIZE); |
- fBmp[2].allocPixels(vinfo); |
+ SkImageInfo info = SkImageInfo::MakeA8(24, 24); |
+ fBmp[0].allocPixels(info); |
+ fBmp[1].allocPixels(info); |
+ fBmp[2].allocPixels(info); |
unsigned char* pixels[3]; |
for (int i = 0; i < 3; ++i) { |
pixels[i] = (unsigned char*)fBmp[i].getPixels(); |
@@ -57,9 +51,8 @@ |
const int limit[] = {255, 0, 255}; |
const int invl[] = {0, 255, 0}; |
const int inc[] = {1, -1, 1}; |
- for (int i = 0; i < 3; ++i) { |
- const int nbBytes = fBmp[i].rowBytes() * fBmp[i].height(); |
- for (int j = 0; j < nbBytes; ++j) { |
+ for (int j = 0; j < 576; ++j) { |
+ for (int i = 0; i < 3; ++i) { |
pixels[i][j] = (unsigned char)color[i]; |
color[i] = (color[i] == limit[i]) ? invl[i] : color[i] + inc[i]; |
} |
@@ -95,8 +88,7 @@ |
static const SkScalar kDrawPad = 10.f; |
static const SkScalar kTestPad = 10.f; |
- static const SkScalar kColorSpaceOffset = 36.f; |
- SkISize sizes[3] = {{YSIZE, YSIZE}, {USIZE, USIZE}, {VSIZE, VSIZE}}; |
+ static const SkScalar kColorSpaceOffset = 64.f; |
for (int space = kJPEG_SkYUVColorSpace; space <= kLastEnum_SkYUVColorSpace; |
++space) { |
@@ -113,10 +105,9 @@ |
for (int i = 0; i < 6; ++i) { |
SkAutoTUnref<GrFragmentProcessor> fp( |
GrYUVtoRGBEffect::Create(texture[indices[i][0]], |
- texture[indices[i][1]], |
- texture[indices[i][2]], |
- sizes, |
- static_cast<SkYUVColorSpace>(space))); |
+ texture[indices[i][1]], |
+ texture[indices[i][2]], |
+ static_cast<SkYUVColorSpace>(space))); |
if (fp) { |
SkMatrix viewMatrix; |
viewMatrix.setTranslate(x, y); |