Untangle GrSurfaceDrawContext.h, GrTextureOp.h and GrFillRectOp.h

The dependencies between these headers made modifying the SDC and Ops separately somewhat difficult.

Bug: skia:11837
Change-Id: I0c3ca118ce206bf8db5b6753be1ef46531ae1f58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/430041
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrTextureOp.h b/src/gpu/ops/GrTextureOp.h
index 61bcfc8..4bb33f5 100644
--- a/src/gpu/ops/GrTextureOp.h
+++ b/src/gpu/ops/GrTextureOp.h
@@ -12,11 +12,15 @@
 #include "include/private/GrTypesPriv.h"
 #include "src/gpu/GrColor.h"
 #include "src/gpu/GrSamplerState.h"
-#include "src/gpu/GrSurfaceDrawContext.h"
+#include "src/gpu/ops/GrOp.h"
 
+struct DrawQuad;
+class GrClip;
 class GrColorSpaceXform;
 class GrDrawOp;
+class GrSurfaceDrawContext;
 class GrTextureProxy;
+struct GrTextureSetEntry;
 struct SkRect;
 class SkMatrix;
 
@@ -59,7 +63,7 @@
     static void AddTextureSetOps(GrSurfaceDrawContext*,
                                  const GrClip* clip,
                                  GrRecordingContext*,
-                                 GrSurfaceDrawContext::TextureSetEntry[],
+                                 GrTextureSetEntry[],
                                  int cnt,
                                  int proxyRunCnt,
                                  GrSamplerState::Filter,