Now that we can natively do 2D blits, it's time to invert the blitH() /
blitRect() who-implements-whom relationship. blitRect() is our more
fundamental blit.
Change-Id: Ia0ae4a3cd75c7bbfc7bd5b08ff429193ce09a73b
Reviewed-on: https://skia-review.googlesource.com/25361
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Also removes a reference to GrBackendTextureDesc in a comment and updates markdown docs.
Docs-Preview: https://skia.org/?cl=24861
Bug: skia:
Change-Id: Ic6490d5ef46953450e6dee69271397bb2b94d0d6
Reviewed-on: https://skia-review.googlesource.com/24861
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: Ia50661a8391da526d509adbe2d7203866c140b1c
Reviewed-on: https://skia-review.googlesource.com/25321
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Not yet thread safe (so it forces threading off).
Builds JSON on the fly, so overhead is certainly bad.
Plan to fix all of that, but this at least "works".
There is now one tracing flag: 'trace'.
- 'debugf' installs the SkDebugf tracer.
- 'atrace' installs the Android ATrace tracer.
- Any other value is interpreted as a filename, and
produces a JSON file for chrome://tracing.
All three modes work in DM, nanobench, and Viewer.
Bug: skia:
Change-Id: I3fbc22382b99418a508c670be2770195c0a1c364
Reviewed-on: https://skia-review.googlesource.com/24781
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
[√] convert all stages to use SkJumper_MemoryCtx / be 2d-compatible
[√] convert compile to 2d also, remove 1d run/compile
[√] convert all call sites
[√] no diffs
Change-Id: I3b806eb8fe0c3ec043359616409f7cd1211a1e43
Reviewed-on: https://skia-review.googlesource.com/24263
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
(reland of https://skia-review.googlesource.com/c/24283/)
The legacy clamp specialization is still faster, but for repeat and
mirror RP wins (at low color stop counts).
Change-Id: I97a77188e912239f31e94600021b469ce7c40797
Reviewed-on: https://skia-review.googlesource.com/24742
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Bug: skia:6870
Change-Id: Idd9a27518c1123c0a729b4d07461047f5530aae3
Reviewed-on: https://skia-review.googlesource.com/24960
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
This should avoid use of x18.
BUG=skia:6873
Change-Id: Iffafe0a48784b03942325517a999ad9bb44c1f99
Reviewed-on: https://skia-review.googlesource.com/25180
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ief012869b740bbfb947a77c91c4478a851f2517e
Reviewed-on: https://skia-review.googlesource.com/25062
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This is mostly dead code.
In order to make it truly dead, we need to opt drawing unpremul images
into SkRasterPipelineBlitter. They had been handled by
SkLinearBitmapPipeline, but can't be draw by SkBitmapProcLegacyShader.
Drawing unpremul images is tested by the GM all_variants_8888, which
gave us trouble last time around (serialize-8888 drew right, 8888 wrong)
but now draws fine. I think this was probably also the root of the
revert, drawing some unpremul image in Chrome's tests somewhere.
Change-Id: I453f9df44ade807316935921cbae82961e2f08aa
Reviewed-on: https://skia-review.googlesource.com/24862
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:6856
Change-Id: Iaaad2c22988cf8058304b7396c7d24eacd2f3edb
Reviewed-on: https://skia-review.googlesource.com/24745
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
- Handle alpha-only images with maskfilters
- No longer apply color-filter to alpha-only images (it should apply
to the paint color/shader composed with the alpha image instead).
- Alpha-only images without maskfilters do sub-pixel clipping.
- Non-alpha-only drawImages with maskfilters do sub-pixel clipping.
* Fixes `alpha_image` GM (output now matches GPU backend).
* Improves GMs `imagemasksubset` and `shadows`.
BUG=skia:6735
Change-Id: I62a82b4133ae0eb42d6315785bc3d2cb834bd352
Reviewed-on: https://skia-review.googlesource.com/24820
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
d17f6584df dropped flags and sampleCount,
and GrBackendTextureFlags itself. Drop these here to fix the Android
build.
Change-Id: I44e65b8eba79d8d2a9db9f64b2323f2ba006a8eb
Reviewed-on: https://skia-review.googlesource.com/24866
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Bug: skia:
Change-Id: If6f0d0a57463bf99a66d674e65a62ce3931d0116
Reviewed-on: https://skia-review.googlesource.com/24644
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: I3edbc50820af6414405a7d4810178e050234db0c
Reviewed-on: https://skia-review.googlesource.com/24743
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This allows alpha blending and also alpha shaders with color blended in.
fixes GMs: composeshader_alpha, composeshader_bitmap
Change-Id: I3ab9cbef216f7733798d2e29541b4211c627dab2
Reviewed-on: https://skia-review.googlesource.com/24760
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
GrPipelines are now created in GrOpFlushState's arena during GrOp::prepare() and cleaned up when the arena is destroyed.
Change-Id: I2cc4f03ce130bfb22e9d28bb3c22c485113d5d53
Reviewed-on: https://skia-review.googlesource.com/24681
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
These HWCAP_... values are defined in hwcap.h, but we don't get them
from there because some platforms have older hwcap.h that don't have
these bits named yet.
Even though we don't directly include hwcap.h, it seems it can get
itself included somehow on some platforms. That leads to a name
clash with the HWCAP_... #defines in there. To avoid it, rename them.
Change-Id: I70788b5e4072c307c6eee55d6f197c3b9a49f5dc
Reviewed-on: https://skia-review.googlesource.com/24408
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL
Bug: skia:
Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e
Reviewed-on: https://skia-review.googlesource.com/24780
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Instead of query and maxSampleCount and using that to cap, we now have
each config store its supported values and when requested returns either
the next highest or equal supported value, or if non the max config supported.
Bug: skia:
Change-Id: I8802d44c13b3b1703ee54a7e69b82102d4b8dc2d
Reviewed-on: https://skia-review.googlesource.com/24302
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Motivation: Content streams are marginally smaller and easier to read
(for debugging).
Change-Id: Idb82276f512408c083a1001da217707fd2d48e49
Reviewed-on: https://skia-review.googlesource.com/24744
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This is actually just needed for the infra repo, but that doesn't have
any of the mechanisms for creating assets, so it's simpler to do that
here.
NOTRY=true
Bug: skia:6866
Change-Id: I5d9810fc7440703090b55b13d06b39f92e85f172
Reviewed-on: https://skia-review.googlesource.com/24680
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Bug: skia:
Change-Id: I97af420d1c3270e24e5d0959237b8163faa9e069
Reviewed-on: https://skia-review.googlesource.com/24646
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
The legacy clamp specialization is still faster, but for repeat and
mirror RP wins (at low color stop counts).
Change-Id: Ifef3eb5b3111b3741d3a033310a4cdb58e592247
Reviewed-on: https://skia-review.googlesource.com/24283
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Also adds more trace events to GPU backend.
Change-Id: Ifa5f0cd4b1fd582f0cc30d37d9e6414dc498c75d
Reviewed-on: https://skia-review.googlesource.com/24622
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
raster-only
Bug: skia:
Change-Id: I3af19f031083c9cc258f73ba6a2f6020bb15f110
Reviewed-on: https://skia-review.googlesource.com/24400
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>