aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkSpriteBlitter.h
Commit message (Collapse)AuthorAge
* experiments to speed up drawing 32bit images into 565Gravatar Mike Reed2017-10-05
| | | | | | | | | | | | New (legacy style) blitters only coded for shaders (and very restricted blendmodes) Bug: skia: See https://buganizer.corp.google.com/issues/64884885 Change-Id: Ie2546093bfe1e670a825dfd9542d252d53732c40 Reviewed-on: https://skia-review.googlesource.com/54103 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com>
* remove 565 sprite blitter tooGravatar Mike Klein2017-05-31
| | | | | | | | | While we're deleting sprite blitters, here's another good candidate. Change-Id: If10fc677e6bd120413b6ec54ae2e7876c2de7091 Reviewed-on: https://skia-review.googlesource.com/18232 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* remove sprite blitters for non-legacy targets, rely on rasterpiplineGravatar Mike Reed2017-05-31
| | | | | | | | | | preliminary step to trying to remove filterSpan4f() from colorfilter Bug: skia: Change-Id: I6aa6cfde506ffac22188e9641a23a8285e80a5b9 Reviewed-on: https://skia-review.googlesource.com/18185 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove SkSmallAllocator.Gravatar Herb Derby2017-02-14
| | | | | | | | | TBR=mtklein@google.com Change-Id: I375af12c5de4397a682c1946404282da95ad42ec Reviewed-on: https://skia-review.googlesource.com/8392 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Change the Sprite portion of SkBlitter use SkArenaAlloc.Gravatar Herb Derby2017-02-10
| | | | | | | | | | | | The semantics of createT and make are the same with respect to dtors, so it just a simple replacement of calls. TBR=reed@google.com Change-Id: Ib7d071d214edb44ea5c5466ce81252e9374b6eb7 Reviewed-on: https://skia-review.googlesource.com/8301 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Make SkBlitter hierarchy explicit about what needs to be implemented.Gravatar herb2016-06-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053823002 Review-Url: https://codereview.chromium.org/2053823002
* Revert of New GM that exercises gamma-correctness in various parts of the ↵Gravatar brianosman2016-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pipeline. (patchset #4 id:60001 of https://codereview.chromium.org/1734983003/ ) Reason for revert: Testing revert to fix MacMini? Original issue's description: > New GM that exercises gamma-correctness in various parts of the pipeline. > > Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM). > > Current tests: > - Texture bilerp > - Texture scale (ie mipmaps) > - Simple paint color > - Gradient > - A handful of Xfer modes > - 50% grey bitmaps, both linear and sRGB > > Also includes a bug-fix for sRGB -> Linear bitmap case > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734983003 > > Committed: https://skia.googlesource.com/skia/+/9f73a71eec0eb54783f2dcad009aae6aafbe38d5 TBR=bsalomon@google.com,reed@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/1744533002
* New GM that exercises gamma-correctness in various parts of the pipeline.Gravatar brianosman2016-02-26
| | | | | | | | | | | | | | | | | | | Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM). Current tests: - Texture bilerp - Texture scale (ie mipmaps) - Simple paint color - Gradient - A handful of Xfer modes - 50% grey bitmaps, both linear and sRGB Also includes a bug-fix for sRGB -> Linear bitmap case BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734983003 Review URL: https://codereview.chromium.org/1734983003
* lots of sRGB and F16 blitsGravatar reed2016-02-22
| | | | | | | | | | | - generalize F16 xfermode procs - spriteblits for F16 and sRGB - saveLayer now respects colortype and profiletype BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686013002 Review URL: https://codereview.chromium.org/1685203002
* use pixmaps for dst in sprites -- NO BITMAPSGravatar reed2015-06-05
| | | | | | | BUG=skia: TBR=scroggo@google.com Review URL: https://codereview.chromium.org/1143173011
* remove bitmaps entirely from sprite blits (as source)Gravatar reed2015-05-23
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1156713004
* use SkPixmap inside sprite blittersGravatar reed2015-05-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1144923005
* Add a class to allocate small objects w/o extra calls to new.Gravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SkSmallAllocator, a template for allocating small (as defined by the instantiation) objects without extra calls to new. Add a helper macro to make using it simple. Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator. The old SK_PLACEMENT_NEW had the following drawbacks: - Easily confused with SkNEW_PLACEMENT. - Requires passing around lots of void*s along with the storageSize. - Requires using a separate class for deleting it. - We had multiple ways Auto objects for deleting in different places. - It always did a straight heap allocation on Windows, meaning Windows did not get any advantages from the confusing code. The new SkSmallAllocator simplifies things: - It is clear about what it does. - It takes care of the deletion in one place that is automatically handled. Further, the new class can be used to create more than one object. This is in preparation for BUG=skia:1976, for which we would like to create a new object without extra heap allocations. The plan is to create both the blitter and the new object on the stack using the SkSmallAllocator. Add a new test for SkSmallAllocator. SkShader.h: Move the private version of CreateBitmapShader to SkBitmapProcShader (which already has the implementation) and remove the friend class (which was only used to call this private function). This allows SkSmallAllocator to reside in the private src/ directory. SkBitmapProcShader: Move CreateBitmapShader and the macro for the storage size here. With the macro in a (private) header, the (private) headers with function declarations (which now depend on the storage size used) can see the macro. Use SkSmallAllocator in CreateBitmapShader. Change the macro to kBlitterStorageByteCount, since SkSmallAllocator takes a byte count as its template parameter. SkBlitter: Use the SkSmallAllocator. Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their behaviors have been moved into SkSmallAllocator (SkAutoCallProc was unnecessary anyway, because the only time we ever used it we also called detach(), so its auto behavior never happened). Create the Sk3DShader on the stack, if there's room. Remove the helper version of Choose, which was unused. SmallAllocatorTest: Test for the new class. The rest: Use SkSmallAllocator. BUG=skia:1976 R=reed@google.com, mtklein@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/179343005 git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81