fix build for scalar==fixed



git-svn-id: http://skia.googlecode.com/svn/trunk@671 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/core/SkFixed.h b/include/core/SkFixed.h
index be4bf99..e360374 100644
--- a/include/core/SkFixed.h
+++ b/include/core/SkFixed.h
@@ -17,7 +17,7 @@
 #ifndef SkFixed_DEFINED
 #define SkFixed_DEFINED
 
-#include "SkTypes.h"
+#include "SkMath.h"
 
 /** \file SkFixed.h
 
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
index d4c5b83..1c65a7d 100644
--- a/src/core/SkPaint.cpp
+++ b/src/core/SkPaint.cpp
@@ -2,16 +2,16 @@
 **
 ** Copyright 2006, The Android Open Source Project
 **
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
 **
-**     http://www.apache.org/licenses/LICENSE-2.0 
+**     http://www.apache.org/licenses/LICENSE-2.0
 **
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
 
@@ -334,7 +334,7 @@
     if (byteLength == 0) {
         return 0;
     }
-    
+
     SkASSERT(textData != NULL);
 
     if (NULL == glyphs) {
@@ -351,16 +351,16 @@
         }
         return 0;
     }
-    
+
     // if we get here, we have a valid glyphs[] array, so time to fill it in
-    
+
     // handle this encoding before the setup for the glyphcache
     if (this->getTextEncoding() == kGlyphID_TextEncoding) {
         // we want to ignore the low bit of byteLength
         memcpy(glyphs, textData, byteLength >> 1 << 1);
         return byteLength >> 1;
     }
-    
+
     SkAutoGlyphCache autoCache(*this, NULL);
     SkGlyphCache*    cache = autoCache.getCache();
 
@@ -392,9 +392,9 @@
     if (0 == byteLength) {
         return true;
     }
-    
+
     SkASSERT(textData != NULL);
-    
+
     // handle this encoding before the setup for the glyphcache
     if (this->getTextEncoding() == kGlyphID_TextEncoding) {
         const uint16_t* glyphID = static_cast<const uint16_t*>(textData);
@@ -406,7 +406,7 @@
         }
         return true;
     }
-    
+
     SkAutoGlyphCache autoCache(*this, NULL);
     SkGlyphCache*    cache = autoCache.getCache();
 
@@ -461,7 +461,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF8_NextUnichar(text));
 }
 
@@ -469,7 +469,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF8_PrevUnichar(text));
 }
 
@@ -477,7 +477,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF16_NextUnichar((const uint16_t**)text));
 }
 
@@ -485,7 +485,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF16_PrevUnichar((const uint16_t**)text));
 }
 
@@ -493,7 +493,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     unsigned glyphID = *ptr;
     ptr += 1;
@@ -505,7 +505,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     ptr -= 1;
     unsigned glyphID = *ptr;
@@ -519,7 +519,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharAdvance(SkUTF8_NextUnichar(text));
 }
 
@@ -527,7 +527,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharAdvance(SkUTF8_PrevUnichar(text));
 }
 
@@ -535,7 +535,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharAdvance(SkUTF16_NextUnichar((const uint16_t**)text));
 }
 
@@ -543,7 +543,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharAdvance(SkUTF16_PrevUnichar((const uint16_t**)text));
 }
 
@@ -551,7 +551,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     unsigned glyphID = *ptr;
     ptr += 1;
@@ -563,7 +563,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     ptr -= 1;
     unsigned glyphID = *ptr;
@@ -578,20 +578,20 @@
         sk_getMetrics_utf8_next,
         sk_getMetrics_utf16_next,
         sk_getMetrics_glyph_next,
-        
+
         sk_getMetrics_utf8_prev,
         sk_getMetrics_utf16_prev,
         sk_getMetrics_glyph_prev,
-        
+
         sk_getAdvance_utf8_next,
         sk_getAdvance_utf16_next,
         sk_getAdvance_glyph_next,
-        
+
         sk_getAdvance_utf8_prev,
         sk_getAdvance_utf16_prev,
         sk_getAdvance_glyph_prev
     };
-    
+
     unsigned index = this->getTextEncoding();
 
     if (kBackward_TextBufferDirection == tbd)
@@ -610,7 +610,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF8_NextUnichar(text));
 }
 
@@ -619,7 +619,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF8_NextUnichar(text), x, y);
 }
 
@@ -628,7 +628,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF16_NextUnichar((const uint16_t**)text));
 }
 
@@ -637,7 +637,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     return cache->getUnicharMetrics(SkUTF16_NextUnichar((const uint16_t**)text),
                                     x, y);
 }
@@ -647,7 +647,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     unsigned glyphID = *ptr;
     ptr += 1;
@@ -660,7 +660,7 @@
 {
     SkASSERT(cache != NULL);
     SkASSERT(text != NULL);
-    
+
     const uint16_t* ptr = *(const uint16_t**)text;
     unsigned glyphID = *ptr;
     ptr += 1;
@@ -674,16 +674,16 @@
         sk_getMetrics_utf8_00,
         sk_getMetrics_utf16_00,
         sk_getMetrics_glyph_00,
-        
+
         sk_getMetrics_utf8_xy,
         sk_getMetrics_utf16_xy,
         sk_getMetrics_glyph_xy
     };
-    
+
     unsigned index = this->getTextEncoding();
     if (fFlags & kSubpixelText_Flag)
         index += 3;
-    
+
     SkASSERT(index < SK_ARRAY_COUNT(gDrawCacheProcs));
     return gDrawCacheProcs[index];
 }
@@ -703,7 +703,7 @@
         fPaint->setStyle(fStyle);
         fPaint->setTextSize(fTextSize);
     }
-    
+
 private:
     SkPaint*        fPaint;
     SkScalar        fTextSize;
@@ -831,7 +831,7 @@
         // this gets restored by restore
         ((SkPaint*)this)->setTextSize(SkIntToScalar(kCanonicalTextSizeForPaths));
     }
-    
+
     SkMatrix    zoomMatrix, *zoomPtr = NULL;
     if (zoom)
     {
@@ -843,7 +843,7 @@
     SkGlyphCache*       cache = autoCache.getCache();
 
     SkScalar width = 0;
-    
+
     if (length > 0)
     {
         int tempCount;
@@ -917,7 +917,7 @@
         // this gets restored by restore
         ((SkPaint*)this)->setTextSize(SkIntToScalar(kCanonicalTextSizeForPaths));
     }
-    
+
     SkAutoGlyphCache    autoCache(*this, NULL);
     SkGlyphCache*       cache = autoCache.getCache();
 
@@ -961,16 +961,16 @@
             }
         }
     }
-    
+
     if (measuredWidth)
     {
-        
+
         SkScalar scalarWidth = Sk48Dot16ToScalar(width);
         if (scale)
             scalarWidth = SkScalarMul(scalarWidth, scale);
         *measuredWidth = scalarWidth;
     }
-    
+
     // return the number of bytes measured
     return (kForward_TextBufferDirection == tbd) ?
                 text - stop + length : stop - text + length;
@@ -1000,7 +1000,7 @@
         // this gets restored by restore
         ((SkPaint*)this)->setTextSize(SkIntToScalar(kCanonicalTextSizeForPaths));
     }
-    
+
     SkMatrix    zoomMatrix, *zoomPtr = NULL;
     if (zoom)
     {
@@ -1016,7 +1016,7 @@
     FontMetrics storage;
     if (NULL == metrics)
         metrics = &storage;
-    
+
     this->descriptorProc(zoomPtr, FontMetricsDescProc, metrics);
 
     if (scale)
@@ -1209,9 +1209,19 @@
     return h;
 }
 
+/*
+ *  Return the scalar with only limited fractional precision. Used to consolidate matrices
+ *  that vary only slightly when we create our key into the font cache, since the font scaler
+ *  typically returns the same looking resuts for tiny changes in the matrix.
+ */
 static SkScalar sk_relax(SkScalar x) {
+#ifdef SK_SCALAR_IS_FLOAT
     int n = sk_float_round2int(x * 1024);
     return n / 1024.0f;
+#else
+    // round to the nearest 10 fractional bits
+    return (x + (1 << 5)) & ~(1024 - 1);
+#endif
 }
 
 void SkScalerContext::MakeRec(const SkPaint& paint,
@@ -1237,10 +1247,10 @@
         rec->fPost2x2[0][0] = rec->fPost2x2[1][1] = SK_Scalar1;
         rec->fPost2x2[0][1] = rec->fPost2x2[1][0] = 0;
     }
