aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Revert of Override SkCanvas::drawImage() in SkDeferredCanvas and SkGPipe ↵Gravatar rmistry2014-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/613673005/) Reason for revert: Trying to fix DEPS roll failure: https://codereview.chromium.org/660113002/ Link to failing builds: http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/29578 http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/29354 Original issue's description: > Override SkCanvas::drawImage() in SkDeferredCanvas and SkGPipe > > BUG=skia:2947 > > Committed: https://skia.googlesource.com/skia/+/687732fe046c9cfec940f2d7f661cd97651d10a8 TBR=junov@chromium.org,reed@google.com,bsalomon@chromium.org,piotaixr@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:2947 Review URL: https://codereview.chromium.org/658293004
* Revert of Start to vectorize SkTileGrid. (patchset #45 id:1430002 of ↵Gravatar mtklein2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/634543004/) Reason for revert: Many GCC bots missing __builtin_shuffle, e.g. Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot. Original issue's description: > Start to vectorize SkTileGrid. > > This adds Sk4x.h to help. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/90c7992bfc6330f070f7704d63372a0ec8410170 TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/663663002
* Start to vectorize SkTileGrid.Gravatar mtklein2014-10-16
| | | | | | | | This adds Sk4x.h to help. BUG=skia: Review URL: https://codereview.chromium.org/634543004
* Remove AutoScratchTextureGravatar bsalomon2014-10-16
| | | | | | | | | | | | Remove AST from GrClipMaskCache Remove AST from GrClipMaskManager BUG=skia:2889 R=robertphillips@google.com Review URL: https://codereview.chromium.org/663583002
* JPEG YUV DecodingGravatar sugoi2014-10-16
| | | | | | | | | | Enabling JPEG YUV Decoding in Skia BUG=skia:3005, skia:1674, skia:3029 Committed: https://skia.googlesource.com/skia/+/8e6c3b93a39e19111662a760ede97df55e51d39f Review URL: https://codereview.chromium.org/399683007
* Override SkCanvas::drawImage() in SkDeferredCanvas and SkGPipeGravatar piotaixr2014-10-16
| | | | | | BUG=skia:2947 Review URL: https://codereview.chromium.org/613673005
* Auto-compare GrProcessors' texture accesses in isEqual().Gravatar bsalomon2014-10-16
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/654313002
* Revert of Change drawText() to generate positions and send to drawPosText() ↵Gravatar jvanverth2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/653133004/) Reason for revert: A large number of GMs on Ubuntu12 are failing. The text layout on GPU is visibly different than that for 8888. Original issue's description: > Change drawText() to generate positions and send to drawPosText() > > The idea here is to have a central place that does layout for drawText(), and > then always feed text through drawPosText(). This both makes all of the > GrTextContexts consistent in drawText() output, and does a better job of > stressing drawPosText(). > > Because of the effect of matrices on hinting and approximation error, the > generated text is not 100% identical to that produced by the raster pipeline. > > BUG=skia:2778 > > Committed: https://skia.googlesource.com/skia/+/7851a56895c9c076f73a835a7dd51d3c6180c16f TBR=cdalton.nvidia@gmail.com,bungeman@google.com,reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2778 Review URL: https://codereview.chromium.org/659993003
* Change drawText() to generate positions and send to drawPosText()Gravatar jvanverth2014-10-16
| | | | | | | | | | | | | | The idea here is to have a central place that does layout for drawText(), and then always feed text through drawPosText(). This both makes all of the GrTextContexts consistent in drawText() output, and does a better job of stressing drawPosText(). Because of the effect of matrices on hinting and approximation error, the generated text is not 100% identical to that produced by the raster pipeline. BUG=skia:2778 Review URL: https://codereview.chromium.org/653133004
* Refactor SkGLContext to be actually extendableGravatar kkinnunen2014-10-15
| | | | | | | | | | | | | | | | | | | | | | Refactor SkGLContext to be actually extendable. Before, non-trivial subclass would need to destroy the GL connection upon running the destructor. However, the base class would run GL commands in its own destructor (with destroyed GL connection) Refactor so that SkGLContext subclass object creation is completely done by the factory function. If the factory function returns a non-NULL ptr, it means the context is usable. The destruction is done with the destructor instead of virtual function called upon destruction. Make the destructors not to call virtual functions, for clarity. Remove custom 1x1 FBO setup code from the base class. It appears not to be used anymore. BUG=skia:2992 Review URL: https://codereview.chromium.org/640283004
* Make GrFragmentProcessor auto-compare coord xforms.Gravatar bsalomon2014-10-15
| | | | Review URL: https://codereview.chromium.org/657923002
* Last round of effect->processor (for now)Gravatar bsalomon2014-10-15
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/659803005
* Don't use 'defined' in macro expansion.Gravatar bungeman2014-10-15
| | | | | | | | | | | | | | | | | | A careful reading of the preprocessor specification indicates that any use of the 'defined' operator outside the form of 'defined X' or 'defined ( X )' directly in the constant expression of a '#if' or '#elif' may cause undefined behavior. In particular, msvc is very unpredictable. The 'defined X' and 'defined ( X )' forms behave differently when created from marco expansion, with 'defined ( X )' generally evaluating to '0L'. The 'defined X' form generally behaves more the way one would expect, but still has a number of quirks which should simply be considered undefined behavior. BUG=chromium:419245 Review URL: https://codereview.chromium.org/657183002
* Move willUseInputColor check to computeInvariantOutputGravatar egdaniel2014-10-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/656503002
* Revert of JPEG YUV Decoding (patchset #5 id:180001 of ↵Gravatar rmistry2014-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/399683007/) Reason for revert: Caused many test bots to go red: http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/22/steps/dm/logs/stdio http://build.chromium.org/p/client.skia/builders/Test-ChromeOS-Link-HD4000-x86_64-Debug/builds/168/steps/dm/logs/stdio http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/38/steps/dm/logs/stdio Original issue's description: > JPEG YUV Decoding > > Enabling JPEG YUV Decoding in Skia > > BUG=skia:3005, skia:1674 > > Committed: https://skia.googlesource.com/skia/+/8e6c3b93a39e19111662a760ede97df55e51d39f TBR=reed@google.com,scroggo@google.com,sugoi@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:3005, skia:1674 Review URL: https://codereview.chromium.org/656163002
* More effect->processor cleanupGravatar bsalomon2014-10-15
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/660563003
* Some cleanup in processor header files.Gravatar bsalomon2014-10-15
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/659803004
* JPEG YUV DecodingGravatar sugoi2014-10-15
| | | | | | | | Enabling JPEG YUV Decoding in Skia BUG=skia:3005, skia:1674 Review URL: https://codereview.chromium.org/399683007
* Split GrFragmentProcessor into its own headerGravatar bsalomon2014-10-15
| | | | Review URL: https://codereview.chromium.org/660573002
* Push isEqual/onIsEqual down from GrProcessor to subclasses.Gravatar bsalomon2014-10-15
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/654273002
* add tests for large cordinates bounds when building aaclipGravatar reed2014-10-15
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/658753002
* Remove uses of GrAutoScratchTexture.Gravatar bsalomon2014-10-14
| | | | | | | | | | Rename GrContext::lockAndRefScratchTexture to refScratchTexture. GrSurface::writePixels returns bool instead of void. BUG=skia:2889 Review URL: https://codereview.chromium.org/638403003
* Track if all stages modulate inputColor in computeInvariantOutputGravatar egdaniel2014-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/647863002
* Require SK_DECLARE_STATIC_LAZY_PTR is used in global scope.Gravatar mtklein2014-10-13
| | | | | | | | | | | | | Function- or method- local scope isn't threadsafe; the pointer is generally zero-initialized on first use in function scope (i.e. lazily... we have to go deeper), but for globals we can be pretty sure the linker will do that for us. BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/651723003
* Create helper functions to use in computeInvariantOutput callsGravatar egdaniel2014-10-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/643743003
* Devirtualize read/write pixels on surface.Gravatar bsalomon2014-10-13
| | | | | | | | Consolidate read/write funcs in context. Remove support for reading pixels from a surface that's not a target. It's currently broken and neither used nor tested. Review URL: https://codereview.chromium.org/648863002
* Opt state takes a GP instead of a GeometryStageGravatar joshualitt2014-10-10
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf Review URL: https://codereview.chromium.org/637003003
* Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 ↵Gravatar joshualitt2014-10-10
| | | | | | | | | | | | | | | | | | | | | id:1500001 of https://codereview.chromium.org/637003003/) Reason for revert: Revert because this may be causing a break in a chrome gpu test Original issue's description: > Opt state takes a GP instead of a GeometryStage > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf TBR=bsalomon@google.com,egdaniel@google.com,danakj@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/647183002
* Fix color emoji.Gravatar jvanverth2014-10-10
| | | | | | | | | | | | | | | Removes the GrMaskFormat and single atlas in GrTextStrike. Replaces it by storing the GrMaskFormat in each GrGlyph, and doing a lookup for the correct atlas based on that. Disables color glyph rendering in GrDistanceFieldTextContext for now. BUG=skia:2887 Committed: https://skia.googlesource.com/skia/+/bc92163ddfe957ad6ffbb02ac40e0ba75ff82216 Review URL: https://codereview.chromium.org/636183005
* Opt state takes a GP instead of a GeometryStageGravatar joshualitt2014-10-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/637003003
* Revert of Fix color emoji. (patchset #11 id:320001 of ↵Gravatar jvanverth2014-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/636183005/) Reason for revert: Crashing the Windows bots. Original issue's description: > Fix color emoji. > > Removes the GrMaskFormat and single atlas in GrTextStrike. > Replaces it by storing the GrMaskFormat in each GrGlyph, and > doing a lookup for the correct atlas based on that. > > Disables color glyph rendering in GrDistanceFieldTextContext > for now. > > BUG=skia:2887 > > Committed: https://skia.googlesource.com/skia/+/bc92163ddfe957ad6ffbb02ac40e0ba75ff82216 TBR=robertphillips@google.com,bungeman@google.com,reed@google.com,bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2887 Review URL: https://codereview.chromium.org/640413004
* Fix color emoji.Gravatar jvanverth2014-10-10
| | | | | | | | | | | | | Removes the GrMaskFormat and single atlas in GrTextStrike. Replaces it by storing the GrMaskFormat in each GrGlyph, and doing a lookup for the correct atlas based on that. Disables color glyph rendering in GrDistanceFieldTextContext for now. BUG=skia:2887 Review URL: https://codereview.chromium.org/636183005
* Turn SkCanvasStateUtils into a class with static functions.Gravatar tfarina2014-10-10
| | | | | | | | | | That simplifies the way to declare it a friend, as needed in SkCanvas. BUG=skia:2914 TEST=make most R=reed@google.com Review URL: https://codereview.chromium.org/645773002
* faster SkRect::sortGravatar reed2014-10-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/646863002
* Use BBH reserve hook to preallocate space for tiles.Gravatar mtklein2014-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd better see how much I can tweak out the existing format. Cleverly, that way any improvements I make by changing the format will look that much less impressive. This CL looks like it will be a 5-15% win in time spent recording, with no effect on playback. This CL also shrinks the tiles to fit exactly when we're done inserting, using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe taking back 1-2% from those 5-15% wins), and means we'll lug around about 15% fewer bytes in the tile grids. Note though this strategy temporarily uses up to 30% more memory while building the tile grid. For our largest SKPs, that's maybe 75-100K extra. BUG=skia: Committed: https://skia.googlesource.com/skia/+/52455cbc02d7f480d988ae7cdacc11ad69078c2c CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot Review URL: https://codereview.chromium.org/639823005
* cleanup and optimize rect intersect routinesGravatar reed2014-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/640723004
* Revert of Use BBH reserve hook to preallocate space for tiles. (patchset #2 ↵Gravatar mtklein2014-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/639823005/) Reason for revert: failed assertion "fXTiles * fYTiles != 0" Original issue's description: > Use BBH reserve hook to preallocate space for tiles. > > Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd > better see how much I can tweak out the existing format. Cleverly, that way > any improvements I make by changing the format will look that much less > impressive. > > This CL looks like it will be a 5-15% win in time spent recording, with no effect > on playback. > > This CL also shrinks the tiles to fit exactly when we're done inserting, > using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe > taking back 1-2% from those 5-15% wins), and means we'll lug around about 15% > fewer bytes in the tile grids. Note though this strategy temporarily uses up to > 30% more memory while building the tile grid. For our largest SKPs, that's > maybe 75-100K extra. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/52455cbc02d7f480d988ae7cdacc11ad69078c2c TBR=reed@google.com,robertphillips@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/642933002
* Force linking of static member variables for GLProgramsGravatar joshualitt2014-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/614163002
* Use BBH reserve hook to preallocate space for tiles.Gravatar mtklein2014-10-09
| | | | | | | | | | | | | | | | | | | | | Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd better see how much I can tweak out the existing format. Cleverly, that way any improvements I make by changing the format will look that much less impressive. This CL looks like it will be a 5-15% win in time spent recording, with no effect on playback. This CL also shrinks the tiles to fit exactly when we're done inserting, using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe taking back 1-2% from those 5-15% wins), and means we'll lug around about 15% fewer bytes in the tile grids. Note though this strategy temporarily uses up to 30% more memory while building the tile grid. For our largest SKPs, that's maybe 75-100K extra. BUG=skia: Review URL: https://codereview.chromium.org/639823005
* Use presence of a content key as non-scratch indicatorGravatar bsalomon2014-10-09
| | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf Review URL: https://codereview.chromium.org/639873002
* gl programs rewriteGravatar joshualitt2014-10-09
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c Review URL: https://codereview.chromium.org/628633003
* Adding 3D lut color filterGravatar sugoi2014-10-09
| | | | | | | | Included in this cl is support for 3D textures. BUG=skia: Review URL: https://codereview.chromium.org/580863004
* Make the Sk GL context class an abstract base classGravatar kkinnunen2014-10-09
| | | | | | | | | | | | | | | | | | | | | | | Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before, it depended on ifdefs to implement the platform dependent polymorphism. Move the logic to subclasses of the various platform implementations. This a step to enable Skia embedders to compile dm and bench_pictures. The concrete goal is to support running these test apps with Chromium command buffer. With this change, Chromium can implement its own version of SkGLNativeContext that uses command buffer, and host the implementation in its own repository. Implements the above by renaming the SkGLContextHelper to SkGLContext and removing the unneeded SkGLNativeContext. Also removes SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused: no use in Skia code, and no tests. BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8 Review URL: https://codereview.chromium.org/630843002
* call derived ~ from GrIORefGravatar bsalomon2014-10-08
| | | | | | | TBR=mtklein@google.com NOTREECHECKS=true Review URL: https://codereview.chromium.org/641813002
* Remove ~GrIORef since last remaining virtual and now all inlineGravatar bsalomon2014-10-08
| | | | | | | TBR=reed@google.com NOTRY=true Review URL: https://codereview.chromium.org/638003003
* Revert of Use presence of a content key as non-scratch indicator (patchset ↵Gravatar bsalomon2014-10-08
| | | | | | | | | | | | | | | | | | | | | #5 id:80001 of https://codereview.chromium.org/639873002/) Reason for revert: breaking nanobench on ubuntu Original issue's description: > Use presence of a content key as non-scratch indicator > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/642493003
* Use presence of a content key as non-scratch indicatorGravatar bsalomon2014-10-08
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/639873002
* Add SK_API to GrGpuResourceGravatar bsalomon2014-10-08
| | | | | | TBR=reed@google.com Review URL: https://codereview.chromium.org/638963003
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-08
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* remove dead code from SK_SUPPORT_LEGACY_IMAGECACHE_NAMEGravatar reed2014-10-08
| | | | | | TBR= Review URL: https://codereview.chromium.org/638903002