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