-    
+
     SkPaint::Style  style = paint.getStyle();
     SkScalar        strokeWidth = paint.getStrokeWidth();
-    
+
     unsigned flags = SkFontHost::ComputeGammaFlag(paint);
 
     if (paint.isFakeBoldText())
@@ -1253,7 +1263,7 @@
                                                     kStdFakeBoldInterpValues,
                                                     kStdFakeBoldInterpLength);
         SkScalar extra = SkScalarMul(paint.getTextSize(), fakeBoldScale);
-        
+
         if (style == SkPaint::kFill_Style)
         {
             style = SkPaint::kStrokeAndFill_Style;
@@ -1266,7 +1276,7 @@
 
     if (paint.isDevKernText())
         flags |= SkScalerContext::kDevKernText_Flag;
-    
+
     if (style != SkPaint::kFill_Style && strokeWidth > 0)
     {
         rec->fFrameWidth = strokeWidth;
@@ -1440,7 +1450,7 @@
         asint(this->getLooper())) {
         flatFlags |= kHasEffects_FlatFlag;
     }
-    
+
     SkASSERT(SkAlign4(kPODPaintSize) == kPODPaintSize);
     uint32_t* ptr = buffer.reserve(kPODPaintSize);
 
@@ -1474,13 +1484,13 @@
     SkASSERT(SkAlign4(kPODPaintSize) == kPODPaintSize);
     const void* podData = buffer.skip(kPODPaintSize);
     const uint32_t* pod = reinterpret_cast<const uint32_t*>(podData);
-    
+
     // the order we read must match the order we wrote in flatten()
     this->setTextSize(read_scalar(pod));
     this->setTextScaleX(read_scalar(pod));
     this->setTextSkewX(read_scalar(pod));
     this->setStrokeWidth(read_scalar(pod));
-    this->setStrokeMiter(read_scalar(pod));    
+    this->setStrokeMiter(read_scalar(pod));
     this->setColor(*pod++);
 
     uint32_t tmp = *pod++;
@@ -1565,7 +1575,7 @@
     const SkPath*   path = &src;
 
     SkScalar width = this->getStrokeWidth();
-    
+
     switch (this->getStyle()) {
     case SkPaint::kFill_Style:
         width = -1; // mark it as no-stroke
@@ -1588,7 +1598,7 @@
 
         if (this->getPathEffect()->filterPath(&effectPath, src, &width))
             path = &effectPath;
-        
+
         // restore the width if we earlier had to lie, and if we're still set to no-stroke
         // note: if we're now stroke (width >= 0), then the pathEffect asked for that change
         // and we want to respect that (i.e. don't overwrite their setting for width)
@@ -1599,7 +1609,7 @@
                 width = -1;
         }
     }
