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

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

Issue 15780002: Replace GrDrawState::AutoDeviceCoordDraw with GrDrawState::AutoViewMatrixRestore::setIdentity(). s (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: undo unrelated change Created 7 years, 7 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
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #include "GrContext.h" 10 #include "GrContext.h"
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 780
781 GrRect devRect; 781 GrRect devRect;
782 SkMatrix combinedMatrix; 782 SkMatrix combinedMatrix;
783 bool useVertexCoverage; 783 bool useVertexCoverage;
784 bool needAA = paint.isAntiAlias() && 784 bool needAA = paint.isAntiAlias() &&
785 !this->getRenderTarget()->isMultisampled(); 785 !this->getRenderTarget()->isMultisampled();
786 bool doAA = needAA && apply_aa_to_rect(target, rect, width, matrix, 786 bool doAA = needAA && apply_aa_to_rect(target, rect, width, matrix,
787 &combinedMatrix, &devRect, 787 &combinedMatrix, &devRect,
788 &useVertexCoverage); 788 &useVertexCoverage);
789 if (doAA) { 789 if (doAA) {
790 GrDrawState::AutoDeviceCoordDraw adcd(target->drawState()); 790 GrDrawState::AutoViewMatrixRestore avmr;
791 if (!adcd.succeeded()) { 791 if (!avmr.setIdentity(target->drawState())) {
792 return; 792 return;
793 } 793 }
794 if (width >= 0) { 794 if (width >= 0) {
795 fAARectRenderer->strokeAARect(this->getGpu(), target, 795 fAARectRenderer->strokeAARect(this->getGpu(), target,
796 rect, combinedMatrix, devRect, 796 rect, combinedMatrix, devRect,
797 width, useVertexCoverage); 797 width, useVertexCoverage);
798 } else { 798 } else {
799 // filled AA rect 799 // filled AA rect
800 fAARectRenderer->fillAARect(this->getGpu(), target, 800 fAARectRenderer->fillAARect(this->getGpu(), target,
801 rect, combinedMatrix, devRect, 801 rect, combinedMatrix, devRect,
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 GrDrawTarget* target = this->prepareToDraw(&paint, BUFFERED_DRAW); 1059 GrDrawTarget* target = this->prepareToDraw(&paint, BUFFERED_DRAW);
1060 GrDrawState::AutoStageDisable atr(fDrawState); 1060 GrDrawState::AutoStageDisable atr(fDrawState);
1061 1061
1062 bool useAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled (); 1062 bool useAA = paint.isAntiAlias() && !this->getRenderTarget()->isMultisampled ();
1063 if (useAA && stroke.getWidth() < 0 && !path.isConvex()) { 1063 if (useAA && stroke.getWidth() < 0 && !path.isConvex()) {
1064 // Concave AA paths are expensive - try to avoid them for special cases 1064 // Concave AA paths are expensive - try to avoid them for special cases
1065 bool useVertexCoverage; 1065 bool useVertexCoverage;
1066 SkRect rects[2]; 1066 SkRect rects[2];
1067 1067
1068 if (is_nested_rects(target, path, stroke, rects, &useVertexCoverage)) { 1068 if (is_nested_rects(target, path, stroke, rects, &useVertexCoverage)) {
1069 GrDrawState::AutoDeviceCoordDraw adcd(target->drawState()); 1069 SkMatrix origViewMatrix = target->getDrawState().getViewMatrix();
1070 if (!adcd.succeeded()) { 1070 GrDrawState::AutoViewMatrixRestore avmr;
1071 if (!avmr.setIdentity(target->drawState())) {
1071 return; 1072 return;
1072 } 1073 }
1073 1074
1074 fAARectRenderer->fillAANestedRects(this->getGpu(), target, 1075 fAARectRenderer->fillAANestedRects(this->getGpu(), target,
1075 rects, 1076 rects,
1076 adcd.getOriginalMatrix(), 1077 origViewMatrix,
1077 useVertexCoverage); 1078 useVertexCoverage);
1078 return; 1079 return;
1079 } 1080 }
1080 } 1081 }
1081 1082
1082 SkRect ovalRect; 1083 SkRect ovalRect;
1083 bool isOval = path.isOval(&ovalRect); 1084 bool isOval = path.isOval(&ovalRect);
1084 1085
1085 if (!isOval || path.isInverseFillType() 1086 if (!isOval || path.isInverseFillType()
1086 || !fOvalRenderer->drawOval(target, this, useAA, ovalRect, stroke)) { 1087 || !fOvalRenderer->drawOval(target, this, useAA, ovalRect, stroke)) {
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after
1861 return srcTexture; 1862 return srcTexture;
1862 } 1863 }
1863 } 1864 }
1864 1865
1865 /////////////////////////////////////////////////////////////////////////////// 1866 ///////////////////////////////////////////////////////////////////////////////
1866 #if GR_CACHE_STATS 1867 #if GR_CACHE_STATS
1867 void GrContext::printCacheStats() const { 1868 void GrContext::printCacheStats() const {
1868 fTextureCache->printStats(); 1869 fTextureCache->printStats();
1869 } 1870 }
1870 #endif 1871 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698