Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Side by Side Diff: tests/ProxyTest.cpp

Issue 2289363005: Improve usage of window rectangles (Closed) Base URL: https://skia.googlesource.com/skia.git@upload_drawsinreducedclip
Patch Set: Improve usage of window rectangles Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 // This is a GPU-backend specific test. 8 // This is a GPU-backend specific test.
9 9
10 #include "Test.h" 10 #include "Test.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 backendDesc.fHeight = kWidthHeight; 150 backendDesc.fHeight = kWidthHeight;
151 backendDesc.fConfig = config; 151 backendDesc.fConfig = config;
152 backendDesc.fOrigin = origin; 152 backendDesc.fOrigin = origin;
153 backendDesc.fSampleCnt = numSamples; 153 backendDesc.fSampleCnt = numSamples;
154 backendDesc.fStencilBits = 8; 154 backendDesc.fStencilBits = 8;
155 backendDesc.fRenderTargetHandle = 0; 155 backendDesc.fRenderTargetHandle = 0;
156 156
157 GrGpu* gpu = ctxInfo.grContext()->getGpu(); 157 GrGpu* gpu = ctxInfo.grContext()->getGpu();
158 sk_sp<GrRenderTarget> defaultFBO( 158 sk_sp<GrRenderTarget> defaultFBO(
159 gpu->wrapBackendRenderTarget(backendDesc, kBorrow_Gr WrapOwnership)); 159 gpu->wrapBackendRenderTarget(backendDesc, kBorrow_Gr WrapOwnership));
160 SkASSERT(!defaultFBO->renderTargetPriv().supportsWindowR ectangles()); 160 REPORTER_ASSERT(reporter,
161 !defaultFBO->renderTargetPriv().maxWindo wRectangles());
161 162
162 sk_sp<GrRenderTargetProxy> rtProxy( 163 sk_sp<GrRenderTargetProxy> rtProxy(
163 GrRenderTargetProxy::Make(caps, defaultFBO)); 164 GrRenderTargetProxy::Make(caps, defaultFBO));
164 check_surface(reporter, rtProxy.get(), origin, 165 check_surface(reporter, rtProxy.get(), origin,
165 kWidthHeight, kWidthHeight, config); 166 kWidthHeight, kWidthHeight, config);
166 check_rendertarget(reporter, provider, rtProxy.get(), Sk BackingFit::kExact); 167 check_rendertarget(reporter, provider, rtProxy.get(), Sk BackingFit::kExact);
167 } 168 }
168 169
169 sk_sp<GrTexture> tex; 170 sk_sp<GrTexture> tex;
170 171
171 // Internal offscreen render target. 172 // Internal offscreen render target.
172 if (renderable) { 173 if (renderable) {
173 desc.fFlags = kRenderTarget_GrSurfaceFlag; 174 desc.fFlags = kRenderTarget_GrSurfaceFlag;
174 tex.reset(provider->createTexture(desc, budgeted)); 175 tex.reset(provider->createTexture(desc, budgeted));
175 sk_sp<GrRenderTarget> rt(sk_ref_sp(tex->asRenderTarget() )); 176 sk_sp<GrRenderTarget> rt(sk_ref_sp(tex->asRenderTarget() ));
176 SkASSERT(caps.maxWindowRectangles() <= 0 || 177 REPORTER_ASSERT(reporter,
177 rt->renderTargetPriv().supportsWindowRectangles( )); 178 caps.maxWindowRectangles() ==
179 rt->renderTargetPriv().maxWindowRectangl es());
178 180
179 sk_sp<GrRenderTargetProxy> rtProxy(GrRenderTargetProxy:: Make(caps, rt)); 181 sk_sp<GrRenderTargetProxy> rtProxy(GrRenderTargetProxy:: Make(caps, rt));
180 check_surface(reporter, rtProxy.get(), origin, 182 check_surface(reporter, rtProxy.get(), origin,
181 kWidthHeight, kWidthHeight, config); 183 kWidthHeight, kWidthHeight, config);
182 check_rendertarget(reporter, provider, rtProxy.get(), Sk BackingFit::kExact); 184 check_rendertarget(reporter, provider, rtProxy.get(), Sk BackingFit::kExact);
183 } 185 }
184 186
185 if (!tex) { 187 if (!tex) {
186 SkASSERT(kNone_GrSurfaceFlags == desc.fFlags ); 188 SkASSERT(kNone_GrSurfaceFlags == desc.fFlags );
187 desc.fSampleCnt = 0; 189 desc.fSampleCnt = 0;
188 tex.reset(provider->createTexture(desc, budgeted)); 190 tex.reset(provider->createTexture(desc, budgeted));
189 } 191 }
190 192
191 sk_sp<GrTextureProxy> texProxy(GrTextureProxy::Make(tex)); 193 sk_sp<GrTextureProxy> texProxy(GrTextureProxy::Make(tex));
192 check_surface(reporter, texProxy.get(), origin, 194 check_surface(reporter, texProxy.get(), origin,
193 kWidthHeight, kWidthHeight, config); 195 kWidthHeight, kWidthHeight, config);
194 check_texture(reporter, provider, texProxy.get(), SkBackingF it::kExact); 196 check_texture(reporter, provider, texProxy.get(), SkBackingF it::kExact);
195 } 197 }
196 } 198 }
197 } 199 }
198 } 200 }
199 } 201 }
200 202
201 #endif 203 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698