mtklein
fbcfd6d060
mojo -> nojo
...
BUG=skia:4891
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1889543003
Review URL: https://codereview.chromium.org/1889543003
2016-04-14 09:42:34 -07:00
bungeman
ccb0de64f3
Add doc instructions for multi-repo Chromium trybots.
...
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1865153003
Review URL: https://codereview.chromium.org/1865153003
2016-04-14 09:23:41 -07:00
mtklein
872ea29357
Move CPU feature detection to its own file.
...
- Moves CPU feature detection to its own file.
- Cleans up some redundant feature detection scattered around core/ and opts/.
- Can now detect a few new CPU features:
* F16C -> Intel f16<->f32 instructions, added between AVX and AVX2
* FMA -> Intel FMA instructions, added at the same time as AVX2
* VFP_FP16 -> ARM f16<->f32 instructions, quite common
* NEON_FMA -> ARM FMA instructions, also quite common
* SSE and SSE3... why not?
This new internal API makes it very cheap to do fine-grained runtime CPU
feature detection. Redundant calls to SkCpu::Supports() should be eliminated
and it's hoistable out of loops. It compiles away entirely when we have the
appropriate instructions available at compile time.
This means we can call it to guard even a little snippet of 1 or 2 instructions
right where needed and let inlining hoist the check (if any at all) up to
somewhere that doesn't hurt performance. I've explained how I made this work
in the private section of the new header.
Once this lands and bakes a bit, I'll start following up with CLs to use it more
and to add a bunch of those little 1-2 instruction snippets we've been wanting,
e.g. cvtps2ph, cvtph2ps, ptest, pmulld, pmovzxbd, blendvps, pshufb, roundps
(for floor) on x86, and vcvt.f32.f16, vcvt.f16.f32 on ARM.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1890483002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1890483002
2016-04-14 09:03:35 -07:00
reed
3dc6aac5da
remove U16 support, just support F16
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1889753002
Review URL: https://codereview.chromium.org/1889753002
2016-04-14 09:02:14 -07:00
bungeman
82a455f0e9
Remove requestedStyle from SkTypefaceCache.
...
The typeface cache contains typefaces which can be compared against to
determine if an already known typeface will work instead of creating a
new typeface id. This is primarily for sharing scaler contexts. How that
typeface was requested is not relevant to this comparison, so don't cache
it. Request caching must be handled separately.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879423002
Review URL: https://codereview.chromium.org/1879423002
2016-04-14 08:04:45 -07:00
robertphillips
b2a4dc6a35
Switch SkMagnifierImageFilter over to new onFilterImage interface
...
Additionally, this CL:
adds crop handling to the CPU path (the GPU path handled it but with a bug)
adds a cropRect (to better justify the applyCropRect)
adds a GM to exercise the cropRect
Note: I believe the handling of cropRects and clipping is deeply flawed but, at least, the two paths are consistently flawed now.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882943002
Review URL: https://codereview.chromium.org/1882943002
2016-04-14 07:54:04 -07:00
yujieqin
e34635dee1
Since PIEX can now return an uncompressed RGB thumbnail, check the type of the image before treating it as a JPEG.
...
Highlights of new PIEX:
* PIEX can now return JPEG compressed image or uncompressed RGB image
* Add IsOfType() and GEtNumberofBytesForIsOfType() to image_type_recognition_lite
* Add GetDngInformation() and GetOrientation() to piex
* Remove deprecated data entries from piex_types
BUG=b/27214608, b/28119810
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1883783002
Review URL: https://codereview.chromium.org/1883783002
2016-04-14 07:04:00 -07:00
brianosman
5280dcbae3
Simplify gamma-correctness for text rendering.
...
Just use the DC flag, independent of the destination pixel config or the
special output override flag (which is only to be used internally be
special effects that will never hit this code path.)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888473003
Review URL: https://codereview.chromium.org/1888473003
2016-04-14 06:02:59 -07:00
benjaminwagner
f9634b95ec
For GOOGLE3, add deref method to SkRefCnt.
...
This makes it easier to integrate with Blink code using RefPtr/PassRefPtr without pulling in Chrome's SkUserConfig.h.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1890573003
Review URL: https://codereview.chromium.org/1890573003
2016-04-13 17:51:57 -07:00
bsalomon
5092eacc7e
Fix legacy NewRenderTarget factory
...
TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888593002
Review URL: https://codereview.chromium.org/1888593002
2016-04-13 15:10:20 -07:00
bsalomon
3f21a2e9f3
Only eglTerminate command buffer displays when no displays are in use
...
This is a workaround for crbug.com/603223
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878943008
Review URL: https://codereview.chromium.org/1878943008
2016-04-13 15:03:59 -07:00
bsalomon
7e68ab7318
Remove GrTextureStorageAllocator. This was added from Chromium but never used and not expected to be used.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1886613003
Review URL: https://codereview.chromium.org/1886613003
2016-04-13 14:29:25 -07:00
brianosman
0e3c55431b
Tweak distance field path renderer behavior in gamma-correct mode to match
...
recent changes to text rendering.
Uses linear coverage falloff. Produces results that are perceptually more
similar to L32 (raster and gpu). Smoothstep + sRGB was too soft.
Plumb the gamma-correctness via DrawPathArgs, which also paves the way for
other path rendering implementations to easily make decisions about rendering
technique based on that flag.
Fix a few typos and formatting issues from my most recent change.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1889453002
Review URL: https://codereview.chromium.org/1889453002
2016-04-13 13:56:21 -07:00
bungeman
d3b63d3244
Respect FC_MATRIX and FC_EMBOLDEN as extra font parameters.
...
A font consists of a set of data and a set of parameters to that data.
For example a ttc font consists of the full font data parameterized by
the index. In addition to the index, FontConfig allows specifying a
matrix and embolden flag. In the future there may also be additional
parameters of this sort, for example which color palette to use.
This does not provide a way to serialize these parameters.
Adding this here provides a nice place to experiment with doing so.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1890533002
Review URL: https://codereview.chromium.org/1890533002
2016-04-13 13:50:21 -07:00
brianosman
b461d34575
Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate
...
Trying to be much more explicit about where we really mean sRGB as a format,
and where we mean gamma-correct, as in: "not legacy behavior". Most of the
changes to rendering behavior are dependent on the latter, so let's be precise.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884873006
Review URL: https://codereview.chromium.org/1884873006
2016-04-13 13:10:14 -07:00
robertphillips
54ef1a7c95
Add GM to prevent mis-drawing of LCD text in SkPictureImageFilters
...
BUG=602555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878373003
Review URL: https://codereview.chromium.org/1878373003
2016-04-13 10:55:07 -07:00
borenet
2892668f1b
Fix ChromeOS Swarming bot compile
...
BUG=skia:5158
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1886573004
Review URL: https://codereview.chromium.org/1886573004
2016-04-13 09:37:26 -07:00
bsalomon
33b6b8ef99
Allow a small tolerance in GrAtlasTextBatch bounds test.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882833002
Review URL: https://codereview.chromium.org/1882833002
2016-04-13 08:14:22 -07:00
bsalomon
09e127bd38
Make build_shaderc.py blow away output dir and allow build_type arg to contain either Debug or Release
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884963002
Review URL: https://codereview.chromium.org/1884963002
2016-04-13 08:02:43 -07:00
robertphillips
0b7e5a13bd
Make SkSpecialSurfaces always use kUnknown for their pixel geometry
...
This now matches how the SkDevices were being created by the device proxy and prevents LCD text from being inadvertently applied.
BUG=602555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878143004
Review URL: https://codereview.chromium.org/1878143004
2016-04-13 07:18:41 -07:00
borenet
903ec3ce4d
Fix CommandBuffer bot's DM config
...
BUG=skia:4957
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880403002
Review URL: https://codereview.chromium.org/1880403002
2016-04-13 06:00:42 -07:00
bungeman
ed2edabd07
Remove SK_VERY_LEGACY_CREATE_TYPEFACE.
...
The flag and code it guards are no longer used.
TBR=reed
This just removes dead code.
Review URL: https://codereview.chromium.org/1882803002
2016-04-13 05:23:35 -07:00
robertphillips
dada4dd9cf
Switch SkMatrixConvolutionImageFilter over to new onFilterImage interface
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877343002
Review URL: https://codereview.chromium.org/1877343002
2016-04-13 04:54:36 -07:00
reed
58700da76b
remove SK_SUPPORT_NEW_ONCREATESCALERCONTEXT, no longer needed in chdrome
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1881733005
TBR=
Review URL: https://codereview.chromium.org/1881733005
2016-04-12 16:57:55 -07:00
mtklein
20efb41dbb
distinguish distinct matrixconvolution benchmarks
...
Today they all show as "matrixconvolution", and we probably only log one.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1886523002
Review URL: https://codereview.chromium.org/1886523002
2016-04-12 15:52:52 -07:00
herb
69076fe5cf
Blitter for repeat RGBA8888->RGBA8888.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852613002
Review URL: https://codereview.chromium.org/1852613002
2016-04-12 14:07:59 -07:00
brianosman
9ac5b91957
Add missing F16 case to reverse pixel config conversion
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884753002
Review URL: https://codereview.chromium.org/1884753002
2016-04-12 13:49:53 -07:00
bungeman
11a77c6e06
Begin switch to SkFontStyle for legacy calls.
...
This adds SK_VERY_LEGACY_CREATE_TYPEFACE which, when defined, provides
only the old interface.
Ideally, everyone would switch directly to SkFontMgr and use one of the
newer calls, but there is currently no path for current users to get
there. This updates all the internals to use SkFontStyle, after
switching these over the higher level APIs can be switched.
The Chromium follow on patch can be seen at https://crrev.com/1877673002
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873923002
TBR=reed
This doesn't really change API, just modernizes it.
Review URL: https://codereview.chromium.org/1873923002
2016-04-12 13:45:06 -07:00
brianosman
0586f5cc97
sRGB support for distance field text.
...
Add a second distance field adjust table that only applies contrast,
not fake-gamma correction. Store a flag in the batch at creation time,
using the same logic we apply elsewhere (render target format, plus
paint flags).
That gets us close, but not as good as bitmap text. The final step is
to use a linear step function (rather than smoothstep) to map distance
to coverage, when we have sRGB output. Smoothstep's nonlinear response
is actually doing some fake-gamma, so it ends up over-correcting when
the output is already gamma-correct.
Results are now very close between L32 (old table, smoothstep) and S32
(contrast-only table, linstep).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885613002
Review URL: https://codereview.chromium.org/1885613002
2016-04-12 12:48:21 -07:00
robertphillips
134ff5c9cf
Remove SimpleOffsetFilter
...
SimpleOffsetFilter & SkOffsetImageFilter seem equivalent nowadays.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884733002
Review URL: https://codereview.chromium.org/1884733002
2016-04-12 12:41:00 -07:00
robertphillips
247e5341a4
Revert AlphaThresholdFilter to its old behavior wrt premul
...
TBR=borenet@google.com
This fixes the "serialize-8888 gm imagealphathreshold_surface" failure related to:
https://codereview.chromium.org/1879643003/ (Switch AlphaThresholdFilter over to new onFilterImage interface)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885633003
Review URL: https://codereview.chromium.org/1885633003
2016-04-12 12:39:26 -07:00
kjlubick
9fd07e5cc4
Make fuzz builds set SK_FUZZ_LOGGING
...
BUG=skia:5191
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878363002
Review URL: https://codereview.chromium.org/1878363002
2016-04-12 12:02:59 -07:00
robertphillips
af9b8c8046
Switch AlphaThresholdFilter over to new onFilterImage interface
...
This CL also alters the raster path in two ways:
it now respects the sRGB/linear distinction of its input
it now respects the clip
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879643003
Review URL: https://codereview.chromium.org/1879643003
2016-04-12 11:02:25 -07:00
reed
0a74c9d86c
f16 and pm4f are always the same swizzle, so remove adaptor
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880953003
Review URL: https://codereview.chromium.org/1880953003
2016-04-12 10:32:56 -07:00
bsalomon
68d9134bec
Make more unit tests run on Vulkan
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885623002
Review URL: https://codereview.chromium.org/1885623002
2016-04-12 09:59:58 -07:00
borenet
71e185c060
GYP_DEFINES and DM flags for Vulkan bot
...
BUG=skia:5186
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885563002
Review URL: https://codereview.chromium.org/1885563002
2016-04-12 08:13:57 -07:00
bsalomon
134af6b6d2
Fix Vk build breakage due to new GrSLType
...
R=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1881033002
Review URL: https://codereview.chromium.org/1881033002
2016-04-12 07:46:21 -07:00
scroggo
b8e0960de4
Make is_ktx safer
...
Rather than assuming the data passed to ktx at least
KTX_FILE_IDENTIFIER_SIZE, pass the length of the data to is_ktx and
compare it.
Splitting off from crrev.com/1862133002, which no longer depends on
is_ktx.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882593002
Review URL: https://codereview.chromium.org/1882593002
2016-04-12 07:41:22 -07:00
egdaniel
37798fbd82
Implement initCopySurfaceDstDesc for Vulkan
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880613002
Review URL: https://codereview.chromium.org/1880613002
2016-04-12 07:31:49 -07:00
reed
a9322c2d86
Revert "Revert of Pass effects directly to fontcache (patchset #8 id:140001 of https://codereview.chromium.org/1863013003/ )"
...
add SK_SUPPORT_NEW_ONCREATESCALERCONTEXT for chrome
this has now landed https://codereview.chromium.org/1878913002/
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880873002
Review URL: https://codereview.chromium.org/1880873002
2016-04-12 06:47:05 -07:00
borenet
ac8681b0a1
iOS: Tweak xcodebuild location
...
BUG=skia:5155
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879513002
Review URL: https://codereview.chromium.org/1879513002
2016-04-12 06:21:47 -07:00
halcanary
cbc060a700
SkWStream::writeText inlined.
...
Motivation: This function is used throughout SkPDF.
Note that the compiler can usually inline the result of strlen() for literal strings.
Before:
out/Release/nanobench -m WStreamWriteText -q
Timer overhead: 24.2ns
! -> high variance, ? -> moderate variance
micros bench
6.10 WStreamWriteText nonrendering
After:
out/Release/nanobench -m WStreamWriteText -q
Timer overhead: 23.9ns
! -> high variance, ? -> moderate variance
micros bench
2.51 WStreamWriteText nonrendering
PDF runtime change: -0.8% ±0.04%.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1844343004
Review URL: https://codereview.chromium.org/1844343004
2016-04-11 19:41:48 -07:00
cdalton
74b8d32332
Implement texel buffers
...
Adds a mechanism for processors to add buffer accesses and implements
them in the GL backend.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1870893002
Review URL: https://codereview.chromium.org/1870893002
2016-04-11 14:47:28 -07:00
bsalomon
fda880710c
Convert some unit tests from running on GL contexts to running on all contexts
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873313002
Review URL: https://codereview.chromium.org/1873313002
2016-04-11 14:40:50 -07:00
bsalomon
dc0fcd41e7
Vulkan config in dm
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1872283003
Review URL: https://codereview.chromium.org/1872283003
2016-04-11 14:21:33 -07:00
iroth
849b175c02
Separate private headers for condition inclusion in BUILD file.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878753002
Review URL: https://codereview.chromium.org/1878753002
2016-04-11 13:45:51 -07:00
egdaniel
f4ace41dd9
Wait for all device work to finish before destroy VkDevice
...
Currently before destroying the GrVkGpu, we do wait on all queue work to finish before destroying objects there.
Since we only have one queue, the vkDeviceWaitIdle added here is probably not necessary, but the spec does suggest
having it just to make sure all work is fully done on the device.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1876863004
Review URL: https://codereview.chromium.org/1876863004
2016-04-11 13:41:52 -07:00
robertphillips
c14b978613
Switch SkTileImageFilter over to new onFilterImage interface
...
This relies on: https://codereview.chromium.org/1816223002 (Update SkSpecialImage to be able to create tight SkImages and SkSurfaces)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810693003
Review URL: https://codereview.chromium.org/1810693003
2016-04-11 13:26:14 -07:00
mtklein
ad6a1901d1
nullptr -> "sans-serif" fixes bold in gm/colorwheel
...
This was an odd case where 8888 drew wrong and serialize-8888 was correct.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880653002
Review URL: https://codereview.chromium.org/1880653002
2016-04-11 13:20:11 -07:00
cdalton
f8a6ce8d8c
Add GLSL support for texelFetch
...
Adds a cap and builder methods for texelFetch. This is required for
texel buffers. Also moves the texel buffer cap into the general shader
caps, and adds glTexBufferRange to the GL interface.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869063005
Review URL: https://codereview.chromium.org/1869063005
2016-04-11 13:02:05 -07:00