aboutsummaryrefslogtreecommitdiff
path: root/gn
diff options
context:
space:
mode:
authorMichael Ludwig <michaelludwig@google.com>2019-01-04 14:51:40 +0000
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2019-01-04 14:51:48 +0000
commit23d8943e5b89468e196af61e8d0deed79e786719 (patch)
treef17596bb70b63ad4b1e5114eeb006d88ce880380 /gn
parenta9549ab31630fc244094e6f1692371cbaf87f666 (diff)
downloadskqp-23d8943e5b89468e196af61e8d0deed79e786719.tar.gz
Revert "Use specialized quad lists in rectangle ops"
This reverts commit 5820b0c3f3ceba23b9d80415e77a9db124b409b8. Reason for revert: Unanticipated gold image differences and performance regressions Original change's description: > Use specialized quad lists in rectangle ops > > Hopefully reduces memory footprint of GrFillRectOp and GrTextureOp > > The original rect code (GrAAFillRectOp) stored 2 SkMatrices (18 floats), 2 > SkRects (8 floats) an SkPMColor4f (4 floats) and a flag (1 int) for a total > of 124 bytes per quad that was stored in the op. > > The first pass at the rectangle consolidation switched to storing device and > local quads as GrPerspQuads (32 floats), an SkPMColor4f (4 floats) and a flag > (1 int) for a total of 148 bytes per quad. After landing, several memory > regressions appeared in Chrome and our perf monitor. > > Several intertwined approaches are taken here. First, GrPerspQuad no longer > caches 1/w, which makes a quad 12 floats instead of 16. Second, a specialized > list type is defined that allows storing the x, y, and extra metadata together > for quads, but keeps the w components separate. When the quad type isn't > perspective, w is not stored at all since it is implicitly 1 and can be > reconstituted at tessellation time. This brings the total per quad to either > 84 or 116 bytes, depending on if the op list needs perspective information. > > Bug: chromium:915025 > Bug: chromium:917242 > Change-Id: If37ee122847b0c32604bb45dc2a1326b544f9cf6 > Reviewed-on: https://skia-review.googlesource.com/c/180644 > Commit-Queue: Michael Ludwig <michaelludwig@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=robertphillips@google.com,csmartdalton@google.com,michaelludwig@google.com Change-Id: I6067b6c0e103d08787626a0a8eff753a0f0c97b6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:915025, chromium:917242 Reviewed-on: https://skia-review.googlesource.com/c/181167 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Diffstat (limited to 'gn')
-rw-r--r--gn/tests.gni1
1 files changed, 0 insertions, 1 deletions
diff --git a/gn/tests.gni b/gn/tests.gni
index 27a4448ff1..351efaee0b 100644
--- a/gn/tests.gni
+++ b/gn/tests.gni
@@ -101,7 +101,6 @@ tests_sources = [
"$_tests/GrOpListFlushTest.cpp",
"$_tests/GrPipelineDynamicStateTest.cpp",
"$_tests/GrPorterDuffTest.cpp",
- "$_tests/GrQuadListTest.cpp",
"$_tests/GrShapeTest.cpp",
"$_tests/GrSKSLPrettyPrintTest.cpp",
"$_tests/GrSurfaceTest.cpp",