aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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 "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>
* 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>
* 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>
* Refactor GrPipeline dynamic state.Gravatar Brian Salomon2018-06-26
| | | | | | | | | | | | | | | | | Remove scissor rect from GrPipeline. Draws can specify "fixed dynamic state" which doesn't use the dynamism at all or can specify dynamic state arrays with an entry per GrMesh. When we state other than scissor rects this will allow the caller to use a mix of truly dynamic and fixed dynamic state. So a caller that only has dynamic scissor rects doesn't need to store its remaining unvarying state in an array. Change-Id: I8fcc07eb600c72a26cc712b185755c2116021a8a Reviewed-on: https://skia-review.googlesource.com/137223 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix instantiation of partially lazy proxiesGravatar Robert Phillips2018-06-26
| | | | | | | Change-Id: I941333711966da109583a3a72ab3464363285b84 Reviewed-on: https://skia-review.googlesource.com/137580 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move Vulkan DebugCallback code into tools.Gravatar Greg Daniel2018-06-26
| | | | | | | | 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>
* Put GrPrimitiveProcessor/GrGeometryProcessor before GrPipeline in param lists.Gravatar Brian Salomon2018-06-25
| | | | | | | | | | | We were inconsistent about which order these were in. Having the processor first will make the parameter order more logical for an upcoming change. Also, the primitive processor comes logically before the pipeline. Change-Id: I3968c5e4e6dff01f9c4ad311eb1795b3c7580ff5 Reviewed-on: https://skia-review.googlesource.com/137228 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GrVkBackendContext no longer derive from SkRefCnt.Gravatar Greg Daniel2018-06-25
| | | | | | | | | | | | 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>
* ccpr: Blacklist PowerVR Rogue in GLGravatar Chris Dalton2018-06-25
| | | | | | | | Bug: skia: Change-Id: Icba3de2eabc24840ae6917e0eeaa279788397653 Reviewed-on: https://skia-review.googlesource.com/137341 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix abandonment of programsGravatar Robert Phillips2018-06-25
| | | | | | | | | | Bug: skia:8092 TBR=bsalomon@google.com Change-Id: If9cf4ed9f8ded4b7fbb58a244ec0b179b8430ca2 Reviewed-on: https://skia-review.googlesource.com/137121 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* ccpr: Enable ccpr by defaultGravatar Chris Dalton2018-06-25
| | | | | | | | | | | | | | | | | | | Now that the path cache is implemented, we can use ccpr everywhere. Modifies ccpr to not cache unless the "fAllowPathMaskCaching" context option is enabled. Adds a small condition to skip complicated paths with more vertices than pixels, simply so we don't regress a couple testcases. Updates skpbench to do three draws before starting the timer, in order to prime the cache. Bug: skia: Change-Id: Ic3a0a2bdad8a22ff6431e77fa4da2b54d6bb9aba Reviewed-on: https://skia-review.googlesource.com/137207 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Cache paths with >=50% visibilityGravatar Chris Dalton2018-06-22
| | | | | | | | | | | | | Adds a hit count to cache entries. Paths now don't get stashed until their second hit (and cached on their third). Mostly-visible, cachable paths render their entire mask on the second hit, in hopes that we will be able to cache them alongside the fully visible ones. Bug: skia: Change-Id: Idd18f5dc3090f13531f630d229f4808198695fea Reviewed-on: https://skia-review.googlesource.com/136541 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Recycle the stashed atlas's texture explicitlyGravatar Chris Dalton2018-06-22
| | | | | | | | | | This solution is more future-proof. Bug: skia: Change-Id: Ifa437a511336282d73befddea2656f3fcdb3f2ef Reviewed-on: https://skia-review.googlesource.com/136964 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* GrTessellator: avoid split with zero primary and out-of-range secondary.Gravatar Stephen White2018-06-22
| | | | | | | | | | | | | | Sometimes the intersector will return an intersection which is on the same primary sort criterion (eg., Y coordinate), but out-of-range on the secondary. We shouldn't do splits in this case. The only case we really care about is if it's less than one epsilon and greater than zero, and thus numerically unsplittable. Bug: 851914 Change-Id: Ia772763b6a66a14ca159cf409a832835244e83bc Reviewed-on: https://skia-review.googlesource.com/136803 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Alternative fix for stale MIP maps on texture export/import.Gravatar Brian Salomon2018-06-21
| | | | | | | | | | | | | | | | | This change assumes imported textures in SkImages have dirty mip levels and disables regenerating the MIP levels on export (added in https://skia.googlesource.com/skia/+/930f939c48af1be6005af12bb6f709ca5da9d118). This is being done temporarily because it is a simpler change to cherry pick to earlier branches than https://skia.googlesource.com/skia/+/930f939c48af1be6005af12bb6f709ca5da9d118 Bug: chromium:850617 Change-Id: I7c90da782a0ed9014acd6a54ffdee1a0b34fa00c Reviewed-on: https://skia-review.googlesource.com/136788 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Fix vulkan copy resolve.Gravatar Greg Daniel2018-06-21
| | | | | | | | Bug: skia: Change-Id: I4ea72e05ddf307f1fff042fa5f5ddda019129566 Reviewed-on: https://skia-review.googlesource.com/136243 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Switch to swap in moveOpListsToDDL for SkTArrayGravatar Robert Phillips2018-06-21
| | | | | | | Change-Id: Ibbed299b339208835302544891748c4ae40b28b7 Reviewed-on: https://skia-review.googlesource.com/136591 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Ensure that textures exported via SkImage::MakeBackendTextureFromSkImageGravatar Brian Salomon2018-06-20
| | | | | | | | | | | have consistent content in their mip map levels. Bug= chromium:850617 Change-Id: I3ad918aa453bd8e4e625eb145de6ba2a5dab7b0c Reviewed-on: https://skia-review.googlesource.com/136230 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>