aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Invalidate path VBs when paths are destroyedGravatar Brian Osman2017-09-26
| | | | | | | | | | | | | | | | | | | For this to work, we need access to the "original" path, before any style was applied. To that end, add an original path to GrShape (and unit tests of that functionality). Then add a version of addGenIDChangeListener to GrShape, that propagates to the original path, and use that in tessellating path renderer. Includes unit tests of caching behavior in the PR, all of which failed without this change. Bug: skia: Change-Id: I98bb505f521e8ff07184f5c3fbd3c5fd1a22d3d5 Reviewed-on: https://skia-review.googlesource.com/50300 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add animated cowboy sample from WebKit tests, and fix.Gravatar Jim Van Verth2017-09-25
| | | | | | | | Bug: chromium:712455 Change-Id: Ic9bb9b862abe01f112cc41d28589733460b15bc1 Reviewed-on: https://skia-review.googlesource.com/50181 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove unneeded kExact and kNoCreate Flags from GrResouceProviderGravatar Greg Daniel2017-09-25
| | | | | | | | | | This is change 1 of 3 to reland, https://skia-review.googlesource.com/c/skia/+/42083 Bug: skia: Change-Id: Ia0369fc67807e369c2e90220f5824da7164a230a Reviewed-on: https://skia-review.googlesource.com/44461 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove unused function with an incorrect assertGravatar Brian Osman2017-09-22
| | | | | | | | Bug: skia: Change-Id: I4003085fbb1cadc4aeb2e950f1a9f44f96d03a93 Reviewed-on: https://skia-review.googlesource.com/50240 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Shrink GrDrawOpAtlases when no longer needed"Gravatar Jim Van Verth2017-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7cf59526c9b1ab3682e875d449200e51f3b6ff32. Reason for revert: Red red bots... it's tearing me apart... Original change's description: > Shrink GrDrawOpAtlases when no longer needed > > Bug: skia:3550 > Change-Id: I7b09aa2b0fd22ed99694f32f9f395392ef80e238 > Reviewed-on: https://skia-review.googlesource.com/49901 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I8331ec79b0796e1f75d7cc53b9753f886aea7fcd No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/50220 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Shrink GrDrawOpAtlases when no longer neededGravatar Jim Van Verth2017-09-22
| | | | | | | | | Bug: skia:3550 Change-Id: I7b09aa2b0fd22ed99694f32f9f395392ef80e238 Reviewed-on: https://skia-review.googlesource.com/49901 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use clear-as-draw workaround on Ivy Bridge/ANGLE D3D11.Gravatar Brian Salomon2017-09-22
| | | | | | | | Bug: chromium:755871 Change-Id: Id2538406c75d86de994ff88cc0bfc17d2cb45394 Reviewed-on: https://skia-review.googlesource.com/50040 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* switched SkSL's temporary 'highfloat' type back to 'float'Gravatar Ethan Nicholas2017-09-22
| | | | | | | | Bug: skia: Change-Id: If0debae7318b6b5b4a7cb85d458996a09931127e Reviewed-on: https://skia-review.googlesource.com/48760 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Temporary patch for Mac TSAN bot (with threaded Ganesh mask generation)Gravatar Robert Phillips2017-09-21
| | | | | | | | Change-Id: Id84e1534b00583eb2d76699386f42277d2007602 Reviewed-on: https://skia-review.googlesource.com/49900 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Guard resource provider path creation methods against abandoned contextGravatar Robert Phillips2017-09-21
| | | | | | | Change-Id: Idb447352d1c39b14137e8bb5af4f3c8fd7378750 Reviewed-on: https://skia-review.googlesource.com/49767 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Don't call GrBuffer::map() in createPatternedIndexBuffer.Gravatar Mike Klein2017-09-21
| | | | | | | | | | | | | | | TSAN doesn't seem to be understanding that the memory coming back from GrBuffer::map() is a new allocation. Using AnnotateNewMemory() to tell TSAN didn't seem to help. This also appears to fix a memory leak if buffer->updateData() fails when useTempData was true. Not sure if that ever really happens? Bug: skia:7058 Change-Id: I0a2786fa2c59e14c322ec5acc8cd26436c5a9477 Reviewed-on: https://skia-review.googlesource.com/49743 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix wrap mode asserts in GrVkSampler::GenerateKeyGravatar Brian Salomon2017-09-21
| | | | | | | | | Samplers now use their own enum rather than SkShader::TileMode. Change-Id: I25324f7905a3c22fcd3699d6a0f778befa8c32da Reviewed-on: https://skia-review.googlesource.com/49764 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove pre-attachment of stencil buffersGravatar Robert Phillips2017-09-21
| | | | | | | Change-Id: I4ef555a2b36cf3a0ec74e0ecf7e8ab4f8779df3e Reviewed-on: https://skia-review.googlesource.com/49740 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add native caching of uniquely keyed GrTextureProxies (take 2)Gravatar Robert Phillips2017-09-21
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I590dcdc85fb60706c7eb06277694791dc04c9141 Reviewed-on: https://skia-review.googlesource.com/49543 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Add native caching of uniquely keyed GrTextureProxies"Gravatar Robert Phillips2017-09-20
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d4f100dad90ed5beb1b614464d8c4fcb22c0a993. Reason for revert: ASAN Original change's description: > Add native caching of uniquely keyed GrTextureProxies > > Change-Id: I303fe025b7856b8d681a2d35b416c015bd468e1d > Reviewed-on: https://skia-review.googlesource.com/48300 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I7bbf549d4855ce6d985867c3880eef80080bd3d1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/49442 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add native caching of uniquely keyed GrTextureProxiesGravatar Robert Phillips2017-09-20
| | | | | | | Change-Id: I303fe025b7856b8d681a2d35b416c015bd468e1d Reviewed-on: https://skia-review.googlesource.com/48300 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Avoid using glUnmapBufferOES with ES3Gravatar Brian Osman2017-09-20
| | | | | | | | | | | | As reported in https://github.com/flutter/flutter/issues/10617#issuecomment-330935921, we were mixing ES2 and ES3 API. This makes our interface assembly code directly parallel our caps code. Bug: skia: Change-Id: I91c0696a223f7eaf27641dbe16ab451b0bdc362c Reviewed-on: https://skia-review.googlesource.com/49440 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix TSAN issue with atlas expansion.Gravatar Jim Van Verth2017-09-20
| | | | | | | | | | | Removes SkString-related malloc from DM crash handler, and adds null check in ProxyRefTest. Bug: skia:3550 Change-Id: I143c532b5d231a426b1a96b854e1effd6379b673 Reviewed-on: https://skia-review.googlesource.com/48440 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Use shader based blending to clamp kPlus mode w/F16Gravatar Brian Osman2017-09-20
| | | | | | | | Bug: skia:6173 Change-Id: I21042d484d9a7b3eee04aa3301d9793d00ad6908 Reviewed-on: https://skia-review.googlesource.com/48183 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* CCPR: Process corners analyticallyGravatar Chris Dalton2017-09-20
| | | | | | | | | | | | | | Replaces the sampling-based corner approximation with a faster, smoother analytic one. The new version also only looks at the two incoming edges rather than considering the entire triangle. This paves the way for fanning with more efficient, larger polygons instead of just triangles. Bug: skia:6993 Change-Id: Ia5ab9a4ccadfba72759d52ce5e6a9cc719294459 Reviewed-on: https://skia-review.googlesource.com/48341 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* re-land of new SkSL precisionsGravatar Ethan Nicholas2017-09-18
| | | | | | | | Bug: skia: Change-Id: Ic1deb3db2cbda6ca45f93dee99832971a36a2119 Reviewed-on: https://skia-review.googlesource.com/47841 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Temporarily disable atlas growth.Gravatar Jim Van Verth2017-09-18
| | | | | | | Change-Id: I01341f3233969225b846ee081e78868ebcf0a1c1 Reviewed-on: https://skia-review.googlesource.com/48040 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Allow GrDrawOpAtlas to grow as needed""Gravatar Jim Van Verth2017-09-18
| | | | | | | | Bug: skia:3550 Change-Id: I11a3b39ed7470542447f0e46141a26eef7a9bdaf Reviewed-on: https://skia-review.googlesource.com/47240 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Revert "Switched highp float to highfloat and mediump float ↵Gravatar Ethan Nicholas2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to half.""" This reverts commit 05d5a13fea6246648de7e41358ed338d53c85ea2. Reason for revert: looks like it broke filterfastbounds Original change's description: > Revert "Revert "Switched highp float to highfloat and mediump float to half."" > > This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. > > Bug: skia: > Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 > Reviewed-on: https://skia-review.googlesource.com/46464 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Iddf6aef2ab084aa73da7ceebdfc303a1d2b80cde Reviewed-on: https://skia-review.googlesource.com/47441 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Minor fixes to SkSL precisions"Gravatar Ethan Nicholas2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9752c3c3079140d7dbcf1fb2feb513f1e139a03a. Reason for revert: prerequisite to reverting 05d5a13fea6246648de7e41358ed338d53c85ea2 Original change's description: > Minor fixes to SkSL precisions > > No-Presubmit: true > No-Tree-Checks: true > Bug: skia: > Change-Id: Ife95d3ba457f79c00bf4fdd54af898a3a50402aa > Reviewed-on: https://skia-review.googlesource.com/47241 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Ib1ef28bc94263154e54c01fd172d83ee48a797a8 Reviewed-on: https://skia-review.googlesource.com/47720 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "fix for uninitialized GrGLSLFragmentShaderBuilder field"Gravatar Ethan Nicholas2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4543e75a840ef24c33237d329ab8f0d84632e3f2. Reason for revert: prequisite to reverting 05d5a13fea6246648de7e41358ed338d53c85ea2 Original change's description: > fix for uninitialized GrGLSLFragmentShaderBuilder field > > Bug: skia: > Change-Id: I5041c96528910d24978a5c2578efa29d6a89a343 > Reviewed-on: https://skia-review.googlesource.com/46982 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Stephan Altmueller <stephana@google.com> > Reviewed-by: Stephan Altmueller <stephana@google.com> TBR=stephana@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Iaad1453725964f018aa47d8dd2df5c2f7aa3272a Reviewed-on: https://skia-review.googlesource.com/47721 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Minor fixes to SkSL precisionsGravatar Ethan Nicholas2017-09-15
| | | | | | | | | | No-Presubmit: true No-Tree-Checks: true Bug: skia: Change-Id: Ife95d3ba457f79c00bf4fdd54af898a3a50402aa Reviewed-on: https://skia-review.googlesource.com/47241 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* fix for uninitialized GrGLSLFragmentShaderBuilder fieldGravatar Ethan Nicholas2017-09-15
| | | | | | | | | Bug: skia: Change-Id: I5041c96528910d24978a5c2578efa29d6a89a343 Reviewed-on: https://skia-review.googlesource.com/46982 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Stephan Altmueller <stephana@google.com> Reviewed-by: Stephan Altmueller <stephana@google.com>
* Revert "Revert "Switched highp float to highfloat and mediump float to half.""Gravatar Ethan Nicholas2017-09-15
| | | | | | | | | | This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. Bug: skia: Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 Reviewed-on: https://skia-review.googlesource.com/46464 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Allow GrDrawOpAtlas to grow as needed"Gravatar Jim Van Verth2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 03168b8a62a0d3d14b7a0d14642df4d82203b87c. Reason for revert: Assert in resetting texture proxies. Original change's description: > Allow GrDrawOpAtlas to grow as needed > > Bug: skia:3550 > Change-Id: Ib5312c8c06ba8549d90545658df6686c45058255 > Reviewed-on: https://skia-review.googlesource.com/45841 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,robertphillips@google.com Change-Id: I05e084b4cefa57e558f296d6087d4f03fa16ac81 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/47140 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Disable flat interpolation in TextureOp on QualcommGravatar Brian Salomon2017-09-15
| | | | | | | | Change-Id: I335fa9731cbf449989242f7e81096248abc90e90 Reviewed-on: https://skia-review.googlesource.com/46980 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Allow GrDrawOpAtlas to grow as neededGravatar Jim Van Verth2017-09-15
| | | | | | | | Bug: skia:3550 Change-Id: Ib5312c8c06ba8549d90545658df6686c45058255 Reviewed-on: https://skia-review.googlesource.com/45841 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* make most of SkColorPriv.h privateGravatar Cary Clark2017-09-15
| | | | | | | | | | | | | created new file src/core/SkColorData.h for internal consumption. Note that many of the functions there are unused as well. Bug: skia: 6898 R: reed@google.com Change-Id: I25bfd5a9c21f53558c4ca65a77eb5d322d897c6d Reviewed-on: https://skia-review.googlesource.com/46848 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Revert "Pre-allocate some opList dependency list storage""Gravatar Robert Phillips2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1cdbad0e3b0af82cc064764e2a599651729fc8a3. Reason for revert: It seems unlikely it was this CL Original change's description: > Revert "Pre-allocate some opList dependency list storage" > > This reverts commit 51066f4dc2c4905e8c6691908025dbef5f85c5b6. > > Reason for revert: See if this is causing the TSAN failure > > Original change's description: > > Pre-allocate some opList dependency list storage > > > > There is a perf regression (mainly on the Nexus5) for the https://skia-review.googlesource.com/c/skia/+/46200 (Add method to iterate over a GrOp's GrSurfaceProxies) > > > > This is another candidate. > > > > Change-Id: I276ea44d899166a7d2e74f461f5a6c2c17a21cde > > Reviewed-on: https://skia-review.googlesource.com/46561 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > TBR=robertphillips@google.com,brianosman@google.com > > Change-Id: I83dea2921475e3554943178c9c441fdfb1af1c97 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/46842 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=robertphillips@google.com,brianosman@google.com Change-Id: I88caaddc8af321ac545b5d70bcc21cd0158c8614 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/46605 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Pre-allocate some opList dependency list storage"Gravatar Robert Phillips2017-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 51066f4dc2c4905e8c6691908025dbef5f85c5b6. Reason for revert: See if this is causing the TSAN failure Original change's description: > Pre-allocate some opList dependency list storage > > There is a perf regression (mainly on the Nexus5) for the https://skia-review.googlesource.com/c/skia/+/46200 (Add method to iterate over a GrOp's GrSurfaceProxies) > > This is another candidate. > > Change-Id: I276ea44d899166a7d2e74f461f5a6c2c17a21cde > Reviewed-on: https://skia-review.googlesource.com/46561 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=robertphillips@google.com,brianosman@google.com Change-Id: I83dea2921475e3554943178c9c441fdfb1af1c97 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/46842 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Pre-allocate some opList dependency list storageGravatar Robert Phillips2017-09-14
| | | | | | | | | | | There is a perf regression (mainly on the Nexus5) for the https://skia-review.googlesource.com/c/skia/+/46200 (Add method to iterate over a GrOp's GrSurfaceProxies) This is another candidate. Change-Id: I276ea44d899166a7d2e74f461f5a6c2c17a21cde Reviewed-on: https://skia-review.googlesource.com/46561 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove unnecessary code in SkGpuDevice::drawRRectGravatar Brian Osman2017-09-14
| | | | | | | | Bug: skia: Change-Id: Ied1e4bd89305695957faa2328e363304beb90a21 Reviewed-on: https://skia-review.googlesource.com/46840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Change visitProxies signatureGravatar Robert Phillips2017-09-14
| | | | | | | | | | | There is a perf regression (mainly on the Nexus5) for the https://skia-review.googlesource.com/c/skia/+/46200 (Add method to iterate over a GrOp's GrSurfaceProxies) This is one candidate. Change-Id: I995d3a88bad2a914f24b49512abbf01aeaf579c8 Reviewed-on: https://skia-review.googlesource.com/46586 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove unused GPU RGB to YUV codeGravatar Brian Osman2017-09-14
| | | | | | | | Bug: skia: Change-Id: I2e164ef1d7de05e6e1eb1b7d7d4d3efeb785dd43 Reviewed-on: https://skia-review.googlesource.com/46562 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Land scaffolding for explicit MDB resource allocationGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: I1cb30b50068e99181788181683e82e2421d0038a Reviewed-on: https://skia-review.googlesource.com/46701 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove invalid SkRRect asserts in GrShapeGravatar Brian Osman2017-09-14
| | | | | | | | | | | Due to floating point math, it's possible to add a round-rect to a path, then pull it back out and have the type change. Bug: skia:7037 Change-Id: I071b77378da08b873ff9d68fdac2373370faa71c Reviewed-on: https://skia-review.googlesource.com/46585 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Make GrCopySurfaceOp participate in the GrOplist DAGGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: Ic72884c8447ad950a91a2afe9566dd5a92dd6f11 Reviewed-on: https://skia-review.googlesource.com/46582 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Finish restoring GrOpList DAGGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: I2a674ce7442a444a78a53144279e88ba744eaf48 Reviewed-on: https://skia-review.googlesource.com/46462 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Pull non-substantive changes out of explicit GPU resource allocation CLGravatar Robert Phillips2017-09-13
| | | | | | | Change-Id: Ib6a289553ecd15c722599b7dc0d347a7800801cb Reviewed-on: https://skia-review.googlesource.com/46284 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add method to iterate over a GrOp's GrSurfaceProxiesGravatar Robert Phillips2017-09-13
| | | | | | | | | The extra generality of having a std::function is for MDB reordering. In the current MDB reordering world there is one pass through the surfaceProxies at creation time and a second pass after flush to create the usage intervals. Change-Id: I3f548417eddc1dad7503d919241301e404255ffe Reviewed-on: https://skia-review.googlesource.com/46200 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Adjust GPU YUV -> RGB (JPG) conversionGravatar Brian Osman2017-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | All of the published coefficients assume math is being done on bytes, and that 128 is the encoding of 0 (in the biased Cb and Cr values). When sampling an A8 texture, though, GPUs typically decode as byte/255. Thus, 128 ends up slightly larger than 0.5. To fix this, just adjust the bias terms to be scaled by 128/255, rather than 0.5. I also changed some of the other coefficients to be higher precision, based on the values in ITU-T T.871. This originally surfaced as a Chromium bug where an all-black JPG decoded to (1/255, 0, 1/255) on GPU. I've added a GM that encodes a color cube to JPG, then draws from the encoded data. GPU and CPU (libjpeg) still disagree in many cases, but the newer version performs much better (diffing gl and 8888 configs): Previously: 95.2% of pixels differ, max diff of 2, avg diff of 1 Now : 65.4% of pixels differ, max diff of 1, avg diff of 0 Bug: skia:7038 chromium:763605 Change-Id: I4801db9f6e2fc4d4109eb5e27c9499f214084d38 Reviewed-on: https://skia-review.googlesource.com/45842 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Improve heuristics for when to use ccprGravatar Chris Dalton2017-09-12
| | | | | | | | | | | | | Gives the convex and tessellating renderers first claim on larger paths, and the distance field renderer first claim on complex, non-volatile paths. This also requires plumbing the clip bounds through GrPathRenderer::CanDrawPathArgs. Bug: skia: Change-Id: I16e1d35ad5ee63251e33f113b1579cbba60456da Reviewed-on: https://skia-review.googlesource.com/42224 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Minor cleanups for CCPRGravatar Chris Dalton2017-09-12
| | | | | | | | Bug: skia: Change-Id: Ic4838f0e242ded0c3d0cb5c86715ed67d8152f5c Reviewed-on: https://skia-review.googlesource.com/44520 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add support for additional textures in GrDrawOpAtlasGravatar Jim Van Verth2017-09-12
| | | | | | | | | | Step two in supporting growable/shrinkable atlases. Bug: skia:3550 Change-Id: I0cdec2a9f59cc8ced071bfeec2f8ed5a228c4b7a Reviewed-on: https://skia-review.googlesource.com/43260 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove repeated conditional in TextureOp.Gravatar Brian Salomon2017-09-11
| | | | | | | Change-Id: I57ef380202183580a953dec2617c8210ccab8927 Reviewed-on: https://skia-review.googlesource.com/45160 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>