137 static const int kW = 10;
138 static const int kH = 10;
141 std::unique_ptr<SurfaceDrawContext> sdc;
151 uint32_t actualValue;
163 sdc->clear(fullRect, kColor1f);
164 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor1, &actualValue, &failX, &failY)) {
173 sdc->clear(fullRect, kColor1f);
174 sdc->clear(fullRect, kColor1f);
175 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor1, &actualValue, &failX, &failY)) {
184 sdc->clear(fullRect, kColor1f);
185 sdc->clear(fullRect, kColor2f);
186 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor2, &actualValue, &failX, &failY)) {
195 sdc->clear(fullRect, kColor1f);
196 sdc->clear(mid1Rect, kColor1f);
197 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor1, &actualValue, &failX, &failY)) {
206 sdc->clear(mid1Rect, kColor1f);
207 sdc->clear(fullRect, kColor1f);
208 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor1, &actualValue, &failX, &failY)) {
217 sdc->clear(fullRect, kColor1f);
218 sdc->clear(mid1Rect, kColor2f);
219 if (!
check_rect(dContext, sdc.get(), mid1Rect,
kColor2, &actualValue, &failX, &failY)) {
224 if (!
check_ring(dContext, sdc.get(), 0,
kColor1, &actualValue, &failX, &failY)) {
233 sdc->clear(mid1Rect, kColor2f);
234 sdc->clear(fullRect, kColor1f);
235 if (!
check_rect(dContext, sdc.get(), fullRect,
kColor1, &actualValue, &failX, &failY)) {
245 sdc->clear(fullRect, kColor1f);
246 sdc->clear(mid1Rect, kColor2f);
247 sdc->clear(mid2Rect, kColor1f);
248 if (!
check_rect(dContext, sdc.get(), mid2Rect,
kColor1, &actualValue, &failX, &failY)) {
253 if (!
check_ring(dContext, sdc.get(), 1,
kColor2, &actualValue, &failX, &failY)) {
258 if (!
check_ring(dContext, sdc.get(), 0,
kColor1, &actualValue, &failX, &failY)) {
267 sdc->clear(fullRect, kColor1f);
268 sdc->clear(mid2Rect, kColor1f);
269 sdc->clear(mid1Rect, kColor2f);
270 if (!
check_rect(dContext, sdc.get(), mid1Rect,
kColor2, &actualValue, &failX, &failY)) {
274 if (!
check_ring(dContext, sdc.get(), 0,
kColor1, &actualValue, &failX, &failY)) {
291 sdc->clearStencilClip(kScissorRect,
true);
298 auto opsTask = sdc->getOpsTask();
303 constexpr std::array<float, 4> kExpected { 0, 0, 0, 1 };
316 sdc->clearStencilClip(kScissorRect,
true);
322 sdc->clearStencilClip(kScissorRect,
false);
324 auto opsTask = sdc->getOpsTask();
329 constexpr std::array<float, 4> kExpected { 1, 1, 1, 1 };
GrDirectContext * get(ContextType type, ContextOverrides overrides=ContextOverrides::kNone)
bool readPixels(GrDirectContext *dContext, GrPixmap dst, SkIPoint srcPt)
static std::unique_ptr< SurfaceDrawContext > Make(GrRecordingContext *, GrColorType, sk_sp< GrSurfaceProxy >, sk_sp< SkColorSpace >, GrSurfaceOrigin, const SkSurfaceProps &)