Use tristate in HW AA tracking, fix msaa disabled for non-smoothed lines bug

Review URL: http://codereview.appspot.com/6222051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4015 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGpuGL.h b/src/gpu/gl/GrGpuGL.h
index 4d646cd..12b0457 100644
--- a/src/gpu/gl/GrGpuGL.h
+++ b/src/gpu/gl/GrGpuGL.h
@@ -64,11 +64,6 @@
         bool                    fArrayPtrsDirty;
     } fHWGeometryState;
 
-    struct AAState {
-        bool fMSAAEnabled;
-        bool fSmoothLineEnabled;
-    } fHWAAState;
-
     enum UnpremulConversion {
         kUpOnWrite_DownOnRead_UnpremulConversion,
         kDownOnWrite_UpOnRead_UnpremulConversion
@@ -265,6 +260,15 @@
         }
     } fHWBlendState;
 
+    struct {
+        TriState fMSAAEnabled;
+        TriState fSmoothLineEnabled;
+        void invalidate() {
+            fMSAAEnabled = kUnknown_TriState;
+            fSmoothLineEnabled = kUnknown_TriState;
+        }
+    } fHWAAState;
+
     GrDrawState::DrawFace   fHWDrawFace;
     TriState                fHWWriteToColor;
     TriState                fHWDitherEnabled;