aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Fix race condition in GrGLCapsGravatar Robert Phillips2018-07-02
| | | | | | | | Bug: 854778 Change-Id: I3421360a8549e231f508f28d3945d81f811e66de Reviewed-on: https://skia-review.googlesource.com/138923 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove unused generateTextureProxyForParamsGravatar Brian Osman2018-07-02
| | | | | | | Change-Id: Ia599d8db0072b1f3629e05c5bd6bb6e7492cad28 Reviewed-on: https://skia-review.googlesource.com/138937 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Don't reject stroked empty rrects in GPU backendGravatar Robert Phillips2018-07-02
| | | | | | | | Bug: skia:8115 Change-Id: Icaedd332a77c530646e7c2a8687132d729c0ee76 Reviewed-on: https://skia-review.googlesource.com/138932 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Some scissor state cleanup."Gravatar Brian Salomon2018-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a219419c9d76432dca74494b611ff1f59086d139. Reason for revert: breaking things Original change's description: > Some scissor state cleanup. > > Separate flushing the enablement of scissor from the rect in GrGLGpu. > > Move GrPipeline::ScissorState to a global enum and use more broadly. > Rename to GrScissorTest to avoid name conflict with existing > GrScissorState. > > Change-Id: Ib32160b3300bc12de2d2e1761d152fd1bba8b683 > Reviewed-on: https://skia-review.googlesource.com/137395 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: If71a5c5efc86d4239b40675bad2a6cb1f77460f8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138900 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Some scissor state cleanup.Gravatar Brian Salomon2018-07-02
| | | | | | | | | | | | | Separate flushing the enablement of scissor from the rect in GrGLGpu. Move GrPipeline::ScissorState to a global enum and use more broadly. Rename to GrScissorTest to avoid name conflict with existing GrScissorState. Change-Id: Ib32160b3300bc12de2d2e1761d152fd1bba8b683 Reviewed-on: https://skia-review.googlesource.com/137395 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Add a runtime flag to enable ATRACEGravatar Stan Iliev2018-06-29
| | | | | | | | | | | | | Implement a runtime flag for android framework to enable systrace logging. To enable logging call SkATrace::setEnableTracing(true), instead of changing compile time flag SK_TRACE_EVENTS_IN_FRAMEWORK. Bug: skia: Change-Id: Ib4f607e001577a84e944042d799a98af8eb51626 Reviewed-on: https://skia-review.googlesource.com/138594 Commit-Queue: Stan Iliev <stani@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Don't use geometry shaders on older Adreno chipsGravatar Chris Dalton2018-06-29
| | | | | | | | | | | These appear to be implemented in software. The CCPR vertex impl is significantly faster. Bug: skia:8104 Change-Id: I711b2f805361303a10a6ffcb9c4d68e1c8fca249 Reviewed-on: https://skia-review.googlesource.com/138407 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove half float workaround in GrGLGpu::onReadPixelsGravatar Brian Osman2018-06-29
| | | | | | | | | | | To ensure that SwiftShader keeps working, always read back F16 as F32 on GL. Bug: skia: Change-Id: I0d4184a3e9072a6f4cbc7533ddda658ac76f7f84 Reviewed-on: https://skia-review.googlesource.com/138585 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Recycle cache entries when possible to avoid mallocGravatar Chris Dalton2018-06-29
| | | | | | | | Bug: skia: Change-Id: Id06098f66ad6399c11707f8380597e7eeb392eec Reviewed-on: https://skia-review.googlesource.com/138441 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* skeletal animation support added to API and software backendGravatar Ruiqi Mao2018-06-29
| | | | | | | | | | | | SkCanvas::drawVertices now supports overloads that take an array of bone deformation matrices. SkVertices::MakeCopy and SkVertices::Builder now support two additional optional attributes, boneIndices and boneWeights. Bug: skia: Change-Id: I30a3b11691e7cdb13924907cc1401ff86d127aea Reviewed-on: https://skia-review.googlesource.com/137221 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* update and skip accepts check in lexersGravatar Mike Klein2018-06-29
| | | | | | | | | | | | We think we're getting away with this because our tokens never go from legal to illegal to legal again, right? Change-Id: Iaaef797f7c4b487ba7b1d0e018846bd13086b34c Reviewed-on: https://skia-review.googlesource.com/138275 Auto-Submit: Mike Klein <mtklein@chromium.org> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Revert "GrTessellator: handle three consecutive collinear edges."Gravatar Mike Klein2018-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 26bb0e66f28c41cb1e8e39f00d848997fd33d97c. Reason for revert: segfaulty Here's a log with a stacktrace: https://chromium-swarm.appspot.com/task?id=3e658f7aa40dbb10&refresh=10 Original change's description: > GrTessellator: handle three consecutive collinear edges. > > In some cases, splitting may produce three consecutive edges which > are collinear. The first one was being merged out, causing the third > one to be missed. > > The fix is to switch the arguments to merge_edges_*, ensuring that the > second parameter (the destination edge) is never merged out. > > Bug: 851409. > Change-Id: I70fbbc506e97a26b259c1443b6d1787adec0f9b0 > Reviewed-on: https://skia-review.googlesource.com/138561 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=robertphillips@google.com,senorblanco@chromium.org Change-Id: I6ecfb4c487d6f96e9fae7b8b40d74162354ed57c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 851409. Reviewed-on: https://skia-review.googlesource.com/138640 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Fix chrome memory dump crashes using out of process strike cachesGravatar Adrienne Walker2018-06-29
| | | | | | | | | | | | | | | When using out of process raster in Chrome, it uses SkTypefaceProxy in the gpu process. When SkStrikeCache::DumpMemoryStatistics, this asserts on getFamilyName. Stub this function out to fix the issue. Punt for now on forwarding real family names to SkTypefaceProxy until somebody complains about it. Change-Id: Idbd870c4990e5725a97cfe3501f3943f8a83dea2 Reviewed-on: https://skia-review.googlesource.com/138602 Commit-Queue: Adrienne Walker <enne@chromium.org> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* GrTessellator: handle three consecutive collinear edges.Gravatar Stephen White2018-06-29
| | | | | | | | | | | | | | | In some cases, splitting may produce three consecutive edges which are collinear. The first one was being merged out, causing the third one to be missed. The fix is to switch the arguments to merge_edges_*, ensuring that the second parameter (the destination edge) is never merged out. Bug: 851409. Change-Id: I70fbbc506e97a26b259c1443b6d1787adec0f9b0 Reviewed-on: https://skia-review.googlesource.com/138561 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* fix fuzzer found timeoutGravatar Cary Clark2018-06-29
| | | | | | | | | | | | | | | curiously, test case ran fine with skia's fuzzer, but hung with ubsan chrome fuzzer. R=kjlubick@google.com Bug:858985 Change-Id: Ie747ba9b902a25e59330a084fbdd5246d9de4920 Reviewed-on: https://skia-review.googlesource.com/138520 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* added Metal support to GrBackendSurfaceGravatar Timothy Liang2018-06-29
| | | | | | | | | Bug: skia: Change-Id: I58c7307f41df4694b0b46014bedd681adefed265 Reviewed-on: https://skia-review.googlesource.com/137891 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Add ear-clipping code to triangulate simple polygons.Gravatar Jim Van Verth2018-06-29
| | | | | | | | | | Use this to fill concave shadows. Bug: skia:7971 Change-Id: I63dc1ed845f9fa3fcd86f1ad13b03da23cae0313 Reviewed-on: https://skia-review.googlesource.com/135200 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0db3a8846a4d05d55c36b7fa95fa6fbc1a6639cd. Reason for revert: fuchsia change reverted Original change's description: > Reland "Make GrVkBackendContext no longer derive from SkRefCnt." > > This reverts commit 059a9ab4bcd07a4bfdbfef333c27ef3d277e0e46. > > Reason for revert: Fix landed in Fuchsia > > Original change's description: > > Revert "Make GrVkBackendContext no longer derive from SkRefCnt." > > > > This reverts commit 93ae2337732bf206e6ef4faecc6b30c3881e8359. > > > > Reason for revert: <INSERT REASONING HERE> > > > > Original change's description: > > > Make GrVkBackendContext no longer derive from SkRefCnt. > > > > > > Also moves the helper Create functions to VkTestUtils since no clients > > > are using them anymore. > > > > > > Bug: skia: > > > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799 > > > Reviewed-on: https://skia-review.googlesource.com/135323 > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia: > > Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c > > Reviewed-on: https://skia-review.googlesource.com/137903 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526 > Reviewed-on: https://skia-review.googlesource.com/138181 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com Change-Id: I3f7bc4a5e4e09512fe165303685c123ec3527e58 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/138422 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Reland "Move Vulkan DebugCallback code into tools.""Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit be0ab883e796b190cd20a4b1cfaedea932f9e0bf. Reason for revert: fuchsia change reverted Original change's description: > Reland "Move Vulkan DebugCallback code into tools." > > This reverts commit 05d3fe3f100b794abe3f99a770734057960d7da5. > > Reason for revert: relanding after fuchsia fixes are in > > Original change's description: > > Revert "Move Vulkan DebugCallback code into tools." > > > > This reverts commit d4b2adeaa929edd1664754ac6621ec524992ef03. > > > > Reason for revert: Need to revert earlier changes cause of fucshia > > > > Original change's description: > > > Move Vulkan DebugCallback code into tools. > > > > > > Bug: skia: > > > Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465 > > > Reviewed-on: https://skia-review.googlesource.com/137424 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia: > > Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5 > > Reviewed-on: https://skia-review.googlesource.com/137902 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: Idb88f21018b9c0e23b62f0a5b12f0fab60373921 > Reviewed-on: https://skia-review.googlesource.com/138300 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com Change-Id: I40d5ba1067248066403f843c0739b885a2bfc834 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/138421 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Reland "Let client pass in full extension to GrVkBackendContext.""Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a782dcb3c407a7e30d7c1263bf9965792088e786. Reason for revert: fuchsia changes reverted Original change's description: > Reland "Let client pass in full extension to GrVkBackendContext." > > This reverts commit cb92b26e5ca6063bcf1a922109b8224e0b6eb4da. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Revert "Let client pass in full extension to GrVkBackendContext." > > > > This reverts commit 45c9dab4c3ec43cedb28d1b8c08e166fe0c2e767. > > > > Reason for revert: fucshia uses GrVkBackendContext. Need to revert earlier changes > > > > Original change's description: > > > Let client pass in full extension to GrVkBackendContext. > > > > > > Bug: skia: > > > Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f > > > Reviewed-on: https://skia-review.googlesource.com/131880 > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > Change-Id: I1a765ff406c83cb234c3614b804fbed677d5a382 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/137901 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: I0af797c51dde705473e9afaccb1d4b4423e8c41e > Reviewed-on: https://skia-review.googlesource.com/138302 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com Change-Id: Idf760d5ac6b82df33a4408079a0223be833058ad No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/138420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Reland "Let client pass in full extension to GrVkBackendContext."Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cb92b26e5ca6063bcf1a922109b8224e0b6eb4da. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Let client pass in full extension to GrVkBackendContext." > > This reverts commit 45c9dab4c3ec43cedb28d1b8c08e166fe0c2e767. > > Reason for revert: fucshia uses GrVkBackendContext. Need to revert earlier changes > > Original change's description: > > Let client pass in full extension to GrVkBackendContext. > > > > Bug: skia: > > Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f > > Reviewed-on: https://skia-review.googlesource.com/131880 > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > Change-Id: I1a765ff406c83cb234c3614b804fbed677d5a382 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/137901 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I0af797c51dde705473e9afaccb1d4b4423e8c41e Reviewed-on: https://skia-review.googlesource.com/138302 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* implemented getting format from texture as virtual in gpu capsGravatar Timothy Liang2018-06-28
| | | | | | | | | Bug: skia: Change-Id: If6bbbd212ff472ea322d2bbed61995fe7ba85df7 Reviewed-on: https://skia-review.googlesource.com/138240 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Reland "Move Vulkan DebugCallback code into tools."Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 05d3fe3f100b794abe3f99a770734057960d7da5. Reason for revert: relanding after fuchsia fixes are in Original change's description: > Revert "Move Vulkan DebugCallback code into tools." > > This reverts commit d4b2adeaa929edd1664754ac6621ec524992ef03. > > Reason for revert: Need to revert earlier changes cause of fucshia > > Original change's description: > > Move Vulkan DebugCallback code into tools. > > > > Bug: skia: > > Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465 > > Reviewed-on: https://skia-review.googlesource.com/137424 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5 > Reviewed-on: https://skia-review.googlesource.com/137902 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Idb88f21018b9c0e23b62f0a5b12f0fab60373921 Reviewed-on: https://skia-review.googlesource.com/138300 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Return to low-precision ovalsGravatar Jim Van Verth2018-06-28
| | | | | | | | Bug: skia: Change-Id: I3d4399f54ab73ecabf2cf646ea072c34d516fdde Reviewed-on: https://skia-review.googlesource.com/138268 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Adjust ellipse center epsilon further to fix dropoutsGravatar Jim Van Verth2018-06-28
| | | | | | | | Bug: skia: Change-Id: I93d754cdb7ad7f552d96fcbdf4137f2c699e3a55 Reviewed-on: https://skia-review.googlesource.com/138241 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Reland "Make GrVkBackendContext no longer derive from SkRefCnt."Gravatar Greg Daniel2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 059a9ab4bcd07a4bfdbfef333c27ef3d277e0e46. Reason for revert: Fix landed in Fuchsia Original change's description: > Revert "Make GrVkBackendContext no longer derive from SkRefCnt." > > This reverts commit 93ae2337732bf206e6ef4faecc6b30c3881e8359. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Make GrVkBackendContext no longer derive from SkRefCnt. > > > > Also moves the helper Create functions to VkTestUtils since no clients > > are using them anymore. > > > > Bug: skia: > > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799 > > Reviewed-on: https://skia-review.googlesource.com/135323 > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c > Reviewed-on: https://skia-review.googlesource.com/137903 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526 Reviewed-on: https://skia-review.googlesource.com/138181 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Return nullptr from readFlattenable when invalidGravatar Adrienne Walker2018-06-28
| | | | | | | | | | | | | | | | | | | | | | Currently, in SkReadBuffer::readFlattenable, if reading the sizeRecorded fails (or any previous read), then the read buffer is invalid and the size returns zero. In this bug, it calls SkLine2DPathEffect::CreateProc which never checks the validity of the readBuffer and returns a valid object. Because the read size also is zero, then unset but seemingly valid object gets returned to the caller. Other failure cases return nullptr when the readBuffer is invalid, so instead of making all procs handle this, just handle this at the end of readFlattenable. It'd be ideal if SkFlattenable::Deserialize could forward this error back to the caller, but this seems like a smaller fix. Bug: chromium: 854947 Change-Id: I26e4e90320c0d2c4efa191d301aa4ac7783eb476 Reviewed-on: https://skia-review.googlesource.com/138000 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* added TextureRenderTarget to Metal gpu backendGravatar Timothy Liang2018-06-28
| | | | | | | | Bug: skia: Change-Id: I5cacdb832deefe0f8d8460ff10b2216d5dec1ed7 Reviewed-on: https://skia-review.googlesource.com/137890 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Reland "Improve precision and speed of oval rendering."Gravatar Jim Van Verth2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cd2253d07f246b8da2f88cde39a6adab5e5021de. Reason for revert: Tweaks for Adreno. Original change's description: > Revert "Improve precision and speed of oval rendering." > > This reverts commit 551dc3e911438afb7c0ab28b1060a9480a4debd3. > > Reason for revert: Centers of ovals are dropping out on Adreno330 > > Original change's description: > > Improve precision and speed of oval rendering. > > > > Reduces computations, and fixes some issues with large ovals. > > > > Change-Id: I2a961f2115e4e5fcb756714dd7e45c7528ed679a > > Reviewed-on: https://skia-review.googlesource.com/136229 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Jim Van Verth <jvanverth@google.com> > > TBR=jvanverth@google.com,brianosman@google.com > > Change-Id: I704dcd591217f04cedb5b6c5c5ade3df928f8249 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/138040 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,brianosman@google.com Change-Id: I710b79376dfd75b718fd867b149b28faebd1946a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138180 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* cut SkMaskBlurFilter code size by about halfGravatar Mike Klein2018-06-28
| | | | | | | | | | | | | | | | | | | Replace the templated loaders with function pointers instead, like we do for the BlurX functions already, and favor A8. And let the compiler/build config decide all the inlining. A stripped, optimized ARM64 build goes from about 56K to about 26K. Speed on our mask blur benches (bench/BlurBench.cpp) on a Galaxy S9 is mixed: some slowdowns, some speedups. This seems to perform between the all-template version at head and all function-pointer version in PS2. Change-Id: Ia27d92c08ca68e0b44c89e8a77d7b6e7297239c4 Reviewed-on: https://skia-review.googlesource.com/137889 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GrTessellator: handle collinear final vertex.Gravatar Stephen White2018-06-28
| | | | | | | | | | | | If the last vertex in a contour is collinear with its neighbours, remove it (this edge case was missing). Otherwise, the simplify step may try to split it indefinitely. Bug: 851409 Change-Id: I7efa4e616cdc1508a73c7a9f3de9d3f571569af8 Reviewed-on: https://skia-review.googlesource.com/138106 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Revert "Temporary fix for SkImage_Lazy handling of color spaces""Gravatar Brian Osman2018-06-28
| | | | | | | | | | | | This reverts commit e269310a09646c7df63039392782a078cc5256c6. Now guarded to avoid breaking Chrome. Bug: skia: Change-Id: I5d98b227c0388a730ad9b5e2e77adbb27dd445b8 Reviewed-on: https://skia-review.googlesource.com/137894 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Remove drawTextBlob from device use drawGlyphRunList"Gravatar Robert Phillips2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e2e52e46ca63540d429656baeee48fd3a402be26. Reason for revert: See if this is blocking the Chrome roll Original change's description: > Remove drawTextBlob from device use drawGlyphRunList > > Convert all backends to use GlyphRunList instead of > text blobs. If the device did not originally implement > drawTextBlob it will be simulated by drawPosText on the > device. > > Other changes: > Change to using an origin from absolulte positioning. The GPU > code uses origin change to update blobs under translation. > > Change cluster to use const uint32_t instead of just > uint32_t. > > Add SkPaint to runs. > > The draw filter is hosted up to the canavas level and applied there. > > Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 > Reviewed-on: https://skia-review.googlesource.com/137224 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> > Reviewed-by: Hal Canary <halcanary@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com,reed@google.com,khushalsagar@chromium.org,khushalsagar@google.com Change-Id: I4d93a534990c89deee7d3aaa00ec40d47e0d2ece No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138120 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove drawTextBlob from device use drawGlyphRunListGravatar Herb Derby2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Convert all backends to use GlyphRunList instead of text blobs. If the device did not originally implement drawTextBlob it will be simulated by drawPosText on the device. Other changes: Change to using an origin from absolulte positioning. The GPU code uses origin change to update blobs under translation. Change cluster to use const uint32_t instead of just uint32_t. Add SkPaint to runs. The draw filter is hosted up to the canavas level and applied there. Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 Reviewed-on: https://skia-review.googlesource.com/137224 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Improve precision and speed of oval rendering."Gravatar Jim Van Verth2018-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 551dc3e911438afb7c0ab28b1060a9480a4debd3. Reason for revert: Centers of ovals are dropping out on Adreno330 Original change's description: > Improve precision and speed of oval rendering. > > Reduces computations, and fixes some issues with large ovals. > > Change-Id: I2a961f2115e4e5fcb756714dd7e45c7528ed679a > Reviewed-on: https://skia-review.googlesource.com/136229 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,brianosman@google.com Change-Id: I704dcd591217f04cedb5b6c5c5ade3df928f8249 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138040 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Improve precision and speed of oval rendering.Gravatar Jim Van Verth2018-06-27
| | | | | | | | | Reduces computations, and fixes some issues with large ovals. Change-Id: I2a961f2115e4e5fcb756714dd7e45c7528ed679a Reviewed-on: https://skia-review.googlesource.com/136229 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Switch createAlphaClipMask to use kTopLeftGravatar Robert Phillips2018-06-27
| | | | | | | | | | This makes createAlphaClipMask match createSoftwareClipMask Bug: 854875 Change-Id: I92a81f5025a19548c6225f39c84b2b2f87c53550 Reviewed-on: https://skia-review.googlesource.com/137888 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Revert "Make GrVkBackendContext no longer derive from SkRefCnt."Gravatar Greg Daniel2018-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93ae2337732bf206e6ef4faecc6b30c3881e8359. Reason for revert: <INSERT REASONING HERE> Original change's description: > Make GrVkBackendContext no longer derive from SkRefCnt. > > Also moves the helper Create functions to VkTestUtils since no clients > are using them anymore. > > Bug: skia: > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799 > Reviewed-on: https://skia-review.googlesource.com/135323 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c Reviewed-on: https://skia-review.googlesource.com/137903 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Implement SkFontMgr_FontConfigInterface::onMatchFamilyStyleGravatar Ben Wagner2018-06-27
| | | | | | | | | | | This allows for more uniformity of use, as well as allowing blink to avoid the legacy request cache needed by gfx. BUG=skia:8113 Change-Id: Ibde94c175410213e62de0910a94c50672f24c272 Reviewed-on: https://skia-review.googlesource.com/137885 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Move Vulkan DebugCallback code into tools."Gravatar Greg Daniel2018-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d4b2adeaa929edd1664754ac6621ec524992ef03. Reason for revert: Need to revert earlier changes cause of fucshia Original change's description: > Move Vulkan DebugCallback code into tools. > > Bug: skia: > Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465 > Reviewed-on: https://skia-review.googlesource.com/137424 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5 Reviewed-on: https://skia-review.googlesource.com/137902 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Let client pass in full extension to GrVkBackendContext."Gravatar Greg Daniel2018-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 45c9dab4c3ec43cedb28d1b8c08e166fe0c2e767. Reason for revert: fucshia uses GrVkBackendContext. Need to revert earlier changes Original change's description: > Let client pass in full extension to GrVkBackendContext. > > Bug: skia: > Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f > Reviewed-on: https://skia-review.googlesource.com/131880 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com Change-Id: I1a765ff406c83cb234c3614b804fbed677d5a382 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/137901 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Let client pass in full extension to GrVkBackendContext.Gravatar Greg Daniel2018-06-27
| | | | | | | | Bug: skia: Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f Reviewed-on: https://skia-review.googlesource.com/131880 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* gpu: Expose GrContextPriv::abandoned in the public API.Gravatar Khushal2018-06-27
| | | | | | | | | | TBR=bsalomon@google.com Bug: 854416 Change-Id: Iab71ca6e4724a925b0b9791267aac5ddc34f5b15 Reviewed-on: https://skia-review.googlesource.com/137692 Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* ccpr: Add a context option to disable ccprGravatar Chris Dalton2018-06-27
| | | | | | | | | | TBR=bsalomon@google.com Bug: skia:856404 Change-Id: Icc6f3d1e7ef97f1853427a3b1cdd405961e6ac26 Reviewed-on: https://skia-review.googlesource.com/137763 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix some shadow issues.Gravatar Jim Van Verth2018-06-26
| | | | | | | | | | | | | | | | * Clamp path polygon points to nearest 1/16th of a pixel to help with floating point issues. * Added check for multiple contour paths. * Return empty SkVertices for certain degenerate cases to avoid unnecessary blurs. * Check iteration count in SkOffsetPolygon to avoid infinite loops. * Add new tests to verify these. Bug: skia: Change-Id: Ie6ad48d2504e065dcc822609d369f90c56ef3ad3 Reviewed-on: https://skia-review.googlesource.com/136701 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Handle F32 in lazy imageGravatar Brian Osman2018-06-26
| | | | | | | | | Bug: skia: Change-Id: Idec8259b48733830790a3957b41d204835d7be02 Reviewed-on: https://skia-review.googlesource.com/137705 Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Temporary fix for SkImage_Lazy handling of color spaces"Gravatar Brian Osman2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 439b99451445a9d61f0670bbe3f588f5b08f59fa. Reason for revert: Chrome tests failing. Original change's description: > Temporary fix for SkImage_Lazy handling of color spaces > > The aim is to always decode in the generator's color space, > with nonlinear blending. Eventually, we want to decode into > the destination color space, but that requires changing API > and caching flow. For now, this prevents linear premul when > decoding, and stops decoding to formats like F16 and sBGRA. > > Bug: skia: > Change-Id: I9efd909fa6a56df2547ad5955f109e113527f815 > Reviewed-on: https://skia-review.googlesource.com/136791 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,brianosman@google.com Change-Id: Ie15c585b69e4309c090c8aafbe3c2d20191caa4d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/137720 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* basic first pass at RGBA F32 supportGravatar Mike Klein2018-06-26
| | | | | | | | | | | | | Draws basically the same as f16. The existing load_f32, load_f32_dst, and store_f32 stages all had the same bug that we'd never noticed because dy was always 0 until now. Change-Id: Ibbd393fa1acc5df414be4cdef0f5a9d11dcccdb3 Reviewed-on: https://skia-review.googlesource.com/137585 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove Vulkan code that supported creating a GrVkRenderTarget.Gravatar Greg Daniel2018-06-26
| | | | | | | | | | | We never create a pure RenderTarget. If we are creating a RT it is always a TexRT. The only pure RTs are wrapped. Bug: skia: Change-Id: If95d17d244e78c986ed6c63822d4b936ff67b88a Reviewed-on: https://skia-review.googlesource.com/137700 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Fix some static intializers in Vulkan code.Gravatar Greg Daniel2018-06-26
| | | | | | | | | Bug: skia: Change-Id: Ia5160376ff456874459430e51c2f57acdb1a4de1 Reviewed-on: https://skia-review.googlesource.com/137584 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Chris Blume <cblume@chromium.org> Commit-Queue: Greg Daniel <egdaniel@google.com>