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

Unified Diff: src/gpu/gl/GrGLGpu.cpp

Issue 2254013002: Reduce window rectangles cap to 8 (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Reduce window rectangles cap to 8 Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/GrWindowRectangles.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/gl/GrGLGpu.cpp
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 3e44138328d884a36bfbad1e1820f3e0d6fa8aa4..83d2df29bfdb81a4c21540604a4c4d9dc1e55c58 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -2004,17 +2004,21 @@ void GrGLGpu::flushWindowRectangles(const GrWindowRectangles& windows, const GrG
if (!this->caps()->maxWindowRectangles() ||
fHWWindowRects.equal(rt->origin(), rt->getViewport(), windows)) {
return;
-
}
+ // This is purely a workaround for a spurious warning generated by gcc. Otherwise the above
+ // assert would be sufficient. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=5912
+ int numWindows = SkTMin(windows.count(), int(GrWindowRectangles::kMaxWindows));
+ SkASSERT(windows.count() == numWindows);
+
GrGLIRect glwindows[GrWindowRectangles::kMaxWindows];
const SkIRect* skwindows = windows.data();
- for (int i = 0; i < windows.count(); ++i) {
+ for (int i = 0; i < numWindows; ++i) {
glwindows[i].setRelativeTo(rt->getViewport(), skwindows[i], rt->origin());
}
GrGLenum glmode = (Mode::kExclusive == windows.mode()) ? GR_GL_EXCLUSIVE : GR_GL_INCLUSIVE;
- GL_CALL(WindowRectangles(glmode, windows.count(), glwindows->asInts()));
+ GL_CALL(WindowRectangles(glmode, numWindows, glwindows->asInts()));
fHWWindowRects.set(rt->origin(), rt->getViewport(), windows);
}
« no previous file with comments | « src/gpu/GrWindowRectangles.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698