| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ANGLE is using the wrong external type (GL_HALF_FLOAT) when querying for
ReadPixels format, but it validates parameters to TexImage2D against the
correct type (GL_HALF_FLOAT_OES). Rather than introduce a lot of
complexity to work around the inconsistency, I'm just going to remove
support for now.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288233002
Review-Url: https://codereview.chromium.org/2288233002
|
|
|
|
|
|
|
|
| |
TBR=reed@google.com
BUG=641478
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2283993002
Review-Url: https://codereview.chromium.org/2283993002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of mapping invaid glyphIDs to zero or maxGlyphID,
don't draw them at all.
Validate glyphs when glyph is written, not ahead of time.
Don't allocate array to copy user-provided glyphs.
Easy early exit from SkPDFDevice::internalDrawText()
GlyphPositioner::flush() called ~GlyphPositioner()
SkScopeExit class now exists.
Assume SkTypeface* pointers are now never null in more
places.
precalculate alignmentFactor to clean up code.
SkPDFDevice::updateFont must be called with validated
glyphID. Skip bad glyphs to make this true.
SkPDFDevice::updateFont always succeeds.
SkPDFFont::GetFontResource always succeeds (preconditions are
asserted). If GetMetrics fails, don't call GetFontResource.
SkPDFFont::glyphsToPDFFontEncodingCount() becomes
SkPDFFont::countStretch() and is inlined.
SkPDFFont::glyphsToPDFFontEncoding now works one Glyph at a
time and is inlined.
SkPDFFont::noteGlyphUsage() operates one glyph at a time.
Add SkScopeExit.h; also a unit test for it.
SkPostConfig: Fix SK_UNUSED for Win32.
No public API changes.
TBR=reed@google.com
BUG=625995
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2278703002
Review-Url: https://codereview.chromium.org/2278703002
|
|
|
|
|
|
|
|
|
|
|
| |
Blur sigma calculations are CTM dependent, so we cannot take the
drawBitmap() fast path in the presence of mask filters.
BUG=skia:5682
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286873002
Review-Url: https://codereview.chromium.org/2286873002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only batch when the view matrices are the same.
This allows us to skip applying the matrix and uploading
local coords.
drawregion Bench on Nexus 6P:
Before 4.69ms
After 2.83ms
This puts SkiaGL nearly on par with OpenGL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2282983003
Review-Url: https://codereview.chromium.org/2282983003
|
|
|
|
|
|
|
|
|
| |
Also includes some other msaa bug fixes
BUG=skia:5127
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2256843002
Review-Url: https://codereview.chromium.org/2256843002
|
|
|
|
|
|
|
| |
BUG=skia:5671
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2280943003
Review-Url: https://codereview.chromium.org/2280943003
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271053004
Review-Url: https://codereview.chromium.org/2271053004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this version, it's now exposing GL_EXT_color_buffer_half_float, but
it's (incorrectly) using GL_HALF_FLOAT rather than GL_HALF_FLOAT_OES.
In addition, release builds were crashing in EGLImageTest due to an
apparent disagreement about calling convention on function-pointer to
exported symbol. There is a proper typedef for that in one of their
headers, but I can't seem to include it without creating more problems,
so I just fixed the decoration on our local typedef.
With those changes, all tests pass, and (on my Windows machine), all
GMs and SKPs produce identical results vs. master in angle and angle-gl.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2282733003
Review-Url: https://codereview.chromium.org/2282733003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chrome's complex text path uses HarfBuzz OpenType glyph lookup
functions. These do not support glyph lookup in Type 1 / Postscript
fonts and we do not wish to support those in Chrome any longer.
In order to avoid matching fonts against Type 1 fonts possible present
on Linux installations and exposed through fontconfig, this CL filters
those out in Skia's font matching code.
This change might not be desirable for all context in which Skia is
used, hence making it conditional on a Chrome context define.
BUG=skia:5685
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2280053002
Review-Url: https://codereview.chromium.org/2280053002
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com
BUG=skia:5672
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281953002
Review-Url: https://codereview.chromium.org/2281953002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246463004
Review-Url: https://codereview.chromium.org/2246463004
|
|
|
|
|
|
|
|
|
| |
The original method did not correctly compute the distance value along
the inner edge, so the antialiasing was not quite correct. This fixes
that by adding additional vertices and setting a different outerRadius.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275423002
Review-Url: https://codereview.chromium.org/2275423002
|
|
|
|
|
|
|
|
|
| |
This makes the parser more portable while making essentially the same
file system calls on Android.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2279033004
Review-Url: https://codereview.chromium.org/2279033004
|
|
|
|
|
|
|
|
|
|
| |
(1) Move implementation to the cpp.
(2) Check for the isRect() case.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286693002
Review-Url: https://codereview.chromium.org/2286693002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to work well for miter and bevel joins with the resulting stroke and fill path remaining convex. There seems to be an issue with round joins where the outer generated shell is usually not convex. Without this CL the resulting stroke & filled paths are always concave.
Perf-wise (on Windows):
convex-lineonly-paths-stroke-and-fill bench
(in ms) w/o w/CL %decrease
8888 2.88 2.01 30.2
gpu 4.4 1.38 68.6
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275243003
Review-Url: https://codereview.chromium.org/2275243003
|
|
|
|
|
|
|
|
|
|
|
| |
Nexus 6P drawregion Bench Performance
Before 48.0ms
After 3.57ms
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2267273006
Review-Url: https://codereview.chromium.org/2267273006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once you have downloaded an android NDK, you can set the ndk GN arg to use it.
E.g. my gn.args looks like:
is_debug = false
ndk = "/opt/android-ndk"
This should be enough to get you going for an arm64 build. You ought to be able to tweak that to other architectures by changing target_cpu to "arm", "x86", "x86-64", etc. That won't quite work until I follow this up a bit, but the skeleton is there.
This is enough to get me compiled, linked, and running to completion on my N5x.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275983004
Review-Url: https://codereview.chromium.org/2275983004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow us to optimize for the RectGrid macrobench.
Currently, SkiaGL is much slower than OpenGL.
SkiaGL 12 items/s
OpenGL 160 items/s
This contains everything except for the fast implementation on GPU.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2277053002
Review-Url: https://codereview.chromium.org/2277053002
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows us to use the current descriptor set system for doing
copies as draws. This is a step towards being able to track resources for draws
that don't go through out normal pipeline.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275633002
Review-Url: https://codereview.chromium.org/2275633002
|
|
|
|
|
|
|
|
|
|
| |
oddball drawArcs
Allows the arc to wind more than 360 degrees when useCenter is true, specs that nothing draws
if the oval is empty or the sweep angle is 0.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281653002
Review-Url: https://codereview.chromium.org/2281653002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The addT() function is a workhorse of pathops.
Make it simpler, removing branches and parameters.
Separate addOpp() into const and modify parts.
Add more debugging that asserts if the function
fails and the data is not extreme (e.g., fuzzer
generated).
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2273293004
Review-Url: https://codereview.chromium.org/2273293004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No more:
#include SK_SFNTLY_SUBSETTER
#include ZLIB_INCLUDE
Also, rename SK_SFNTLY_SUBSETTER to SK_PDF_USE_SFNTLY
to follow my pattern of prefixing SkPDF-specific defines
with 'SK_PDF_'.
The ZLIB_INCLUDE define is no longer is used by anyone.
TODO: rename Sfntly to something pronounceable.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2273343002
Review-Url: https://codereview.chromium.org/2273343002
|
|
|
|
|
|
|
|
|
|
|
|
| |
This produces surprising results in some cases. For example: Attempt to
make an F16 SkSurface on ANGLE. We can't render to F16, but this succeeds
and gives you back an N32 surface instead. Ran all tests and GMs in DM on
ANGLE (where this is most likely to be an issue). No problems.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2272423004
Review-Url: https://codereview.chromium.org/2272423004
|
|
|
|
|
|
|
|
|
| |
Overstroked rrects are supported by adding additional geometry to the
center of the nine patch, and setting constant offset vectors to fake
out the distance calculation.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2272703004
Review-Url: https://codereview.chromium.org/2272703004
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2224163005
Review-Url: https://codereview.chromium.org/2224163005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pathops has many points of failure, most of which
are triggered by extreme data generated by fuzzers.
It's difficult to figure out which failure point
was triggered when the operation gives up.
Add instrumentation so that the failure can
be debugged when the data is well-behaved.
Also, add a check that looks for a sequence of
coincident points on multiple edges that are out
of order when compared to each other.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274803003
Review-Url: https://codereview.chromium.org/2274803003
|
|
|
|
|
|
|
|
|
|
| |
In libpng 1.2 it's just a macro that's ->jmpbuf,
so there's nothing forcing the conversion to png_structp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268953005
Review-Url: https://codereview.chromium.org/2268953005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When Skia is built into the Android framework,
SK_SFNTLY_SUBSETTER="sample/chromium/font_subsetter.h".
This #includes the same value for GOOGLE3.
Once Chrome is also using this value, we can do away with
the `#ifdef GOOGLE3` line.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2272103002
Review-Url: https://codereview.chromium.org/2272103002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2277903002
Review-Url: https://codereview.chromium.org/2277903002
|
|
|
|
|
|
|
|
| |
English orthography is often made difficult by poor phonology.
TBR=oxford-english-dictionary,mtklein
Review-Url: https://codereview.chromium.org/2272083002
|
|
|
|
|
|
|
| |
BUG=637571
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2273073002
Review-Url: https://codereview.chromium.org/2273073002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2267343004
Review-Url: https://codereview.chromium.org/2267343004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the notion of keeping track of every different t value
that resolves to the same or a similar point. Other fixes make
this concept unnecessary, and removing it simplifies the code.
This removes an allocation, and speeds up paths with many
overlapping curves.
As a bonus, four fuzzer tests that failed before now succeed.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275703003
Review-Url: https://codereview.chromium.org/2275703003
|
|
|
|
|
|
|
| |
BUG=skia:5665
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274153002
Review-Url: https://codereview.chromium.org/2274153002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement SkFontMgr_Mac::onMatchFamilyStyleCharacter. This is a simple
implementation which provides basic fallback.
This also renames and refactors several static functions to reduce code
duplication.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268663002
Review-Url: https://codereview.chromium.org/2268663002
|
|
|
|
|
|
|
|
|
|
|
| |
GrTextureStripAtlas uses its own lock counts to protect against
overwriting its own earlier writes, but that doesn't protect against
IO that was pending when a texture was first acquired.
BUG=chromium:637678
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2262233002
Review-Url: https://codereview.chromium.org/2262233002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2269333002
Review-Url: https://codereview.chromium.org/2269333002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215363003
Review-Url: https://codereview.chromium.org/2215363003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274843002
Review-Url: https://codereview.chromium.org/2274843002
|
|
|
|
|
|
|
|
|
|
| |
Going to need this in many places once we expliclty require F16 surfaces
to have linear gamma color spaces.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270103002
Review-Url: https://codereview.chromium.org/2270103002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2276603002
Review-Url: https://codereview.chromium.org/2276603002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275563002
Review-Url: https://codereview.chromium.org/2275563002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkColorSpaces may be once-ptrs, so we can reuse common color spaces.
This means that they must be thread safe. SkMatrix44 is not
thread safe because it maintains a mutable type mask.
This CL ensures that we precompute the type mask so we
can use const SkMatrix44's safely.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2277463002
Review-Url: https://codereview.chromium.org/2277463002
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2264293003
Review-Url: https://codereview.chromium.org/2264293003
|
|
|
|
|
|
|
|
|
|
| |
Skips non-AA rects whose op is intersect or replace, and who do not
precede elements that grow the clip, by tightening fIBounds.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271493002
Review-Url: https://codereview.chromium.org/2271493002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When computing the matricies for a scaler context, there is a special
case when the matrix is determined to be singular. No port properly
handles zero sized text, so we detect this case and return a 'normal'
text size and a zero matrix for all computed transformations. This
CL causes computeMatricies to return 'false' in this case.
This is used in the constructor of SkScalerContext_Mac in order to
avoid calling CGAffineTransformInvert on non-invertible transformations.
CGAffineTransformInvert documents that if the transform is
non-invertible it will return the passed transform unchanged. It does
so, but then also prints a message to stdout. Since the information is
already available to avoid this chatty behavior, use it to keep things
quiet.
BUG=skia:3231,chromium:630169
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2276583003
Review-Url: https://codereview.chromium.org/2276583003
|
|
|
|
|
|
|
|
|
| |
Should be everyone's on libjpeg-turbo >= 1.5.0.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274643002
Review-Url: https://codereview.chromium.org/2274643002
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255803003
Committed: https://skia.googlesource.com/skia/+/dd3259eb95c3b47e11eefa3b176365a112a32b48
Committed: https://skia.googlesource.com/skia/+/e426babe7552b1cb4e27cdf4e90826feabb9e3b0
Committed: https://skia.googlesource.com/skia/+/4d760175686df8f61a11b66946eb307d89dd2c75
Committed: https://skia.googlesource.com/skia/+/a97a1ab5719d5c355f7900b7f17dec1e467cf57e
Review-Url: https://codereview.chromium.org/2255803003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/2255803003/ )
Reason for revert:
Breaking internal roll. Still needs 'Create'.
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255803003
>
> Committed: https://skia.googlesource.com/skia/+/dd3259eb95c3b47e11eefa3b176365a112a32b48
> Committed: https://skia.googlesource.com/skia/+/e426babe7552b1cb4e27cdf4e90826feabb9e3b0
> Committed: https://skia.googlesource.com/skia/+/4d760175686df8f61a11b66946eb307d89dd2c75
> Committed: https://skia.googlesource.com/skia/+/a97a1ab5719d5c355f7900b7f17dec1e467cf57e
TBR=reed@google.com,fmalita@chromium.org,vjiaoblack@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2274603003
|