aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert of Fix to set correct output type when blending when we've read dst ↵Gravatar joshualitt2014-12-10
| | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/791143002/) Reason for revert: Breaks DM on windows Original issue's description: > Fix to set correct output type when blending when we've read dst > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea TBR=bsalomon@google.com,egdaniel@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/795783002
* fix for chrome bug with sub pixel hairlinesGravatar joshualitt2014-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/796573002
* Revert of Remove GP from drawstate, revision of invariant output for GP ↵Gravatar joshualitt2014-12-10
| | | | | | | | | | | | | | | | | | | | | (patchset #9 id:160001 of https://codereview.chromium.org/791743003/) Reason for revert: breaks mac Original issue's description: > Remove GP from drawstate, revision of invariant output for GP > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/794843002
* Remove GP from drawstate, revision of invariant output for GPGravatar joshualitt2014-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/791743003
* Don't store an SkMatrix in BitmapShaderKey.Gravatar fmalita2014-12-10
| | | | | | | | | | SkMatrix makes for a poor key component due to mutable/cache fields. Use its canonical scalars instead. R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/792123002
* Fix to set correct output type when blending when we've read dstGravatar egdaniel2014-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/791143002
* fix for valgrind uninit variablesGravatar joshualitt2014-12-10
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/793773002
* Detect discarded SkPictureShader pixel refs.Gravatar fmalita2014-12-10
| | | | | | | | | | This doesn't address the more general problem, but reduces the race window significantly. BUG=440282 R=reed@google.com Review URL: https://codereview.chromium.org/787043006
* Gradient shaders: make fPtsToUnit const, pre-cache getType().Gravatar mtklein2014-12-10
| | | | | | | | | | | This prevents races when calling fPtsToUnit.getType() from multiple threads. This introduces a small amount of redundant code in SkTwoPointRadialGradient, but it's probably optimized together into no extra run-time work. BUG=437511 Review URL: https://codereview.chromium.org/793763003
* Change how SkDebugf is sent to stdout on Android.Gravatar scroggo2014-12-10
| | | | | | | | | | | | | Previously, a function was called using dlsym in skia_launcher. Add a static initializer that changes the setting, and include that for the tools we automate for testing. Also only do va_copy if we actually use it. BUG=skia:2454 Review URL: https://codereview.chromium.org/753543003
* dd readPixels to SkImageGravatar reed2014-12-10
| | | | | | | | patch from issue 789673007 at patchset 1 (http://crrev.com/789673007#ps1) BUG=skia: Review URL: https://codereview.chromium.org/793723002
* Remove SkCanvas::drawBitmapMatrix()Gravatar Florin Malita2014-12-10
| | | | | | R=mtklein@google.com, reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/789033002
* Create xfer processor backend.Gravatar egdaniel2014-12-10
| | | | | | | | | | | This includes: -Having an actual XP stage at the end of the gl pipeline. -All Blending work is handled by XP until actually setting GL blend states -GLPrograms test to test XP BUG=skia: Review URL: https://codereview.chromium.org/764643004
* Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32PremulGravatar reed2014-12-10
| | | | | | | | | | patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001) BUG=skia: TBR= re-landing after chrome fixes have landed Review URL: https://codereview.chromium.org/784223007
* Add SSSE3 acceleration for S32_D16_filter_DXGravatar qiankun.miao2014-12-10
| | | | | | | | | | | With this CL, related nanobench can be improved for 565 config. bitmap_BGRA_8888_update_scale_bilerp 76.1us -> 46.7us 0.61x bitmap_BGRA_8888_scale_bilerp 78.7us -> 47us 0.6x bitmap_BGRA_8888_update_volatile_scale_bilerp 82.7us -> 46.9us 0.57x BUG=skia: Review URL: https://codereview.chromium.org/788853002
* add readPixels to SkSurface (later try to remove it from SkCanvas)Gravatar reed2014-12-09
| | | | | | | BUG=skia: TBR=bsalomon, robertphilips Review URL: https://codereview.chromium.org/789993002
* Skia: Track the fIsWrapped separately so that we delete correctlyGravatar hendrikw2014-12-09
| | | | | | | | | | | | | | | GrGlTextureRenderTarget inherits virtually from both GrGlRenderTarget and GrGLTexture, which both have a 'wrap' flag. The passed in wrap setting could be different for the two base classes, but since it's virtually inherited, they share the same flag, so they're either both on, or both off. As a result, we fail to delete the frambuffer. To fix this, we now keep a separate isWrapped flag for GrGlRenderTarget. BUG=437998 Review URL: https://codereview.chromium.org/791493003
* Revert of remove (dumb) canvas::NewRaster, and rename ↵Gravatar reed2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | surface::NewRasterPMColor to N32Premul (patchset #3 id:40001 of https://codereview.chromium.org/790733003/) Reason for revert: need to update chrome first Original issue's description: > remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul > > patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/2c1605a1fbaa2e35a27399a34254fb1200ec2ae6 TBR=fmalita@google.com,fmalita@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/791763002
* This cl moves color and coverage off of drawstate. In an effort to keep ↵Gravatar joshualitt2014-12-09
| | | | | | | | | | this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated). In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs. BUG=skia: Review URL: https://codereview.chromium.org/783763002
* Adding an option for pixelated rendering in SkPictureImageFilterGravatar junov2014-12-09
| | | | | | BUG=skia:3209 Review URL: https://codereview.chromium.org/787073003
* Remove unused static function skcolor_to_grcolor_nopremultiply.Gravatar egdaniel2014-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/762223003
* remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to ↵Gravatar reed2014-12-09
| | | | | | | | | | N32Premul patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001) BUG=skia: Review URL: https://codereview.chromium.org/790733003
* change SkPoint::setLength to set itself to (0,0) if it starting length is ↵Gravatar reed2014-12-09
| | | | | | | | | degenerate. BUG=skia:3203 TBR=caryclark Review URL: https://codereview.chromium.org/785933003
* Fix for alpha textures on Nexus 6.Gravatar jvanverth2014-12-09
| | | | | | | | Nexus 6 appears to require a sized internal format for A8 textures, much like other newer mobile devices. Changed to use sized format for A8 textures in general with ES 3.0. Review URL: https://codereview.chromium.org/783523003
* Don't call GetShaderPrecisionFormat for geometry shaders.Gravatar bsalomon2014-12-09
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/791713002
* Make all blending up to GrOptDrawState be handled by the xp/xp factory.Gravatar egdaniel2014-12-09
| | | | | | | | | | | | In this cl the blending information is extracted for the xp and stored in the ODS which is then used as it currently is. In the follow up cl, an XP backend will be added and at that point all blending work will take place inside XP's. BUG=skia: Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4 Review URL: https://codereview.chromium.org/759713002
* Use threshold of 1 texture coord value per pixel w/ nearest neighbor.Gravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/787873002
* Use GrCoordTransform precision to set uniform matrix precisionGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/784103003
* Rename CustomCoordTextureEffect to GrBitmapTextGeoProc.Gravatar egdaniel2014-12-09
| | | | | | | | Also add in explicit set for LCD text in invariantOutput. BUG=skia: Review URL: https://codereview.chromium.org/786293002
* Make addUniform take a precisionGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/788733003
* Move shader precision out of GrShaderVarGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/777443003
* Use texture size to determine precision of texture coord varyings.Gravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/778783002
* Revert of Replace EncodeBitmap with an interface. (patchset #12 id:210001 of ↵Gravatar scroggo2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/784643002/) Reason for revert: Failing serialization tasks in DM: http://build.chromium.org/p/client.skia/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/352/steps/dm/logs/stdio Original issue's description: > Replace EncodeBitmap with an interface. > > Gives more flexibility to the caller to decide whether to use the > encoded data returned by refEncodedData(). > > Provides an implementation that supports the old version of > SkPicture::serialize(). > > TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely > > BUG=skia:3190 > > Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1 > > Committed: https://skia.googlesource.com/skia/+/02b217f80b01a7dda8493422e5257c36a9ce8464 TBR=reed@google.com,rmistry@google.com NOTREECHECKS=true NOTRY=true BUG=skia:3190 Review URL: https://codereview.chromium.org/783393004
* Replace EncodeBitmap with an interface.Gravatar scroggo2014-12-09
| | | | | | | | | | | | | | | | Gives more flexibility to the caller to decide whether to use the encoded data returned by refEncodedData(). Provides an implementation that supports the old version of SkPicture::serialize(). TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely BUG=skia:3190 Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1 Review URL: https://codereview.chromium.org/784643002
* Avoid crash on some 64b ARM NEON platforms.Gravatar tomhudson2014-12-09
| | | | | | | | | | The compiler may choose to use x30 for a local loop counter; ensure it's saved. Patch from kevin.petit@arm.com, verified by benm@google.com. R=djsollen@google.com Review URL: https://codereview.chromium.org/786273003
* Revert of Replace EncodeBitmap with an interface. (patchset #11 id:190001 of ↵Gravatar robertphillips2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/784643002/) Reason for revert: Compilation is failing on some bots Original issue's description: > Replace EncodeBitmap with an interface. > > Gives more flexibility to the caller to decide whether to use the > encoded data returned by refEncodedData(). > > Provides an implementation that supports the old version of > SkPicture::serialize(). > > TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely > > BUG=skia:3190 > > Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1 TBR=reed@google.com,scroggo@google.com NOTREECHECKS=true NOTRY=true BUG=skia:3190 Review URL: https://codereview.chromium.org/787833002
* Fix MatrixImageFilter computeFastBoundsGravatar robertphillips2014-12-09
| | | | | | | | This CL makes the bounding box returned from SkMatrixImageFilter::computeFastBounds actually contain the final result pixels. This, in turn, fixes the first two rows of the filterfastbounds GM and the SVG web page cited in the bug. BUG=418417 Review URL: https://codereview.chromium.org/785893004
* Display text blob bounds in the debugger.Gravatar fmalita2014-12-09
| | | | | | | | Also fix YPOS. R=robertphillips@google.com,jbroman@chromium.org Review URL: https://codereview.chromium.org/786083002
* Replace EncodeBitmap with an interface.Gravatar scroggo2014-12-09
| | | | | | | | | | | | | | Gives more flexibility to the caller to decide whether to use the encoded data returned by refEncodedData(). Provides an implementation that supports the old version of SkPicture::serialize(). TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely BUG=skia:3190 Review URL: https://codereview.chromium.org/784643002
* Revert of Make all blending up to GrOptDrawState be handled by the xp/xp ↵Gravatar egdaniel2014-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/) Reason for revert: break many gm's Original issue's description: > Make all blending up to GrOptDrawState be handled by the xp/xp factory. > > In this cl the blending information is extracted for the xp and stored in the ODS > which is then used as it currently is. In the follow up cl, an XP backend will be added > and at that point all blending work will take place inside XP's. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4 TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/766653008
* Make all blending up to GrOptDrawState be handled by the xp/xp factory.Gravatar egdaniel2014-12-08
| | | | | | | | | | In this cl the blending information is extracted for the xp and stored in the ODS which is then used as it currently is. In the follow up cl, an XP backend will be added and at that point all blending work will take place inside XP's. BUG=skia: Review URL: https://codereview.chromium.org/759713002
* Tweak SkPictureShader's tile semantics.Gravatar fmalita2014-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the tile offset is added when drawing the picture. This might have made a tiny bit of sense when the picture was always positioned at origin, but with a picture cull rect offset things looks really strange. For example, to specify a tile == the picture cull rect we have to pass in [-cullrect.x, -cullrect.y, cullrect.width, cullrect.height]. Yikes. (there's also a bug when not passing a tile, as we use a default tile == cullrect but don't compensate for the above oddity) This changes the semantics of the tile offset: it is now subtracted when drawing the picture tile. As a consequence, one can pass in a tile equal to the cull rect and get the expected behavior (same when not passing a tile). This will require a minor Blink change with the roll, as one client works around the current behavior: https://codereview.chromium.org/789503003 R=reed@google.com,robertphillips@google.com BUG=440046 Review URL: https://codereview.chromium.org/733203005
* Constify CreatePictureShader's picture arg.Gravatar fmalita2014-12-08
| | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/768113004
* remove device::clear -- no longer calledGravatar reed2014-12-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/778373003
* make SkColorShader private, use public factoryGravatar reed2014-12-08
| | | | | | | | BUG=skia: Need https://codereview.chromium.org/785823002/ to land first Review URL: https://codereview.chromium.org/788533002
* add convexity logic and tests for scalar max, Inf, and NaNGravatar caryclark2014-12-08
| | | | | | | | | | PathOps relies on isConvex() only returning true for trivially convex paths. The old logic also returns true if the paths that contain NaNs and Infinities. Return kUnknown_Convexity instead in those cases and in cases where the convexity logic computes intermediaries that overflow. Review URL: https://codereview.chromium.org/784593002
* Add support for half float alpha textures.Gravatar jvanverth2014-12-05
| | | | | | | | | This allows us to create distance field textures with better precision, which may help text quality. BUG=skia:3103 Review URL: https://codereview.chromium.org/762923003
* Check XpFactory equality in DrawStateGravatar egdaniel2014-12-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/767873006
* Fix include for GrPortderDuffXferProcessor.cppGravatar egdaniel2014-12-05
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/771353005
* Factor text size device mapping in SkScalerContext.Gravatar bungeman2014-12-05
| | | | | | | | | | | | | All of our font back-ends use the text size in some way other than simple concatentation with the current matrix. The code here finds the full device matrix and then decomposes it to extract the text size. FreeType, GDI, and DirectWrite use the text size as the pre-hint scale. CoreText will not scale color emoji above the requested text size, and certain features like 'trak' are performed on the text size. Review URL: https://codereview.chromium.org/748883005