-    
+
     if (width > 0 && !path->isEmpty())
     {
         SkStroke stroker(*this, width);
@@ -1669,7 +1679,7 @@
     }
     else
         fScale = SK_Scalar1;
-    
+
     if (!applyStrokeAndPathEffects)
     {
         fPaint.setStyle(SkPaint::kFill_Style);
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 832fc6e..7c50ab3 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -514,10 +514,10 @@
 #else
     GrPoint* v;
     fContext->reserveAndLockGeometry(layout, count, 0, (void**)&v, NULL);
-    for (int i = 0; i < count; ++i) {
+    for (size_t i = 0; i < count; ++i) {
         v[i].set(SkScalarToGrScalar(pts[i].fX), SkScalarToGrScalar(pts[i].fY));
     }
-    fContext->drawNonIndexed(gPointMode2PrimtiveType[mode], layout, 0, count);
+    fContext->drawNonIndexed(gPointMode2PrimtiveType[mode], 0, count);
     fContext->releaseReservedGeometry();
 #endif
 
diff --git a/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj b/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj
index b21d969..8787064 100644
--- a/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj
+++ b/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj
@@ -22,7 +22,6 @@
 		00003C950EFC2316000FF73A /* libeffects.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00003C940EFC230E000FF73A /* libeffects.a */; };
 		00003C9E0EFC233F000FF73A /* SkDOM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9A0EFC233F000FF73A /* SkDOM.cpp */; };
 		00003CA10EFC233F000FF73A /* SkXMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9D0EFC233F000FF73A /* SkXMLParser.cpp */; };
-		0001FB78110E33CC00C1D647 /* SampleTestGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00A729630FD93ED600D5051F /* SampleTestGL.cpp */; };
 		0001FB87110E35E500C1D647 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0001FB86110E35E500C1D647 /* AGL.framework */; };
 		0001FB8A110E35FA00C1D647 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0001FB89110E35FA00C1D647 /* OpenGL.framework */; };
 		00115EC912C11783008296FE /* libgpu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00115EC812C11771008296FE /* libgpu.a */; };
