aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Disable dual source blending support when GLSL version is too oldGravatar bsalomon2015-06-04
| | | | | | BUG=skia:3891 Review URL: https://codereview.chromium.org/1160923007
* Fallback bitmap devices should observe the computed pixel geometryGravatar fmalita2015-06-04
| | | | | | | | | | | When onCreateDevice() fails, internalSaveLayer() attempts to create a fallback bitmap device instead - but it ignores the computed pixel geometry in this case. BUG=496054 R=reed@google.com Review URL: https://codereview.chromium.org/1144153007
* Fix dst bound reported by SkTileImageFilterGravatar robertphillips2015-06-04
| | | | | | | | | | | | | | | | | | | | | | 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 Review URL: https://codereview.chromium.org/1152553006
* Fix edge-line artifacts issue on MaliGravatar joel.liang2015-06-04
| | | | | | | | | | | | | | | | | | | | Some GMs show edge-line artifacts on Mali at the bottom/right of the canvas. Change the 'rtAdjustment' uniform precision from 'midiump' to 'highp' if the GPU vendor is ARM. NOTE: Vertex Shader should have default 'highp' precision, but now we explicit declared some uniform/attribute precision as 'midiump'. This patch should fix these issues: Issue 3693: Some GMs produce random artifacts on Mali in MSAA4 https://code.google.com/p/skia/issues/detail?id=3693 Issue 3685: srcmode GM has top/right line artifacts on Mali T604 in MSAA4 https://code.google.com/p/skia/issues/detail?id=3685 BUG=skia: Review URL: https://codereview.chromium.org/1154163012
* refactor bitmapshader to use a controllerGravatar reed2015-06-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1153123003
* remove stray printfGravatar reed2015-06-04
| | | | | | | BUG=skia: TBR=junov@google.com Review URL: https://codereview.chromium.org/1149083008
* Remove SK_FREETYPE_HAS_MM.Gravatar bungeman2015-06-03
| | | | | | | | | | | The SK_FREETYPE_HAS_MM define was added to delay the changes to support GX variation fonts on platforms which did not compile ftmm.c into their FreeType build. Now that all builds should have this file the define can be removed. Committed: https://skia.googlesource.com/skia/+/4f61fee53af956a8beb4c56fa6479cb6b1aa5159 Review URL: https://codereview.chromium.org/1143133006
* Reenable reorderingGravatar joshualitt2015-06-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1160063003
* Begin tracking driver info in GrGLContextInfoGravatar cdalton2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1165463005
* Fixing leaky handling of SkImage in SkDeferredCanvas.Gravatar junov2015-06-02
| | | | | | | | | | | | | | | Long lived SkImageHeap objects currently accumulate refs indefinitely. This leads to massive memory leaks in the gpu-accelerated 2D canvas code path. This CL does not implement a general fix for SkGPipe, but it resolves the leak in SkDeferredCanvas (currently the only user of SkGPipe) by resetting the image heap when the deferral queue is flushed. This change also fixes the accounting of bytes allocated by referenced images in order to trigger flushing heuristics appropriately. BUG=crbug.com/494148 Review URL: https://codereview.chromium.org/1145893007
* Revert of Fix dst bound reported by SkTileImageFilter (patchset #3 id:40001 ↵Gravatar robertphillips2015-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1152553006/) Reason for revert: breaking tests Original issue's description: > Fix dst bound reported by SkTileImageFilter > > 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 TBR=reed@google.com,senorblanco@google.com,senorblanco@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=493783 Review URL: https://codereview.chromium.org/1143083006
* Fix dst bound reported by SkTileImageFilterGravatar robertphillips2015-06-02
| | | | | | | | | | | | | | | | | | | | 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 Review URL: https://codereview.chromium.org/1152553006
* check (runtime) for null-pixels even when lock succeedsGravatar reed2015-06-02
| | | | | | | BUG=492818 TBR= Review URL: https://codereview.chromium.org/1159953006
* Update XPF invariant info to not account for conflationGravatar cdalton2015-06-02
| | | | | | | | | | Renames getInvariantOutput to getInvariantBlendedColor on GrXPFactory and redefines it to not account for coverage conflation. This is the information that all the callsites actually wanted to know. BUG=skia: Review URL: https://codereview.chromium.org/1161273005
* disable reordering until android bots clear upGravatar joshualitt2015-06-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1167693006
* fix dm crashGravatar joshualitt2015-06-02
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1149243006
* re-enable reorderingGravatar joshualitt2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1164763002
* Revert of Remove SK_FREETYPE_HAS_MM. (patchset #1 id:1 of ↵Gravatar reed2015-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1143133006/) Reason for revert: seems to be breaking DEPS roll FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -fuse-ld=gold -Wl,--no-undefined -Wl,--exclude-libs=libgcc.a -Wl,--exclude-libs=libc++_static.a -Wl,--exclude-libs=libvpx_assembly_arm.a -Wl,--icf=safe -Wl,--warn-shared-textrel -nostdlib --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-14/arch-arm -Wl,--warn-shared-textrel -Wl,-O1 -Wl,--gc-sections -Wl,--as-needed -Wl,--version-script=/b/build/slave/android_chromium_gn/build/src/build/android/android_no_jni_exports.lst -L../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -o ./libskia.so -Wl,-soname=libskia.so @./libskia.so.rsp && { /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf -d ./libskia.so | grep SONAME ; /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -gD -f p ./libskia.so | cut -f1-2 -d' '; } > ./libskia.so.tmp && if ! cmp -s ./libskia.so.tmp ./libskia.so.TOC; then mv ./libskia.so.tmp ./libskia.so.TOC; fi && mkdir -p lib.stripped && ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip --strip-unneeded -o lib.stripped/libskia.so.tmp libskia.so && if ! cmp -s lib.stripped/libskia.so.tmp lib.stripped/libskia.so; then mv lib.stripped/libskia.so.tmp lib.stripped/libskia.so; fi ../../third_party/skia/src/ports/SkFontHost_FreeType.cpp:283: error: undefined reference to 'FT_Get_MM_Var' ../../third_party/skia/src/ports/SkFontHost_FreeType.cpp:302: error: undefined reference to 'FT_Set_Var_Design_Coordinates' ../../third_party/skia/src/ports/SkFontHost_FreeType.cpp:1766: error: undefined reference to 'FT_Get_MM_Var' collect2: error: ld returned 1 exit status Original issue's description: > Remove SK_FREETYPE_HAS_MM. > > The SK_FREETYPE_HAS_MM define was added to delay the changes to > support GX variation fonts on platforms which did not compile ftmm.c > into their FreeType build. Now that all builds should have this file > the define can be removed. > > Committed: https://skia.googlesource.com/skia/+/4f61fee53af956a8beb4c56fa6479cb6b1aa5159 TBR=djsollen@google.com,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1148303005
* Fix for crashing botsGravatar joshualitt2015-06-01
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1159183006
* Set GeometryBufferMapThreshold defaultsGravatar joshualitt2015-06-01
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1161543003
* Remove SK_FREETYPE_HAS_MM.Gravatar bungeman2015-06-01
| | | | | | | | | The SK_FREETYPE_HAS_MM define was added to delay the changes to support GX variation fonts on platforms which did not compile ftmm.c into their FreeType build. Now that all builds should have this file the define can be removed. Review URL: https://codereview.chromium.org/1143133006
* Revert "Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset ↵Gravatar bsalomon2015-06-01
| | | | | | | | #12 id:220001 of https://codereview.chromium.org/1144433002/)" This reverts commit 404b3b264b833eb7cffdc833c7e2ebbd708e123a. Review URL: https://codereview.chromium.org/1161063003
* Fix NULL accessGravatar bsalomon2015-06-01
| | | | | | | | BUG=skia: TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1157363004
* another double squareGravatar caryclark2015-06-01
| | | | | | | | | | This is also a case where the square term is passed to a helper function that squares the error term a second time. R=reed@google.com BUG=skia:3877 Review URL: https://codereview.chromium.org/1152623005
* Expand VisualBench to a real benching toolGravatar joshualitt2015-06-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1159213002
* don't square error term twiceGravatar caryclark2015-06-01
| | | | | | | | | | The cubic code erroneously passed the error square term to a function which in turn squares the error term. R=reed@google.com BUG=skia:3877 Review URL: https://codereview.chromium.org/1163843003
* Stretch small textures up to 16 pixels on PowerVR 54xGravatar bsalomon2015-06-01
| | | | Review URL: https://codereview.chromium.org/1161183002
* Refactor GrGpu path rendering functions to GrPathRenderingGravatar kkinnunen2015-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated each others' path rendering related member functions. Make GrPathRending the logical extension of GrGpu by removing the methods from GrGpu. Similarly to the GL variants. Changes includes and forward declarations due to removing GrDrawTarget.h include from GrGpu.h. This was necessary due to GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore). Very slight runtime improvement on x86_64: desk_fontwipe.skp_1 836us -> 841us 1.01x desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x desk_forecastio.skp_1 7.03ms -> 7.05ms 1x desk_weather.skp_1 3.74ms -> 3.74ms 1x desk_twitter.skp_1 8.02ms -> 8.01ms 1x desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x desk_sfgate.skp_1 3.19ms -> 3.17ms 1x tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x ... tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x Review URL: https://codereview.chromium.org/1157683006
* Revert[6] of add asserts around results from requestLockGravatar reed2015-05-30
| | | | | | | | | This reverts commit 11e833d91b5ba2193ed593cb74900dddbec24b6f. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1159183003
* Revert of Revert[4] of add asserts around results from requestLock (patchset ↵Gravatar reed2015-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #3 id:40001 of https://codereview.chromium.org/1159733006/) Reason for revert: gfx_unittests (under linux_asan) @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@Direct leak of 368 byte(s) in 1 object(s) allocated from:@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@ #0 0x4cc74b in __interceptor_malloc (/b/build/slave/linux_asan/build/src/out/Release/gfx_unittests+0x4cc74b)@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@ #1 0x7f2f7060ebdf in _cairo_image_surface_create_for_pixman_image /build/buildd/cairo-1.10.2/src/cairo-image-surface.c:158@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@Indirect leak of 256 byte(s) in 1 object(s) allocated from:@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@ #0 0x4cc74b in __interceptor_malloc (/b/build/slave/linux_asan/build/src/out/Release/gfx_unittests+0x4cc74b)@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@ #1 0x7f2f6c7be26a in _pixman_image_allocate /build/buildd/pixman-0.30.2/build/pixman/../../pixman/pixman-image.c:184@@@ @@@STEP_LOG_LINE@RenderTextTest.HarfBuzz_HorizontalPositions@@@@ I think they are creating a cairo surface, but it has no pixels (zero size?). In this CL, if I see no pixels, I ignore the call-back which is used to free the surface (doh). Original issue's description: > Revert[4] of add asserts around results from requestLock > > This reverts commit 19663e54c017499406036746e7689193aa6417e6. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/df91b73a34e3a306c93a5e320704736255c3d9f0 TBR=reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1151063005
* Revert[4] of add asserts around results from requestLockGravatar reed2015-05-30
| | | | | | | | | This reverts commit 19663e54c017499406036746e7689193aa6417e6. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1159733006
* Revert of add asserts around results from requestLock (patchset #3 id:40001 ↵Gravatar reed2015-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.or… (patchset #1 id:1 of https://codereview.chromium.org/1165583005/) Reason for revert: failure in cc_unittests (need to diagnose) @@@STEP_LOG_LINE@ResourceProviderTests_ResourceProviderTest.TransferInvalidSoftware_1@ResourceProviderTests/ResourceProviderTest.TransferInvalidSoftware/1 (run #1):@@@ @@@STEP_LOG_LINE@ResourceProviderTests_ResourceProviderTest.TransferInvalidSoftware_1@[ RUN ] ResourceProviderTests/ResourceProviderTest.TransferInvalidSoftware/1@@@ @@@STEP_LOG_LINE@ResourceProviderTests_ResourceProviderTest.TransferInvalidSoftware_1@[17114:17114:0529/180822:15336467671:INFO:SkPixelRef.cpp(168)] ../../third_party/skia/src/core/SkPixelRef.cpp:168: failed assertion "pixels"@@@ Original issue's description: > add asserts around results from requestLock (patchset #3 id:40001 of https://codereview.chromium.org/1155403003/)" > > This reverts commit 3953d360417655b8000df0951699121383db45c3. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/6980f5a96455c8062403c995a64b654a0e9a1319 TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1151573009
* add asserts around results from requestLock (patchset #3 id:40001 of ↵Gravatar reed2015-05-29
| | | | | | | | | | | https://codereview.chromium.org/1155403003/)" This reverts commit 3953d360417655b8000df0951699121383db45c3. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1165583005
* Revert of add asserts around results from requestLock (patchset #3 id:40001 ↵Gravatar reed2015-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1155403003/) Reason for revert: asserts in ui/gfx unittests (need to investigate why) [ RUN ] RenderTextTest.SelectionKeepsLigatures [14602:14602:0529/134016:16779526944:INFO:SkPixelRef.cpp(164)] ../../third_party/skia/src/core/SkPixelRef.cpp:164: failed assertion "pixels" Original issue's description: > add asserts around results from requestLock and lockPixels, ensuring that true always means we have non-null pixels (and non-null colortable if that matches the colortype) > > BUG= 491975 > TBR= > > Committed: https://skia.googlesource.com/skia/+/f941a68126d8fe647eaea902c244c466568b7809 TBR=scroggo@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 491975 Review URL: https://codereview.chromium.org/1159013006
* add asserts around results from requestLock and lockPixels, ensuring that ↵Gravatar reed2015-05-29
| | | | | | | | | true always means we have non-null pixels (and non-null colortable if that matches the colortype) BUG= 491975 TBR= Review URL: https://codereview.chromium.org/1155403003
* SkImage::NewFromYUVTexturesCopyGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1149553002
* Remove GrContext from GrDrawTargetGravatar bsalomon2015-05-29
| | | | | | Still exists on clip target (for now). Review URL: https://codereview.chromium.org/1166553002
* Remove GrContext from GrClipMaskCacheGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1144013007
* use inline version of eval quad if tangent is not neededGravatar caryclark2015-05-29
| | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/1160163002
* Removing GrAutoMallocGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1161993003
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-29
| | | | | | | | TBR=joshualitt@google.com Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 Review URL: https://codereview.chromium.org/1149773005
* delete experimental path renderersGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1160863006
* add context override of GeometryBufferMapThresholdGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1159713006
* add assert that the pixelref really did success in requestlockGravatar reed2015-05-28
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1142343010
* Revert of Add direct getter for GrCaps to GrContext. (patchset #4 id:60001 ↵Gravatar bsalomon2015-05-28
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1149773005/) Reason for revert: Breaking Original issue's description: > Add direct getter for GrCaps to GrContext. > > TBR=joshualitt@google.com > > Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1164443002
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-28
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1149773005
* Break GrTextContext's reliance on SkGpuDeviceGravatar robertphillips2015-05-28
| | | | | | | | | | | This CL seems to have 2 main downsides: 1) It duplicates some code in SkBaseDevice::filterTextFlags 2) It makes it tougher to derive from SkGpuDevice It seems reasonable (at least to me) that the TextContexts get the power to reset the LCD flags. Review URL: https://codereview.chromium.org/1159973002
* simplify RawIter - don't return a pt in kCloseGravatar reed2015-05-27
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1156893003
* Implement Porter Duff XP with a blend tableGravatar cdalton2015-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the runtime logic used by PorterDuffXferProcessor to decide blend coeffs and shader outputs, and instead uses a compile-time constant table of pre-selected blend formulas. Separates out the dst read fallback into its own XP. Introduces a new blend strategy for srcCoeff=0 that can apply coverage with a reverse subtract blend equation instead of dual source blending. Adds new macros in GrBlend.h to analyze blend formulas both runtime. Removes kSetCoverageDrawing_OptFlag and GrSimplifyBlend as they are no longer used. Adds a GM that verifies all xfermodes, including arithmetic, with the color/coverage invariants used by Porter Duff. Adds a unit test that verifies each Porter Duff formula with every color/coverage invariant. Major changes: * Uses a reverse subtract blend equation for coverage when srcCoeff=0 (clear, dst-out [Sa=1], dst-in, modulate). Platforms that don't support dual source blending no longer require a dst copy for dst-in and modulate. * Sets BlendInfo::fWriteColor to false when the blend does not modify the dst. GrGLGpu will now use glColorMask instead of blending for these modes (dst, dst-in [Sa=1], modulate ignored for [Sc=1]). * Converts all SA blend coeffs to One for opaque inputs, and ISA to Zero if there is also no coverage. (We keep ISA around when there is coverage because we use it to tweak alpha for coverage.) * Abandons solid white optimizations for the sake of simplicity (screen was the only mode that previous had solid white opts). Minor differences: * Inconsequential differences in opt flags (e.g. we now return kCanTweakAlphaForCoverage_OptFlag even when there is no coverage). * Src coeffs when the shader outputs 0. * IS2C vs IS2A when the secondary output is scalar. BUG=skia: Committed: https://skia.googlesource.com/skia/+/9a70920db22b6309c671f8e5d519bb95570e4414 Review URL: https://codereview.chromium.org/1124373002
* Better comments in SkXfermodeInterpretationGravatar halcanary2015-05-27
| | | | | | TBR=reed@google.com Review URL: https://codereview.chromium.org/1159493003