Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(824)

Side by Side Diff: src/gpu/GrOvalRenderer.cpp

Issue 23514047: Fix for ovals failing on Xoom. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "GrOvalRenderer.h" 8 #include "GrOvalRenderer.h"
9 9
10 #include "GrEffect.h" 10 #include "GrEffect.h"
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 GrPrintf("Failed to get space for vertices!\n"); 684 GrPrintf("Failed to get space for vertices!\n");
685 return false; 685 return false;
686 } 686 }
687 687
688 EllipseVertex* verts = reinterpret_cast<EllipseVertex*>(geo.vertices()); 688 EllipseVertex* verts = reinterpret_cast<EllipseVertex*>(geo.vertices());
689 689
690 GrEffectRef* effect = EllipseEdgeEffect::Create(isStroked && 690 GrEffectRef* effect = EllipseEdgeEffect::Create(isStroked &&
691 innerXRadius > 0 && innerYRa dius > 0); 691 innerXRadius > 0 && innerYRa dius > 0);
692 692
693 static const int kEllipseCenterAttrIndex = 1; 693 static const int kEllipseCenterAttrIndex = 1;
694 drawState->addCoverageEffect(effect, kEllipseCenterAttrIndex)->unref(); 694 static const int kEllipseEdgeAttrIndex = 2;
695 drawState->addCoverageEffect(effect, kEllipseCenterAttrIndex, kEllipseEdgeAt trIndex)->unref();
695 696
696 // Compute the reciprocals of the radii here to save time in the shader 697 // Compute the reciprocals of the radii here to save time in the shader
697 SkScalar xRadRecip = SkScalarInvert(xRadius); 698 SkScalar xRadRecip = SkScalarInvert(xRadius);
698 SkScalar yRadRecip = SkScalarInvert(yRadius); 699 SkScalar yRadRecip = SkScalarInvert(yRadius);
699 SkScalar xInnerRadRecip = SkScalarInvert(innerXRadius); 700 SkScalar xInnerRadRecip = SkScalarInvert(innerXRadius);
700 SkScalar yInnerRadRecip = SkScalarInvert(innerYRadius); 701 SkScalar yInnerRadRecip = SkScalarInvert(innerYRadius);
701 702
702 // We've extended the outer x radius out half a pixel to antialias. 703 // We've extended the outer x radius out half a pixel to antialias.
703 // This will also expand the rect so all the pixels will be captured. 704 // This will also expand the rect so all the pixels will be captured.
704 // TODO: Consider if we should use sqrt(2)/2 instead 705 // TODO: Consider if we should use sqrt(2)/2 instead
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
1141 } 1142 }
1142 1143
1143 // drop out the middle quad if we're stroked 1144 // drop out the middle quad if we're stroked
1144 int indexCnt = isStroked ? GR_ARRAY_COUNT(gRRectIndices)-6 : GR_ARRAY_CO UNT(gRRectIndices); 1145 int indexCnt = isStroked ? GR_ARRAY_COUNT(gRRectIndices)-6 : GR_ARRAY_CO UNT(gRRectIndices);
1145 target->setIndexSourceToBuffer(indexBuffer); 1146 target->setIndexSourceToBuffer(indexBuffer);
1146 target->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 16, indexCnt, &bou nds); 1147 target->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 16, indexCnt, &bou nds);
1147 } 1148 }
1148 1149
1149 return true; 1150 return true;
1150 } 1151 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698