@@ -57,9 +56,7 @@
 		00575A3B10BB05FE00A43B94 /* SampleArc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00A41E4A0EFC312F00C9CBEB /* SampleArc.cpp */; };
 		00575A9510BB2FF600A43B94 /* SampleMipMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2794C04E0FE72903009AD112 /* SampleMipMap.cpp */; };
 		005E92DC0FF08507008965B9 /* SampleFilter2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0041CE290F00A12400695E8C /* SampleFilter2.cpp */; };
-		005E92E00FF08512008965B9 /* SampleFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0041CE280F00A12400695E8C /* SampleFilter.cpp */; };
 		0061BC9310D6787A0079EBE5 /* SampleGradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00C55DA00F8552DC000CAC09 /* SampleGradients.cpp */; };
-		0061BCC910D696730079EBE5 /* SampleTiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 007A7CAF0F01658C00A2D6EE /* SampleTiling.cpp */; };
 		0061BCD910D951AA0079EBE5 /* SkTextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00281C661083CF5100BCCB06 /* SkTextBox.cpp */; };
 		007A7CB40F01658C00A2D6EE /* SamplePoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 007A7CA50F01658C00A2D6EE /* SamplePoints.cpp */; };
 		007A7CB60F01658C00A2D6EE /* SampleRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 007A7CA70F01658C00A2D6EE /* SampleRegion.cpp */; };
@@ -80,6 +77,9 @@
 		009F9C0C12C39A9C00C7FD4A /* SkGr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 009F9C0612C39A9C00C7FD4A /* SkGr.cpp */; };
 		009F9C0D12C39A9C00C7FD4A /* SkGrFontScaler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 009F9C0712C39A9C00C7FD4A /* SkGrFontScaler.cpp */; };
 		009F9C0E12C39A9C00C7FD4A /* SkGrTexturePixelRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 009F9C0812C39A9C00C7FD4A /* SkGrTexturePixelRef.cpp */; };
+		009F9D0612C3E89F00C7FD4A /* SampleTiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 007A7CAF0F01658C00A2D6EE /* SampleTiling.cpp */; };
+		009F9D0A12C3E8AF00C7FD4A /* SampleFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0041CE280F00A12400695E8C /* SampleFilter.cpp */; };
+		009F9D1A12C3EB2600C7FD4A /* SampleGM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C4625412BFB2F300DBB1F6 /* SampleGM.cpp */; };
 		00A728270FD43D0400D5051F /* SampleMovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2762F6760FCCCB01002BD8B4 /* SampleMovie.cpp */; };
 		00A7282F0FD43D3700D5051F /* SkMovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00A7282D0FD43D3700D5051F /* SkMovie.cpp */; };
 		00A7295D0FD8397600D5051F /* SampleAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2762F6740FCCCB01002BD8B4 /* SampleAll.cpp */; };
@@ -108,7 +108,6 @@
 		27C4624E12BFB2C700DBB1F6 /* shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C4624812BFB2C700DBB1F6 /* shapes.cpp */; };
 		27C4624F12BFB2C700DBB1F6 /* tilemodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C4624912BFB2C700DBB1F6 /* tilemodes.cpp */; };
 		27C4625012BFB2C700DBB1F6 /* xfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C4624A12BFB2C700DBB1F6 /* xfermodes.cpp */; };
-		27C4625512BFB2F300DBB1F6 /* SampleGM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C4625412BFB2F300DBB1F6 /* SampleGM.cpp */; };
 		27CAAB65119B303E0017B155 /* SkSVGCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27CAAB30119B303E0017B155 /* SkSVGCircle.cpp */; };
 		27CAAB66119B303E0017B155 /* SkSVGClipPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27CAAB32119B303E0017B155 /* SkSVGClipPath.cpp */; };
 		27CAAB67119B303E0017B155 /* SkSVGDefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27CAAB34119B303E0017B155 /* SkSVGDefs.cpp */; };
