aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-08-26 14:40:38 +0000
committerGravatar epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-08-26 14:40:38 +0000
commit17b78946096265d80215a6c946286ecaa35ea7ed (patch)
tree3af45529670451a9df0bd13ca71fa6a4a98d0eae /gm
parent5f226572b3b6e1a6fea11f5f3c862a47158f66fe (diff)
rolling back the experimental rollbacks in r2178-2179
git-svn-id: http://skia.googlecode.com/svn/trunk@2180 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm')
-rw-r--r--gm/points.cpp10
-rw-r--r--gm/strokerects.cpp4
-rw-r--r--gm/strokes.cpp4
3 files changed, 14 insertions, 4 deletions
diff --git a/gm/points.cpp b/gm/points.cpp
index ff535cd24d..4aa65975b6 100644
--- a/gm/points.cpp
+++ b/gm/points.cpp
@@ -28,8 +28,14 @@ protected:
}
static void fill_pts(SkPoint pts[], size_t n, SkRandom* rand) {
- for (size_t i = 0; i < n; i++)
- pts[i].set(rand->nextUScalar1() * 640, rand->nextUScalar1() * 480);
+ for (size_t i = 0; i < n; i++) {
+ // Compute these independently and store in variables, rather
+ // than in the parameter-passing expression, to get consistent
+ // evaluation order across compilers.
+ float y = rand->nextUScalar1() * 480;
+ float x = rand->nextUScalar1() * 640;
+ pts[i].set(x, y);
+ }
}
virtual void onDraw(SkCanvas* canvas) {
diff --git a/gm/strokerects.cpp b/gm/strokerects.cpp
index 29d8cb0ae8..44c012029c 100644
--- a/gm/strokerects.cpp
+++ b/gm/strokerects.cpp
@@ -38,9 +38,11 @@ protected:
SkScalar y = rand.nextUScalar1() * H;
SkScalar w = rand.nextUScalar1() * (W >> 2);
SkScalar h = rand.nextUScalar1() * (H >> 2);
+ SkScalar hoffset = rand.nextSScalar1();
+ SkScalar woffset = rand.nextSScalar1();
r->set(x, y, x + w, y + h);
- r->offset(-w/2 + rand.nextSScalar1(), -h/2 + + rand.nextSScalar1());
+ r->offset(-w/2 + woffset, -h/2 + hoffset);
}
virtual void onDraw(SkCanvas* canvas) {
diff --git a/gm/strokes.cpp b/gm/strokes.cpp
index 862a517d5f..d8b21b2f2e 100644
--- a/gm/strokes.cpp
+++ b/gm/strokes.cpp
@@ -25,9 +25,11 @@ static void rnd_rect(SkRect* r, SkPaint* paint, SkRandom& rand) {
SkScalar y = rand.nextUScalar1() * H;
SkScalar w = rand.nextUScalar1() * (W >> 2);
SkScalar h = rand.nextUScalar1() * (H >> 2);
+ SkScalar hoffset = rand.nextSScalar1();
+ SkScalar woffset = rand.nextSScalar1();
r->set(x, y, x + w, y + h);
- r->offset(-w/2 + rand.nextSScalar1(), -h/2 + + rand.nextSScalar1());
+ r->offset(-w/2 + woffset, -h/2 + hoffset);
paint->setColor(rand.nextU());
paint->setAlpha(0xFF);