1164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel/* 2164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel * Copyright 2015 Google Inc. 3164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel * 4164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel * Use of this source code is governed by a BSD-style license that can be 5164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel * found in the LICENSE file. 6164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel */ 7164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 8164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel// This is a GPU-backend specific test. It relies on static intializers to work 9164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 10164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#include "SkTypes.h" 11164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 12164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#if SK_SUPPORT_GPU && SK_ALLOW_STATIC_GLOBAL_INITIALIZERS && defined(SK_VULKAN) 13164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 14164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#include "GrContextFactory.h" 15164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#include "GrTest.h" 16164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#include "Test.h" 17164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#include "vk/GrVkGpu.h" 18164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 192ae4b2e95ddd36ede0d3cbc4d274b6d6618a049dkkinnunenusing sk_gpu_test::GrContextFactory; 202ae4b2e95ddd36ede0d3cbc4d274b6d6618a049dkkinnunen 21164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Danielbool does_full_buffer_contain_correct_color(GrColor* buffer, 22164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor clearColor, 23164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrPixelConfig config, 24164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel int width, 25164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel int height) { 26164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor matchColor; 27164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel if (kRGBA_8888_GrPixelConfig == config) { 28164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel matchColor = clearColor; 29164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } else if (kBGRA_8888_GrPixelConfig) { 30164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // Hack to flip the R, B componets in the GrColor so that the comparrison will work below 31164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel matchColor = GrColorPackRGBA(GrColorUnpackB(clearColor), 32164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColorUnpackG(clearColor), 33164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColorUnpackR(clearColor), 34164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColorUnpackA(clearColor)); 35164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } else { 36164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // currently only supporting rgba_8888 and bgra_8888 37164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel return false; 38164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } 39164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 40164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel for (int j = 0; j < height; ++j) { 41164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel for (int i = 0; i < width; ++i) { 42164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel if (buffer[j * width + i] != matchColor) { 43164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel return false; 44164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } 45164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } 46164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel } 47164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel return true; 48164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 49164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 50164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Danielvoid basic_clear_test(skiatest::Reporter* reporter, GrContext* context, GrPixelConfig config) { 519cb6340a62a5d748e4189d50e51fa527c8c80c03egdaniel#if 0 52164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrVkGpu* gpu = static_cast<GrVkGpu*>(context->getGpu()); 53164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkAutoTMalloc<GrColor> buffer(25); 54164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 55164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrSurfaceDesc surfDesc; 56164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fFlags = kRenderTarget_GrSurfaceFlag; 57164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fOrigin = kTopLeft_GrSurfaceOrigin; 58164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fWidth = 5; 59164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fHeight = 5; 60164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fConfig = config; 61164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fSampleCnt = 0; 62dc0fcd41e75682a8bfd5e285d684461475226330bsalomon GrTexture* tex = gpu->createTexture(surfDesc, SkBudgeted::kNo); 63164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex); 64164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex->asRenderTarget()); 65164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkIRect rect = SkIRect::MakeWH(5, 5); 66164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 67164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_TRANSPARENT_BLACK, tex->asRenderTarget()); 68164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 69164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, 5, 5, config, (void*)buffer.get(), 0); 70164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 71164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 72164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_TRANSPARENT_BLACK, 73164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 74164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5, 75164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5)); 76164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 77164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 78164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 79164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, 5, 5, config, (void*)buffer.get(), 0); 80164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 81164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 82164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_WHITE, 83164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 84164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5, 85164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5)); 86164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 87164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor myColor = GrColorPackRGBA(0xFF, 0x7F, 0x40, 0x20); 88164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 89164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, myColor, tex->asRenderTarget()); 90164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 91164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, 5, 5, config, (void*)buffer.get(), 0); 92164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 93164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 94164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel myColor, 95164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 96164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5, 97164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 5)); 989cb6340a62a5d748e4189d50e51fa527c8c80c03egdaniel#endif 99164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 100164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 101164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Danielvoid sub_clear_test(skiatest::Reporter* reporter, GrContext* context, GrPixelConfig config) { 1029cb6340a62a5d748e4189d50e51fa527c8c80c03egdaniel#if 0 103164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int width = 10; 104164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int height = 10; 105164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int subWidth = width/2; 106164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int subHeight = height/2; 107164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrVkGpu* gpu = static_cast<GrVkGpu*>(context->getGpu()); 108164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkAutoTMalloc<GrColor> buffer(width * height); 109164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkAutoTMalloc<GrColor> subBuffer(subWidth * subHeight); 110164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 111164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrSurfaceDesc surfDesc; 112164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fFlags = kRenderTarget_GrSurfaceFlag; 113164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fOrigin = kTopLeft_GrSurfaceOrigin; 114164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fWidth = width; 115164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fHeight = height; 116164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fConfig = config; 117164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fSampleCnt = 0; 118dc0fcd41e75682a8bfd5e285d684461475226330bsalomon GrTexture* tex = gpu->createTexture(surfDesc, SkBudgeted::kNo); 119164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex); 120164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex->asRenderTarget()); 121164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 122164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkIRect fullRect = SkIRect::MakeWH(10, 10); 123164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(fullRect, GrColor_TRANSPARENT_BLACK, tex->asRenderTarget()); 124164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 125164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 126164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 127164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 128164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_TRANSPARENT_BLACK, 129164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 130164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 131164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 132164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkIRect rect; 133164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, 0, subWidth, subHeight); 134164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 135164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, 0, subWidth, subHeight); 136164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 137164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, subHeight, subWidth, subHeight); 138164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 139164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 140164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // Should fail since bottom right sub area has not been cleared to white 141164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 142164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, !does_full_buffer_contain_correct_color(buffer.get(), 143164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_WHITE, 144164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 145164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 146164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 147164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 148164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, subHeight, subWidth, subHeight); 149164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 150164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 151164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 152164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 153164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_WHITE, 154164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 155164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 156164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 157164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 158164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // Try different colors and that each sub area has correct color 159164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor1 = GrColorPackRGBA(0xFF, 0x00, 0x00, 0xFF); 160164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor2 = GrColorPackRGBA(0x00, 0xFF, 0x00, 0xFF); 161164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor3 = GrColorPackRGBA(0x00, 0x00, 0xFF, 0xFF); 162164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor4 = GrColorPackRGBA(0xFF, 0xFF, 0x00, 0xFF); 163164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 164164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, 0, subWidth, subHeight); 165164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor1, tex->asRenderTarget()); 166164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, 0, subWidth, subHeight); 167164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor2, tex->asRenderTarget()); 168164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, subHeight, subWidth, subHeight); 169164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor3, tex->asRenderTarget()); 170164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, subHeight, subWidth, subHeight); 171164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor4, tex->asRenderTarget()); 172164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 173164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 174164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 175164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor1, 176164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 177164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 178164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 179164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, subWidth, 0, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 180164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 181164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor2, 182164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 183164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 184164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 185164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, subHeight, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 186164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 187164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor3, 188164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 189164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 190164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 191164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, subWidth, subHeight, subWidth, subHeight, 192164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, (void*)subBuffer.get(), 0); 193164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 194164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor4, 195164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 196164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 197164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 1989cb6340a62a5d748e4189d50e51fa527c8c80c03egdaniel#endif 199164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 200164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 201dc0fcd41e75682a8bfd5e285d684461475226330bsalomonDEF_GPUTEST_FOR_VULKAN_CONTEXT(VkClearTests, reporter, ctxInfo) { 2028b7451aaf6b1c71e9d343a4df107893db277b6aabsalomon basic_clear_test(reporter, ctxInfo.grContext(), kRGBA_8888_GrPixelConfig); 2038b7451aaf6b1c71e9d343a4df107893db277b6aabsalomon basic_clear_test(reporter, ctxInfo.grContext(), kBGRA_8888_GrPixelConfig); 2048b7451aaf6b1c71e9d343a4df107893db277b6aabsalomon sub_clear_test(reporter, ctxInfo.grContext(), kRGBA_8888_GrPixelConfig); 2058b7451aaf6b1c71e9d343a4df107893db277b6aabsalomon sub_clear_test(reporter, ctxInfo.grContext(), kBGRA_8888_GrPixelConfig); 206164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 207164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 208164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#endif 209