@@ -314,7 +313,6 @@
 		00A41E4A0EFC312F00C9CBEB /* SampleArc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleArc.cpp; path = ../../samplecode/SampleArc.cpp; sourceTree = SOURCE_ROOT; };
 		00A7282D0FD43D3700D5051F /* SkMovie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkMovie.cpp; path = ../../src/images/SkMovie.cpp; sourceTree = SOURCE_ROOT; };
 		00A7282E0FD43D3700D5051F /* SkMovie_gif.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkMovie_gif.cpp; path = ../../src/images/SkMovie_gif.cpp; sourceTree = SOURCE_ROOT; };
-		00A729630FD93ED600D5051F /* SampleTestGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleTestGL.cpp; path = ../../samplecode/SampleTestGL.cpp; sourceTree = SOURCE_ROOT; };
 		00AF9B17103CD5EB00CBBCB3 /* SampleDitherBitmap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleDitherBitmap.cpp; path = ../../samplecode/SampleDitherBitmap.cpp; sourceTree = SOURCE_ROOT; };
 		00BB289A104781D00057BF7E /* SampleForth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleForth.cpp; path = ../../forth/SampleForth.cpp; sourceTree = SOURCE_ROOT; };
 		00C55DA00F8552DC000CAC09 /* SampleGradients.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleGradients.cpp; path = ../../samplecode/SampleGradients.cpp; sourceTree = SOURCE_ROOT; };
@@ -447,7 +445,6 @@
 				00281C771083CFA100BCCB06 /* SampleAnimator.cpp */,
 				27CAAB9B119B32670017B155 /* SampleSVG.cpp */,
 				0086CBF010A8661F00C8BF27 /* SampleAvoid.cpp */,
-				00A729630FD93ED600D5051F /* SampleTestGL.cpp */,
 				2762F6740FCCCB01002BD8B4 /* SampleAll.cpp */,
 				2762F6760FCCCB01002BD8B4 /* SampleMovie.cpp */,
 				2762F6770FCCCB01002BD8B4 /* SamplePageFlip.cpp */,
@@ -938,7 +935,6 @@
 				00A7295D0FD8397600D5051F /* SampleAll.cpp in Sources */,
 				00AF787E0FE94433007F9650 /* SamplePath.cpp in Sources */,
 				005E92DC0FF08507008965B9 /* SampleFilter2.cpp in Sources */,
-				005E92E00FF08512008965B9 /* SampleFilter.cpp in Sources */,
 				27005D16100903C100E275B6 /* SampleLines.cpp in Sources */,
 				27005D5F10095B2B00E275B6 /* SampleCircle.cpp in Sources */,
 				00C1B809103857A400FA5948 /* SampleFillType.cpp in Sources */,
@@ -964,9 +960,7 @@
 				00575A9510BB2FF600A43B94 /* SampleMipMap.cpp in Sources */,
 				00F45DDC10CE94CE00ABEA26 /* SampleTypeface.cpp in Sources */,
 				0061BC9310D6787A0079EBE5 /* SampleGradients.cpp in Sources */,
-				0061BCC910D696730079EBE5 /* SampleTiling.cpp in Sources */,
 				0061BCD910D951AA0079EBE5 /* SkTextBox.cpp in Sources */,
-				0001FB78110E33CC00C1D647 /* SampleTestGL.cpp in Sources */,
 				0021F3A21120B29C0062682F /* SkStaticTextView.cpp in Sources */,
 				0021F3D31120B61F0062682F /* SampleUnitMapper.cpp in Sources */,
 				27EC817811982E1300481B56 /* SampleTextAlpha.cpp in Sources */,
@@ -1018,7 +1012,6 @@
 				27C4624E12BFB2C700DBB1F6 /* shapes.cpp in Sources */,
 				27C4624F12BFB2C700DBB1F6 /* tilemodes.cpp in Sources */,
 				27C4625012BFB2C700DBB1F6 /* xfermodes.cpp in Sources */,
-				27C4625512BFB2F300DBB1F6 /* SampleGM.cpp in Sources */,
 				0011612F12C2AAC6008296FE /* SampleText.cpp in Sources */,
 				009F9C0912C39A9C00C7FD4A /* GrPrintf_skia.cpp in Sources */,
 				009F9C0A12C39A9C00C7FD4A /* SkGpuCanvas.cpp in Sources */,
@@ -1026,6 +1019,9 @@
 				009F9C0C12C39A9C00C7FD4A /* SkGr.cpp in Sources */,
 				009F9C0D12C39A9C00C7FD4A /* SkGrFontScaler.cpp in Sources */,
 				009F9C0E12C39A9C00C7FD4A /* SkGrTexturePixelRef.cpp in Sources */,
+				009F9D0612C3E89F00C7FD4A /* SampleTiling.cpp in Sources */,
+				009F9D0A12C3E8AF00C7FD4A /* SampleFilter.cpp in Sources */,
+				009F9D1A12C3EB2600C7FD4A /* SampleGM.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};