aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Added check for ill-conditioned invertGravatar robertphillips2015-06-19
| | | | | | | | sk_inv_determinant has a guard that the determinant can't get too big so this CL only checks if the determinant gets too small. BUG=492263 Review URL: https://codereview.chromium.org/1188433011
* Expose SkFaceRec less.Gravatar bungeman2015-06-19
| | | | | | | | | | | The SkFaceRec class is some data which needs to remain alive for the life of an FT_Face. ref_ft_face returns SkFaceRec, but confusingly unref_ft_face takes an FT_Face. Since no one was using the SkFaceRec for anything other than accessing the FT_Face, have ref_ft_face return FT_Face instead and remove the unused SkFaceRec pointer from the scaler context. Review URL: https://codereview.chromium.org/1180223005
* Remove gamma field from SkDevicePropertiesGravatar robertphillips2015-06-19
| | | | Review URL: https://codereview.chromium.org/1189223002
* Revert of Switch to glyphs as paths at a higher point size on Android ↵Gravatar fmalita2015-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1183053005/) Reason for revert: GM:mixedtextblobs looks significantly worse on Android. Before: https://gold.skia.org/img/images/19d171dd72ba68df9501736dbbc2aa44.png After: https://gold.skia.org/img/images/d4c38072d2836356c00fdc1a7b537350.png Original issue's description: > Switch to glyphs as paths at a higher point size on Android > > The regression occurred when we dropped the maximum DF size from 192 > to 162, which meant that any glyph > 324 ended up being rendered as paths > rather than the previous > 384. This pushes the threshold for > rendering paths up to 384. Quality looks fine on high-res devices > which is why this is restricted to Android-only (low-res Android devices > should only rarely have text that large). > > BUG=chromium:467569 > > Committed: https://skia.googlesource.com/skia/+/932d413e69845989fadaecf5bcb8686ec8c05032 TBR=joshualitt@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:467569 Review URL: https://codereview.chromium.org/1192203002
* Work around for nexus 6 TexSubImage issueGravatar joshualitt2015-06-18
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/c69fe20ef35df0776b179cbd5ce4d1bdc0ba4090 Review URL: https://codereview.chromium.org/1173203005
* disable floating point textures if GLSL version is < 330Gravatar joshualitt2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1178723007
* Switch to glyphs as paths at a higher point size on AndroidGravatar jvanverth2015-06-18
| | | | | | | | | | | | | The regression occurred when we dropped the maximum DF size from 192 to 162, which meant that any glyph > 324 ended up being rendered as paths rather than the previous > 384. This pushes the threshold for rendering paths up to 384. Quality looks fine on high-res devices which is why this is restricted to Android-only (low-res Android devices should only rarely have text that large). BUG=chromium:467569 Review URL: https://codereview.chromium.org/1183053005
* remove dead guarded code for legacy SkData procGravatar reed2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1173173007
* add callbacks to Images that wrap client-provided contentGravatar reed2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1169553003
* Initialize the sample config for wrapped RTs to kUnified.Gravatar senorblanco2015-06-18
| | | | | | BUG=skia:3958 Review URL: https://codereview.chromium.org/1177163005
* Add SkWebpCodec, for decoding .webp images.Gravatar scroggo2015-06-18
| | | | | | | | | | | Based on SkImageDecoder_libwebp. TODO: Support YUV? (Longer term - may influence our API for SkImageGenerator) BUG=skia:3257 Review URL: https://codereview.chromium.org/1044433002
* Don't call bindTexture from GrGLProgramGravatar cdalton2015-06-18
| | | | | | | | | | Updates GrGLProgram to tell the gpu object which textures it wants bound, instead of calling bindTexture directly. This begins to break its dependence on the specific GrGLGpu object. BUG=skia: Review URL: https://codereview.chromium.org/1192463003
* Allows windowed apps to be built on the Mac just by writing a SkOSWindow ↵Gravatar bsalomon2015-06-18
| | | | | | | | subclass without needing nib/plist files. Makes visualbench work on the Mac. Review URL: https://codereview.chromium.org/1184143011
* Revert of Work around for nexus 6 TexSubImage issue (patchset #4 id:60001 of ↵Gravatar joshualitt2015-06-18
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1173203005/) Reason for revert: breaks gms Original issue's description: > Work around for nexus 6 TexSubImage issue > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c69fe20ef35df0776b179cbd5ce4d1bdc0ba4090 TBR=bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1190463006
* Work around for nexus 6 TexSubImage issueGravatar joshualitt2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1173203005
* Remove FT_HAS_COLOR definition.Gravatar bungeman2015-06-18
| | | | | | | | The intent was to define FT_HAS_COLOR when building with a pre 2.5.1 version of FreeType for forward compatibility. However, the definition here is wrong and also never used. Review URL: https://codereview.chromium.org/1178943009
* Plumb through out_row byte length so we can assert we stay underneath it.Gravatar mtklein2015-06-18
| | | | | | | | Sadly, not asserting for me yet. Can't hurt. BUG=chromium:491660 Review URL: https://codereview.chromium.org/1187173005
* Try again to rename one SkJpegUtility.h to remove ambiguity.Gravatar mtklein2015-06-18
| | | | | | | | This time rename the new codec one, which is not referenced externally. BUG=skia: Review URL: https://codereview.chromium.org/1181093008
* Add support for creating texture backed images where Skia will delete the ↵Gravatar bsalomon2015-06-18
| | | | | | texture. Review URL: https://codereview.chromium.org/1187523005
* Add useDFT field to SkDevicePropertiesGravatar robertphillips2015-06-18
| | | | Review URL: https://codereview.chromium.org/1191943002
* Add sk_parallel_for()Gravatar mtklein2015-06-17
| | | | | | | | | | | | | | | | | | | | | | | | This should be a drop-in replacement for most for-loops to make them run in parallel: for (int i = 0; i < N; i++) { code... } ~~~> sk_parallel_for(N, [&](int i) { code... }); This is just syntax sugar over SkTaskGroup to make this use case really easy to write. There's no more overhead that we weren't already forced to add using an interface like batch(), and no extra heap allocations. I've replaced 3 uses of SkTaskGroup with sk_parallel_for: 1) My unit tests for SkOnce. 2) Cary's path fuzzer. 3) SkMultiPictureDraw. Performance should be the same. Please compare left and right for readability. :) BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1184373003
* Revert of Bump up point where we switch to distance fields for large glyphs ↵Gravatar jvanverth2015-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1184153004/) Reason for revert: Seeing some Nexus 4 perf regressions in individual tests in Chromium that may be due to this change. This doesn't appear to be the correct fix for the bug in any case. Original issue's description: > Bump up point where we switch to distance fields for large glyphs > > This is hopefully a temporary fix. It's unclear why distance fields > are so much slower on the N4 (and N7). > > BUG=chromium:467569 > > Committed: https://skia.googlesource.com/skia/+/0fce1fb02d93e66d42528f322f8aa4ca64ff0fb2 TBR=joshualitt@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:467569 Review URL: https://codereview.chromium.org/1178713005
* Move Android SkFontMgr::Factory to its own file.Gravatar bungeman2015-06-17
| | | | Review URL: https://codereview.chromium.org/1190993002
* SkSemaphore: use SYNC_POLICY_LIFO on Mach.Gravatar mtklein2015-06-17
| | | | | | | | | | | | | | | Turns out _LIFO does work as we expected, keeping N < M threads active when we have M live threads but only N units of work to do at a time. Also as we expected _FIFO does round-robin through the threads. Performance doesn't seem to be affected, but let's do it anyway. If nothing else this makes profiles a little easier to read. I don't see POSIX or Windows equivalents. BUG=skia: Review URL: https://codereview.chromium.org/1192433006
* Add and use SkSemaphoreGravatar mtklein2015-06-17
| | | | | | | | | | | This allows a faster implementation of our SkTaskGroup thread pool. It also means we don't need SkCondVar (which, remember, isn't supported on XP.) Doing some testing with SampleApp, this really cuts down on the overhead from SkTaskGroup, e.g. 30% to 10%. BUG=skia: Review URL: https://codereview.chromium.org/1192573003
* simplify release-proc for SkData, removing unneeded size paramGravatar reed2015-06-17
| | | | | | | | request https://codereview.chromium.org/1184953005 to land first BUG=skia: Review URL: https://codereview.chromium.org/1193553002
* initialize firstDirGravatar caryclark2015-06-17
| | | | | | | | | | Good catch by Florin; the variable was indeed uninitialized in the complex followed by concave case. R=fmalita@google.com BUG=skia:3953 Review URL: https://codereview.chromium.org/1187273005
* Move FontConfig factory into separate file.Gravatar bungeman2015-06-17
| | | | | | | | This moves the SkFontMgr::Factory implementation which creates a FontMgr around FontConfig into its own file, and allows the user to create one manually. Review URL: https://codereview.chromium.org/1189753007
* Modernize atomics in SkTaskGroup's threadpool.Gravatar mtklein2015-06-17
| | | | | | | | | | | | | | - Use SkAtomic<int32_t> for pending work count so we're statically forced to operate on it with atomic methods. - Replacing old methods like sk_atomic_inc/dec gives us finer control over which barriers we need for each operation. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1193493003
* Make GrTextContext be owned by the GrDrawContextGravatar robertphillips2015-06-17
| | | | | | | | | | | | | | This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. Some consequences of this are: GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. Committed: https://skia.googlesource.com/skia/+/5b16e740fe6ab6d679083d06f07651602265081b Review URL: https://codereview.chromium.org/1175553002
* Avoid unnecessary comparison if both Typeface are NULLGravatar jin.a.yang2015-06-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1177833004
* Revert of Make GrTextContext be owned by the GrDrawContext (patchset #7 ↵Gravatar bsalomon2015-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1175553002/) Reason for revert: Breaking Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug ? https://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/436/steps/dm/logs/stdio Original issue's description: > Make GrTextContext be owned by the GrDrawContext > > This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. > > Some consequences of this are: > > GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. > > All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. > > Committed: https://skia.googlesource.com/skia/+/5b16e740fe6ab6d679083d06f07651602265081b TBR=joshualitt@chromium.org,joshualitt@google.com,jvanverth@google.com,reed@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1178383003
* Remove SkOSWindow_Mac.cppGravatar bsalomon2015-06-16
| | | | | | TBR=reed@google.com Review URL: https://codereview.chromium.org/1186393006
* Add a note to SkGlobalInitialization_chromium.cpp.Gravatar mtklein2015-06-16
| | | | | | BUG=chromium:486947 Review URL: https://codereview.chromium.org/1193453004
* Move closeWindow()/setFullscreen()/setVSynv() from SkWindow to SkOSWindowGravatar bsalomon2015-06-16
| | | | | | Rename setFullscreen to makeFullscreen, drop the param, return a bool. Review URL: https://codereview.chromium.org/1181723006
* Make GrTextContext be owned by the GrDrawContextGravatar robertphillips2015-06-16
| | | | | | | | | | | | This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. Some consequences of this are: GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. Review URL: https://codereview.chromium.org/1175553002
* Allow skia_win.cpp to be compiled in CONSOLE or GUI mode.Gravatar bsalomon2015-06-16
| | | | | | | | Make visualbench and SampleApp build in CONSOLE mode so that we can see stdout. I verified that by undoing the gyp modifications both tools will build as GUI. Review URL: https://codereview.chromium.org/1185303004
* fix null-pointer deref in SkComposeShader::toString()Gravatar halcanary2015-06-16
| | | | Review URL: https://codereview.chromium.org/1185893007
* Fix dst bound reported by SkTileImageFilterGravatar robertphillips2015-06-16
| | | | | | | | | | | | | | | | | | | | | | | | In the example from the bug we had the filter DAG: color filter (table) 0: xfermode filter (arith) 0: tile filter [0,80,34,114] -> [0,80,800,480] 0: color filter (table) 0: bitmap src 34x34 -> [0,80,34,114] 1: color filter (table) 0: picture filter [0, 80, 800, 480] computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn. This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit. BUG=493783 Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e Committed: https://skia.googlesource.com/skia/+/0be685755f942baea26c66a87226b569fc17e960 Review URL: https://codereview.chromium.org/1152553006
* skia: Add runtime option to disable picture IO security precautionsGravatar hendrikw2015-06-16
| | | | | | | | Replaced the compile time file IO security setting with a runtime setting. Unfortunately the setting is global. Review URL: https://codereview.chromium.org/1183853003
* Bump up point where we switch to distance fields for large glyphsGravatar jvanverth2015-06-16
| | | | | | | | | This is hopefully a temporary fix. It's unclear why distance fields are so much slower on the N4 (and N7). BUG=chromium:467569 Review URL: https://codereview.chromium.org/1184153004
* Don't clear in SkSurface::NewWrappedRenderTargetGravatar bsalomon2015-06-16
| | | | Review URL: https://codereview.chromium.org/1191513002
* There are still things to sort out but this seems to run correctly.Gravatar bsalomon2015-06-16
| | | | Review URL: https://codereview.chromium.org/1187643002
* Refactor SkFontHost_linux into SkFontMgr_custom.Gravatar bungeman2015-06-15
| | | | Review URL: https://codereview.chromium.org/1184923002
* Remove the SkCanvas comment APIGravatar fmalita2015-06-15
| | | | | | | | No longer used in Chromium/Blink. R=reed@google.com,robertphillips@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1153593003
* win32: post invalidation rectangle to OS directly in SkOSWindow::onHandleInval()Gravatar bsalomon2015-06-15
| | | | Review URL: https://codereview.chromium.org/1190563002
* Disable direction pre-caching to suss out TSAN failures.Gravatar mtklein2015-06-15
| | | | | | | | | | Our bots don't seem to mind / see the race... let's see if Chrome's do. BUG=chromium:496982 TBR=reed@google.com Review URL: https://codereview.chromium.org/1169033003
* Thorough tests for saturatedAdd and mulDiv255Round.Gravatar mtklein2015-06-15
| | | | | | | | | | BUG=skia:3951 Committed: https://skia.googlesource.com/skia/+/ce9d11189a5924b47c3629063b72bae9d466c2c7 CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot Review URL: https://codereview.chromium.org/1184113003
* Blacklist ARM from advanced blendGravatar cdalton2015-06-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1191523003
* Invalidate GrTexture mipmap on content change notificationGravatar junov2015-06-15
| | | | | | | | | | | This fix is necessary to correctly propagate invalidations that are external to skia. For example, when drawing video or WebGL into a 2D canvas in Chrome, with mipmaps enabled. BUG=crbug.com/498356 TEST=GrTextureMipMapInvalidationTest Review URL: https://codereview.chromium.org/1177843007