VkClearTests.cpp revision dc0fcd41e75682a8bfd5e285d684461475226330
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) { 51164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrVkGpu* gpu = static_cast<GrVkGpu*>(context->getGpu()); 52164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->discard(NULL); 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)); 98164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 99164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 100164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Danielvoid sub_clear_test(skiatest::Reporter* reporter, GrContext* context, GrPixelConfig config) { 101164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int width = 10; 102164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int height = 10; 103164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int subWidth = width/2; 104164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel const int subHeight = height/2; 105164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrVkGpu* gpu = static_cast<GrVkGpu*>(context->getGpu()); 106164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->discard(NULL); 107164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkAutoTMalloc<GrColor> buffer(width * height); 108164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkAutoTMalloc<GrColor> subBuffer(subWidth * subHeight); 109164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 110164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrSurfaceDesc surfDesc; 111164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fFlags = kRenderTarget_GrSurfaceFlag; 112164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fOrigin = kTopLeft_GrSurfaceOrigin; 113164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fWidth = width; 114164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fHeight = height; 115164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fConfig = config; 116164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel surfDesc.fSampleCnt = 0; 117dc0fcd41e75682a8bfd5e285d684461475226330bsalomon GrTexture* tex = gpu->createTexture(surfDesc, SkBudgeted::kNo); 118164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex); 119164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkASSERT(tex->asRenderTarget()); 120164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 121164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkIRect fullRect = SkIRect::MakeWH(10, 10); 122164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(fullRect, GrColor_TRANSPARENT_BLACK, tex->asRenderTarget()); 123164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 124164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 125164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 126164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 127164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_TRANSPARENT_BLACK, 128164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 129164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 130164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 131164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel SkIRect rect; 132164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, 0, subWidth, subHeight); 133164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 134164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, 0, subWidth, subHeight); 135164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 136164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, subHeight, subWidth, subHeight); 137164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 138164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 139164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // Should fail since bottom right sub area has not been cleared to white 140164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 141164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, !does_full_buffer_contain_correct_color(buffer.get(), 142164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_WHITE, 143164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 144164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 145164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 146164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 147164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, subHeight, subWidth, subHeight); 148164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, GrColor_WHITE, tex->asRenderTarget()); 149164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 150164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, width, height, config, (void*)buffer.get(), 0); 151164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(buffer.get(), 152164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor_WHITE, 153164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 154164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel width, 155164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel height)); 156164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 157164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel // Try different colors and that each sub area has correct color 158164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor1 = GrColorPackRGBA(0xFF, 0x00, 0x00, 0xFF); 159164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor2 = GrColorPackRGBA(0x00, 0xFF, 0x00, 0xFF); 160164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor3 = GrColorPackRGBA(0x00, 0x00, 0xFF, 0xFF); 161164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel GrColor subColor4 = GrColorPackRGBA(0xFF, 0xFF, 0x00, 0xFF); 162164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 163164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, 0, subWidth, subHeight); 164164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor1, tex->asRenderTarget()); 165164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, 0, subWidth, subHeight); 166164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor2, tex->asRenderTarget()); 167164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(0, subHeight, subWidth, subHeight); 168164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor3, tex->asRenderTarget()); 169164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel rect = SkIRect::MakeXYWH(subWidth, subHeight, subWidth, subHeight); 170164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->clear(rect, subColor4, tex->asRenderTarget()); 171164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 172164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, 0, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 173164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 174164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor1, 175164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 176164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 177164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 178164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, subWidth, 0, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 179164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 180164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor2, 181164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 182164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 183164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 184164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, 0, subHeight, subWidth, subHeight, config, (void*)subBuffer.get(), 0); 185164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 186164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor3, 187164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 188164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 189164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 190164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel gpu->readPixels(tex, subWidth, subHeight, subWidth, subHeight, 191164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, (void*)subBuffer.get(), 0); 192164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel REPORTER_ASSERT(reporter, does_full_buffer_contain_correct_color(subBuffer.get(), 193164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subColor4, 194164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel config, 195164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subWidth, 196164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel subHeight)); 197164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 198164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 199dc0fcd41e75682a8bfd5e285d684461475226330bsalomonDEF_GPUTEST_FOR_VULKAN_CONTEXT(VkClearTests, reporter, ctxInfo) { 200dc0fcd41e75682a8bfd5e285d684461475226330bsalomon basic_clear_test(reporter, ctxInfo.fGrContext, kRGBA_8888_GrPixelConfig); 201dc0fcd41e75682a8bfd5e285d684461475226330bsalomon basic_clear_test(reporter, ctxInfo.fGrContext, kBGRA_8888_GrPixelConfig); 202dc0fcd41e75682a8bfd5e285d684461475226330bsalomon sub_clear_test(reporter, ctxInfo.fGrContext, kRGBA_8888_GrPixelConfig); 203dc0fcd41e75682a8bfd5e285d684461475226330bsalomon sub_clear_test(reporter, ctxInfo.fGrContext, kBGRA_8888_GrPixelConfig); 204164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel} 205164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel 206164a9f061c5186ae931cc23a3c73f32472e80ff5Greg Daniel#endif 207