aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Remove ALL font fallback logic from Skia.Gravatar djsollen2014-08-06
| | | | | | | | R=reed@google.com, bungeman@google.com, caryclark@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/434623002
* SkThreadPool and co. are not public.Gravatar mtklein2014-08-06
| | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/444583006
* Add support for all compressed formats in KTX file formatGravatar krajcevski2014-08-05
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/440783004
* Parses sample code provided by Android project. Attempts to keep FontFamily ↵Gravatar tomhudson2014-08-05
| | | | | | | | | | data structures produced consistent with expectations of previous versions of Skia. R=bungeman@google.com, djsollen@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/446473003
* Calculate rough approximations for nvpr path sizesGravatar cdalton2014-08-05
| | | | | | | | | | | | | Calculates a rough approximation of the actual value for gpuMemorySize in GrGLPath and GrGLPathRange, instead of assuming every path is the same fixed size. BUG=skia: R=bsalomon@google.com, markkilgard@gmail.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/442603002
* Move functions from GrDrawState.h to GrDrawState.cpp and delete unused ↵Gravatar bsalomon2014-08-05
| | | | | | | | | | functions. R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/427713005
* Add ETC1 format to SkTextureCompressorGravatar krajcevski2014-08-05
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432143002
* Don't compare constant color and coverage between GrDrawStates when they are ↵Gravatar bsalomon2014-08-05
| | | | | | | | | | provided by vertex attributes. R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/439273007
* Replace op== with CombineIfPossible in GrDrawState.Gravatar bsalomon2014-08-05
| | | | | | | | R=egdaniel@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/439853002
* Test and generalize font configuration parserGravatar tomhudson2014-08-05
| | | | | | | | | | | | Add a basic unit test for the Android font configuration parser. Add a check for the new LMP file format; on detection, switch to a new (as-yet unwritten) parser. R=bungeman@google.com, djsollen@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/439813002
* Enable gpu Debug markers if tracing category skia.gpu is enabledGravatar egdaniel2014-08-04
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/438023004
* Force linking as C++ library.Gravatar mtklein2014-08-04
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/420183004
* Adds a GrGLPathRendering class that wraps the NV_path_renderingGravatar cdalton2014-08-04
| | | | | | | | | | | | extension and manages its various API versions. It also provides backup implementations when certain NVpr methods from later API versions are not present on the current system. R=bsalomon@google.com, kkinnunen@nvidia.com, markkilgard@gmail.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/437473002
* Don't compare coord change matrices to determine effect compatibility when ↵Gravatar bsalomon2014-08-04
| | | | | | | | | | using explicit local coords. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/438053002
* Remove dependency on std::stringGravatar mtklein2014-08-04
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/437253003
* SkCanvas interface for drawing a patch.Gravatar dandov2014-08-04
| | | | | | | | | | | | | | | | | Added function SkCanvas::drawPatch to the API. This function receives the patch to draw and the paint. Added function SkBaseDevice::drawPatch to the API. This function also receives the patch to draw and the paint. Currently SkGpuDevice and SkBitmapDevice generate the mesh taking into account the scale factor and call the corresponding device's drawVertices. BUG=skia: R=jvanverth@google.com, egdaniel@google.com, bsalomon@google.com Author: dandov@google.com Review URL: https://codereview.chromium.org/424663006
* Revert of Add ETC1 format to SkTextureCompressor ↵Gravatar krajcevski2014-08-04
| | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/432143002/) Reason for revert: Breaking Chrome. Original issue's description: > Add ETC1 format to SkTextureCompressor > > Committed: https://skia.googlesource.com/skia/+/5d8b1b44ea7636fc8e98247cb311568f277ce3a5 R=robertphillips@google.com TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: krajcevski@google.com Review URL: https://codereview.chromium.org/438443004
* Remove unused matrix param from GrContext/GrDrawTarget rect drawing functions.Gravatar bsalomon2014-08-04
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/441623005
* Add ETC1 format to SkTextureCompressorGravatar krajcevski2014-08-04
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432143002
* Exit early when draw can be skipped. Be more robust against abandoned GrContext.Gravatar bsalomon2014-08-04
| | | | | | | | R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/428103003
* fix missing return in error case for bitmap scalerGravatar humper2014-08-04
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/431613003
* Make GrGLProgram be available to GrGLProgramDataManagerGravatar kkinnunen2014-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GL APIs such as glProgramPathFragmentInputGenNV need the explicit program id in order to set the program resources. For GrGLProgramDataManager to call the APIs, the program id needs to be available to the GrGLProgramDataManager. One GrGLProgramDataManager is used to explicitly manage the resources of one GrGLProgram. Refactor the classes to reflect this: make GrGLProgram create and own GrGLProgramDataManager. This way the program id can be made available through GrGLProgram backpointer. In order to do this, remove the population of the program link results information for uniforms in GrGLProgramDataManager during shader generation. Instead, accumulate the info to the uniform list of GrGLShaderBuilder. After the generation, compilation and link is successful, this info can be used to construct both GrGLProgram and GrGLProgramDataManager. Changes names of functions to create UniformHandles and convert them to list indices. This tries to highlight that they're different lists, even though at the moment they match index-wise. E.g the contract is that handles can be created based on the shader builder state, and the object can later be set with the handle and the manager that was created with the builder. This is needed to support NV_path_rendering for GLES. R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/426553011
* Fix for Chrome Canaries.Gravatar jvanverth2014-08-01
| | | | | | | | | R=bsalomon@google.com TBR=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/434623010
* Rollback text allocation changes.Gravatar jvanverth2014-08-01
| | | | | | | | | | | This also addresses an inadvertantly introduced distance field bug. BUG=399125 R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/438683006
* Revert of Memory improvements to render_pdfs; better DM pool size defaults ↵Gravatar halcanary2014-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/433063002/) Reason for revert: breaking android tests Original issue's description: > Memory improvements to render_pdfs; better DM pool size defaults > > Make SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE equal to > skia_resource_cache_mb_limit, if that value is >0 (true for some > low-memory Android devices). > > render_pdfs test program uses lazy decoding (and the discardable > memory pool). > > BUG=skia:2743 > > Committed: https://skia.googlesource.com/skia/+/66058b614d9c8cb63c24b1c779dd1a9a80752217 R=djsollen@google.com, mtklein@google.com TBR=djsollen@google.com, mtklein@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2743 Author: halcanary@google.com Review URL: https://codereview.chromium.org/418173012
* Memory improvements to render_pdfs; better DM pool size defaultsGravatar halcanary2014-08-01
| | | | | | | | | | | | | | | | Make SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE equal to skia_resource_cache_mb_limit, if that value is >0 (true for some low-memory Android devices). render_pdfs test program uses lazy decoding (and the discardable memory pool). BUG=skia:2743 R=djsollen@google.com, mtklein@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/433063002
* Remove SK_IGNORE_QUAD_RR_CORNERS_OPT-related code.Gravatar Florin Malita2014-08-01
| | | | | | | | | Now that the flag is no longer used in Chromium (https://codereview.chromium.org/426593006/), we can remove it. R=bsalomon@google.com, reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/430473012
* FBFetch refactor + arm supportGravatar joshualitt2014-08-01
| | | | | | | | | BUG=skia: R=krajcevski@google.com, bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/433603002
* Update NEON compiler defines to use SK_ prefixGravatar djsollen2014-08-01
| | | | | | | | | BUG=skia:2785 R=mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/433513004
* Add initial pipeline for decompressorsGravatar krajcevski2014-07-31
| | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/14a1df0bcd00734e6efbe4a21629fe95118815ef R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432503002
* Add CTM to the cached layers' key and reduce render target pingponging in ↵Gravatar robertphillips2014-07-31
| | | | | | | | | | | | | layer pre-rendering The CTM is required on the key so we will re-render when necessary. The SkGpuDevice change ensures big layers in the midst of atlas-able layers don't cause a render target switch. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/433553002
* Revert of Add initial pipeline for decompressors ↵Gravatar mtklein2014-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/432503002/) Reason for revert: New test is crashing on Android. http://108.170.220.21:10117/builders/Test-Android-Nexus10-MaliT604-Arm7-Debug/builds/2509/steps/RunTests/logs/stdio http://108.170.220.21:10117/builders/Test-Android-Nexus4-Adreno320-Arm7-Debug/builds/2313/steps/RunTests/logs/stdio Original issue's description: > Add initial pipeline for decompressors > > Committed: https://skia.googlesource.com/skia/+/14a1df0bcd00734e6efbe4a21629fe95118815ef R=robertphillips@google.com, krajcevski@google.com TBR=krajcevski@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/425223006
* Add initial pipeline for decompressorsGravatar krajcevski2014-07-31
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/432503002
* Fix for texture domain on imagination gpusGravatar joshualitt2014-07-31
| | | | | | | | | BUG=skia: R=bsalomon@chromium.org, bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/421823003
* Add standard fonts to all GMs.Gravatar Cary Clark2014-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow GM results to be compared across machines and platforms by standardizing the fonts used by all tests. This adds runtime flags to DM to use either the system font context (the default), the fonts in the resources directory ( --resourceFonts ) or a set of canonical paths generated from the fonts ( --portableFonts ). This CL should leave the current DM results unchanged by default. If the portable font data or resource font is missing when DM is run, it falls back to using the system font context. The create_test_font tool generates the paths and metrics read by DM with the --portableFonts flag set, and generates the font substitution tables read by DM with the --resourceFonts flag set. If DM is run in SkDebug mode with the --reportUsedChars flag set, it generates the corresponding data compiled into the create_test_font tool. All GM tests set their typeface information by calling either sk_tool_utils::set_portable_typeface or sk_tool_utils::portable_typeface . (The former takes the paint, the latter returns a SkTypeface.) These calls can be removed in the future when the Font Manager can be superceded. BUG=skia:2687 R=mtklein@google.com Review URL: https://codereview.chromium.org/407183003
* Fix end-of-pattern matching for Skia recording optimization.Gravatar dneto2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recorder optimizer's pattern matcher was accepting command sequences when it shouldn't have. In the submitted case, and the pattern matcher was looking for: saveLayer, drawBitmap, restore and in the rendering for the submitted case, the sequence of commands were: saveLayer, drawBitmap, drawBitmap, restore This sequence was improperly accepted by the matcher, and the optimizer reduced the sequence to: drawBitmap, drawBitmap where the opacity from the saveLayer paint argument was applied to the first drawBitmap only. The user-visible effect in Chrome was a flashing effect on an image caused by incorrect (too-high) opacity. The patch adds a Skia test to check for pixel colour values in a similarly structured recording. All other Skia tests pass. Blink layout tests also pass with this change. BUG=chromium:344987 R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: dneto@chromium.org Review URL: https://codereview.chromium.org/430503004
* Intersect SkPictureImageFilter bounds against clip bounds.Gravatar senorblanco2014-07-30
| | | | | | | | | | | | | | Intersect SkPictureImageFilter bounds against clip bounds to avoid unnecessary processing. This is how the other filters work (via applyCropRect()), but SkPictureImageFilter maintains its own crop. BUG=skia: R=bsalomon@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/428263003
* Remove kDisableBlend_BlendOptFlag as it is no longer neededGravatar egdaniel2014-07-30
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/425153003
* Start the process of choosing the correct compression formatGravatar krajcevski2014-07-30
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/427093004
* Test removal of mesa specific version parseGravatar joshualitt2014-07-30
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/430833002
* Implement a persistent uniqueID-based cache for SkImageFilter.Gravatar senorblanco2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a unique ID to SkImageFilter, and use it as part of a persistent cache of image-filtered results. This is used for caching frame-to-frame coherent filters. We also keep track of which filter subtrees do not reference the src input, and use a GenID of zero for the src input in that case. That way, subtrees which are not dependent on the filter input can be cached independently of it. This gives approximately a 4X speedup on letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620 and Nexus10. The cache key consists of the uniqueID of the filter, the clip bounds, the CTM and the genID of the input bitmap. Since this does not yet handle the case where the input primitives (and part of the resulting filter tree) are unchanged, we have to keep around the external cache for that painting case. When the work to cache unchanging input primitives is done, the old cache can be removed, and the new UniqueIDCache will be renamed to Cache. R=bsalomon@google.com, mtklein@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/414483003
* Add query for whether or not we have compressedTexSubImageGravatar krajcevski2014-07-30
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/430773004
* Correct Android FontMgr use of ttc index and remove unused code.Gravatar bungeman2014-07-30
| | | | | | | | R=djsollen@chromium.org, tomhudson@google.com, djsollen@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/433503003
* Explicitly typedef GetUserDefaultLocaleName as WINVER may not be high enough ↵Gravatar george2014-07-30
| | | | | | | | | | when compiling to allow visibility of the function prototype in windows.h R=bungeman@google.com, bungeman1 Author: george@mozilla.com Review URL: https://codereview.chromium.org/422823008
* Fix way-over-allocation in pipe.Gravatar mtklein2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/283093002 fixed some bugs in pipe memory allocation, but also introduced one of its own: nearly every block requested from needOpBytes() got its own 16K allocation. The correct logic is to take the requested size, add four more bytes for a DrawOp, make sure that's 4-byte aligned, then check to see if there's enough space for that in the current block. If there's not, allocate at least MIN_BLOCK_SIZE bytes to fit the request. The bug is that I moved that round-up-to-MIN_BLOCK_SIZE step before checking for space in the current block. This means most (all?) blocks will be 16K but never seem to have room to fit another allocation. You need 8 bytes? You get 16K. You need 8 more bytes? Nope, can't fit that. Here's a new 16K... This reverts the change to the test I made then, which really should have tipped me off. It was testing exactly this bug. BUG=372671 R=tomhudson@chromium.org, tomhudson@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/433463003
* Add vertex bounds check for distance field rendering.Gravatar jvanverth2014-07-30
| | | | | | | | R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/432443002
* Bring LATC in line with other formats (i.e. write a blitter andGravatar krajcevski2014-07-30
| | | | | | | | | | an "optimized" compression routine). R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/429683003
* Fix ref counting of cached layer's textureGravatar robertphillips2014-07-30
| | | | | | | | R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/431603002
* Add effect caching to distance field text.Gravatar jvanverth2014-07-30
| | | | | | | | | | | | This also is a step towards unifying GrDistanceFieldTextureEffect and GrDistanceFieldLCDTextureEffect. Committed: https://skia.googlesource.com/skia/+/137bac067306c5446bc4f9797bedc3bbaf302822 R=robertphillips@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/424103002
* Rename GrGLUniformManager to GrGLProgramDataManagerGravatar kkinnunen2014-07-30
| | | | | | | | | | | | | Rename GrGLUniformManager to GrGLProgramDataManager in anticipation that the class would be used to manage shader resources that are not uniforms. This is needed in order to implement NVPR on GLES. R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/365853002