Make cap only affect the keys of GrShapes that are possibly-open

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949193002

Review-Url: https://codereview.chromium.org/1949193002
diff --git a/src/gpu/GrShape.cpp b/src/gpu/GrShape.cpp
index 3b49f6a..84e14e8 100644
--- a/src/gpu/GrShape.cpp
+++ b/src/gpu/GrShape.cpp
@@ -103,7 +103,11 @@
                 return;
             }
         }
-        int styleCnt = GrStyle::KeySize(parent.fStyle, apply);
+        uint32_t styleKeyFlags = 0;
+        if (parent.knownToBeClosed()) {
+            styleKeyFlags |= GrStyle::kClosed_KeyFlag;
+        }
+        int styleCnt = GrStyle::KeySize(parent.fStyle, apply, styleKeyFlags);
         if (styleCnt < 0) {
             // The style doesn't allow a key, set the path to volatile so that we fail when
             // we try to get a key for the shape.
@@ -120,7 +124,7 @@
                    parentCnt * sizeof(uint32_t));
         }
         // Now turn (geo,path_effect) or (geo) into (geo,path_effect,stroke)
-        GrStyle::WriteKey(fInheritedKey.get() + parentCnt, parent.fStyle, apply);
+        GrStyle::WriteKey(fInheritedKey.get() + parentCnt, parent.fStyle, apply, styleKeyFlags);
     }
 }