aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Refactor Vulkan support to support FuchsiaGravatar Michael Jurka2017-04-05
| | | | | | | | | | | | | | | | | - Refactor runtime lookup of Vulkan functions - Support Magma surfaces - Add build flags to toggle Vulkan support BUG=skia: Change-Id: Ic71965c453507882521443006c4155c7481a9a3f Reviewed-on: https://skia-review.googlesource.com/9342 Commit-Queue: Greg Daniel <egdaniel@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Michael Jurka <mikejurka@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use the rounded text size for gasp.Gravatar Ben Wagner2017-04-05
| | | | | | | | | | | | | When comparing against gasp ranges always use the rounded (gdi) size. Previously the truncated size was used, but it appears other implementations are using the rounded size. BUG=chromium:706693 Change-Id: I185cdf5b905261038e5150a04eef1b99bf73d875 Reviewed-on: https://skia-review.googlesource.com/11354 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* hide most details of SkPatchUtilsGravatar Mike Reed2017-04-05
| | | | | | | | | | relies on https://googleplex-android-review.git.corp.google.com/#/c/2060523/ landing first Bug: skia: Change-Id: Ic6dc8e53656a7190a32cfb3b0b2abd9ee6dbebf0 Reviewed-on: https://skia-review.googlesource.com/11351 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove texture sampling from GrConfigConversionEffectGravatar Brian Osman2017-04-05
| | | | | | | | | | | | | | | | Elevates default precision for the entire fragment program to maintain precision on some ES implementations. Re-land fixed version of: https://skia-review.googlesource.com/10026/ https://skia-review.googlesource.com/10056 BUG=skia: Change-Id: Ibe43dba9c223e430b2f9f8ed5cb97ed7a049e6c2 Reviewed-on: https://skia-review.googlesource.com/10160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | (take 2) This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148 Reviewed-on: https://skia-review.googlesource.com/11326 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add SkImage::makeColorSpace() to public APIGravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | Gives Chrome the flexibility to xform and cache SkImages before they reach the SkColorSpaceXformCanvas. Bug: skia: Change-Id: I1f188f385b953b5a958c15578ea66deffb4dc6c5 Reviewed-on: https://skia-review.googlesource.com/11290 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Avoid trans-coding images with gamma 2.2Gravatar Brian Osman2017-04-05
| | | | | | | | | | | | | Previously, these were decoded "AsIs". That feature went away (for simplicity). Unfortunately, that means that images with gamma 2.2 were being asked to decode to sRGB, incurring a costly (and destructive) conversion. Bug: skia: Change-Id: I6c8cdfefc052c82a4de37c697c2f659dcdd38d4d Reviewed-on: https://skia-review.googlesource.com/11352 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* finish up load4/store4 refactoringGravatar Mike Klein2017-04-05
| | | | | | | | | | | | | | I saved the easiest for last. No generated code diff for store_f32. This just moves the platform-specific code over to SkJumper_vectors.h Also clarify types in the existing load4()/store4() functions. SkJumper_stages.cpp looks good to start growing again! Change-Id: I6a8599d090b4e17663703b0c0325dbe550a6cdd8 Reviewed-on: https://skia-review.googlesource.com/11348 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Allow FPs to elevate default precision for the entire fragment programGravatar Brian Osman2017-04-05
| | | | | | | | | | | | | | | | | Currently, GrConfigConversionEffect is able to round-trip on many mobile GPUs because it uses highp for all intermediate variables (including the texture fetch result). Separating the texture sample into a different processor breaks that. This is a blunt instrument, not to be used lightly. This reverts commit dffe9827b18444d1426859d9035f9f0087201f44. Bug: skia: Change-Id: I940af3256c47e6672a008d516db9e55669672ca3 Reviewed-on: https://skia-review.googlesource.com/11345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContextPriv" This reverts commit fb0bd98a43fa11e09705837418167dd72bb4a361. Reason for revert: ANGLE failures Original change's description: > Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv > > This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. > > Change-Id: If57a7de47edc0853dae7bc61337d9acdc03d63b0 > Reviewed-on: https://skia-review.googlesource.com/11200 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7241070dc1f9df47181061e07adab141f9857974 Reviewed-on: https://skia-review.googlesource.com/11324 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPrivGravatar Robert Phillips2017-04-05
| | | | | | | | | This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. Change-Id: If57a7de47edc0853dae7bc61337d9acdc03d63b0 Reviewed-on: https://skia-review.googlesource.com/11200 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove legacy canvas helpersGravatar Mike Reed2017-04-05
| | | | | | | | Bug: skia: Change-Id: I79e08adb49556be506e6198d9fadda684bcb08f2 Reviewed-on: https://skia-review.googlesource.com/11321 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert incorrect change to GrCoverageSetOp test factoryGravatar Brian Salomon2017-04-04
| | | | | | | Change-Id: I7d2c9f4e5c2cded2eb06b9a18b73700726103f15 Reviewed-on: https://skia-review.googlesource.com/11292 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Support Canvas Clip on Blit FramebufferGravatar Eric Karl2017-04-04
| | | | | | | | | | | | The previous fix to blit framebuffer didn't take cases where the canvas had a clip applied into account. Fix and update the unit test to add this case. Bug: 658277 Change-Id: If3a9d2c8ddf955164cf529c9d6036618f957e426 Reviewed-on: https://skia-review.googlesource.com/11300 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Finish up mip opts: 2x3 and 3x2"Gravatar Matt Sarett2017-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88ec28e3d7567ec2c3e26fed66c16a68a8f8ae64. Reason for revert: <INSERT REASONING HERE> Original change's description: > Finish up mip opts: 2x3 and 3x2 > > mipmap_build_2048x2047 (2x3): > sRGB Float Impl (old): 82.9ms (reference) > 8888 : 12.3ms (reference) > sRGB Before : 61.9ms > sRGB After : 53.1ms > > mipmap_build_2047x2048 (3x2): > sRGB Float Impl (old): 65.9ms (reference) > 8888 Before : 10.3ms > 8888 After : 8.81ms > sRGB Before : 47.8ms > sRGB After : 43.5ms > > BUG=skia: > > Change-Id: I53ef01e8b8344f018aa940d6c80cf2cf048bf7fa > Reviewed-on: https://skia-review.googlesource.com/10028 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I3153b75f7f9473057e44ee47ab37421919edaeed Reviewed-on: https://skia-review.googlesource.com/11289 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Use sk_sp with GrXferProcessor and use a static factory to handle the ↵Gravatar Brian Salomon2017-04-04
| | | | | | | | | | nullptr==srcover case. Bug: skia: Change-Id: I9c07069fc2aae24fc2884c18939e3a649afc27e7 Reviewed-on: https://skia-review.googlesource.com/11282 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move GrPipelineBuilder into GrRenderTargetContext::addLegacyDrawOpGravatar Brian Salomon2017-04-04
| | | | | | | | | This makes the legacy code use GrProcessorSet::Analysis in the same manner as the non-GrLegacyMeshDrawOps which enables changes to how analysis works. Change-Id: I8171e285ac8930beb3ac33cd3c4ee88f217b9e40 Reviewed-on: https://skia-review.googlesource.com/11205 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* jumper, split store_f16 into to_half, store4Gravatar Mike Klein2017-04-04
| | | | | | | | | | | | | | | | | | | Pretty much the same deal as the last CL going the other direction: split store_f16 into to_half() and store4(). Platforms that had fused strategies here get a little less optimal, but the code's easier to follow, maintain, and reuse. Also adds widen_cast() to encapsulate the fairly common pattern of expanding one of our logical vector types (e.g. 8-byte U16) up to the width of the physical vector type (e.g. 16-byte __m128i). This operation is deeply understood by Clang, and often is a no-op. I could make bit_cast() do this, but it seems clearer to have two names. Change-Id: I7ba5bb4746acfcaa6d486379f67e07baee3820b2 Reviewed-on: https://skia-review.googlesource.com/11204 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-04-04
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: If4489ac3192dcf6f9996494c63821279721d0a12 Reviewed-on: https://skia-review.googlesource.com/11141 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Move the ability to access textures, buffers, and image storages out from ↵Gravatar Brian Salomon2017-04-04
| | | | | | | | | | | GrProcessor. GrXferProcessor can no longer use this functionality so it is moved to a new intermediate class inherited by GrFragmentProcessor and GrPrimitiveProcessor. Change-Id: I4f30c89bdceb2d77b602bf0646107e0780881c26 Reviewed-on: https://skia-review.googlesource.com/11202 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* 565 codec color xform support: fix colortable / incomplete image behaviorGravatar Matt Sarett2017-04-04
| | | | | | | | | | | | | | | | | | This fixes a bug that was exposed when I added color space support for 565 decodes. Before this CL, we would sometimes fill incomplete images with R and B swapped. This fixes that issue. Part of the fix is the decision to do 565 xforms when building the color table (then just swizzle to 565), rather than do them per pixel after swizzling. Bug: skia: Change-Id: I09e1ec75aba09a4e288015ea746465d0c3f7d59f Reviewed-on: https://skia-review.googlesource.com/11137 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* jumper, factor out load4() and from_half()Gravatar Mike Klein2017-04-04
| | | | | | | | | | | | | | | | | | | load_f16 gets slightly worse codegen for ARMv7, SSE2, SSE4.1, and AVX from splitting it apart compared to the previous fused versions. But the stage code becomes much simpler. I'm happy to make those trades until someone complains. load4() will be useful on its own to implement a couple other stages. Everything draws the same. I intend to follow up with more of the same sort of refactoring, but this was tricky enough a change I want to do them in small steps. Change-Id: Ib4aa86a58d000f2d7916937cd4f22dc2bd135a49 Reviewed-on: https://skia-review.googlesource.com/11186 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Finish up mip opts: 2x3 and 3x2Gravatar Matt Sarett2017-04-04
| | | | | | | | | | | | | | | | | | | | | | mipmap_build_2048x2047 (2x3): sRGB Float Impl (old): 82.9ms (reference) 8888 : 12.3ms (reference) sRGB Before : 61.9ms sRGB After : 53.1ms mipmap_build_2047x2048 (3x2): sRGB Float Impl (old): 65.9ms (reference) 8888 Before : 10.3ms 8888 After : 8.81ms sRGB Before : 47.8ms sRGB After : 43.5ms BUG=skia: Change-Id: I53ef01e8b8344f018aa940d6c80cf2cf048bf7fa Reviewed-on: https://skia-review.googlesource.com/10028 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Fully remove coord transform precision codeGravatar Brian Osman2017-04-04
| | | | | | | | | | Coord transforms are always computed and interpolated at high precision. Bug: skia: Change-Id: I5f7eadc2080df8ad5cbb080835c0dba09c59e63e Reviewed-on: https://skia-review.googlesource.com/11180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Store the dst texture used by an XP in GrPipeline rather than in the XP.Gravatar Brian Salomon2017-04-03
| | | | | | | | | This will allow the XP to be created before the dst texture. Change-Id: I3e5bdfa8e5d47e58a3560792ce5cf3899d30a024 Reviewed-on: https://skia-review.googlesource.com/11011 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Refactor and recomment SkJumper_stages.cpp.Gravatar Mike Klein2017-04-03
| | | | | | | | | | | | | SkJumper_stages.cpp is starting to get unweildy. This spins some logical parts out into their own headers. I will follow up by moving more of the very specific f16/f32 load/store logic into SkJumper_vectors.h too. Change-Id: I2a3a055e9d1b65f56983d05649270772a4c69f31 Reviewed-on: https://skia-review.googlesource.com/11133 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert[4] "clean up (partially) colortable api""""Gravatar Mike Reed2017-04-03
| | | | | | | | | | | | | | Fixes: - create temp api for android to pass nullptr - don't release and access sk_sp<SkData> at the same time in parameters This reverts commit b14131c1851eea6acbd34cc42a8f860daed36b21. Bug: skia: Change-Id: Ic0e4f62520ba9f35455499ed30d306ad19d998a8 Reviewed-on: https://skia-review.googlesource.com/11129 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Fix Vulkan memory leak in MSAAGravatar Greg Daniel2017-04-03
| | | | | | | | | BUG=skia: Change-Id: Ia32bd6654fb3f5371d8109e04464e1932d4bab52 Reviewed-on: https://skia-review.googlesource.com/11120 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Use SkTransferFunctionBehavior in SkImageGeneratorGravatar Matt Sarett2017-04-03
| | | | | | | | | | | | This fixes SkColorSpaceXformCanvas gms that expect non-linear premuls from the codec. BUG=skia: Change-Id: I5dc236d0cd760c23605a26e9c33ddb18955f9231 Reviewed-on: https://skia-review.googlesource.com/10164 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Support parametric transfer functions in SkImage_Raster::onMakeColorSpace()Gravatar Matt Sarett2017-04-03
| | | | | | | | BUG=skia:6456 Change-Id: Ib94bba9db669562a9b2b64fff56ebe40a2bc0096 Reviewed-on: https://skia-review.googlesource.com/11122 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* move vertex-mode enum into SkVerticesGravatar Mike Reed2017-04-03
| | | | | | | | | BUG=skia:6366 Change-Id: I3c0bf96cce6d32c9b8d12d16a772aaa6f18981aa Reviewed-on: https://skia-review.googlesource.com/11062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Add SkThreadedBMPDevice for Threaded Raster BackendGravatar Yuqian Li2017-04-03
| | | | | | | | | BUG=skia: Change-Id: I882b6563c735796f3a4dcd19f6c79e7efd8306ae Reviewed-on: https://skia-review.googlesource.com/10505 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* skslc now uses a more recent version of FlexGravatar Ethan Nicholas2017-04-03
| | | | | | | | Bug: 6447 Change-Id: Ie1cb674752442a8992dd247abb2bcace8497c1f4 Reviewed-on: https://skia-review.googlesource.com/11014 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Avoid extra bitmap copies in SkColorSpaceXformCanvasGravatar Matt Sarett2017-04-03
| | | | | | | | | | | | | | | | | | Before: ColorCanvasDrawBitmap_sRGB_to_sRGB 5.09us ColorCanvasDrawBitmap_AdobeRGB_to_sRGB 50.7us After: ColorCanvasDrawBitmap_sRGB_to_sRGB 2.43us ColorCanvasDrawBitmap_AdobeRGB_to_sRGB 37.1us BUG=skia:6456 Change-Id: Ie382936c36fd347b59485882cf8f27f315a5d35f Change-Id: Ie382936c36fd347b59485882cf8f27f315a5d35f Reviewed-on: https://skia-review.googlesource.com/11040 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Move pipeline handling out of GrMeshDrawOp.Gravatar Brian Salomon2017-04-03
| | | | | | | | | | | The monolithic GrPipeline is moved to a subclass GrLegacyDrawMeshOp. The pipeline used to record a GrMesh draw in a GrMeshDrawOp must now be passed rather than implicitly using the op's pipeline. Change-Id: I50d77e4dcc8d91a523fa7566ce43a9a291174706 Reviewed-on: https://skia-review.googlesource.com/11002 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Allow FPs to elevate default precision for the ↵Gravatar Brian Osman2017-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | entire fragment program""" This reverts commit ec53c636b781830cb6146bb32106d4ee44651fcc. Reason for revert: Mali GMs look bad. Original change's description: > Revert "Revert "Allow FPs to elevate default precision for the entire fragment program"" > > This reverts commit 903c3f70400462e191ccbca63393b2df3fe2dd11. > > Reason for revert: Vulkan issue fixed in compiler. > > Original change's description: > > Revert "Allow FPs to elevate default precision for the entire fragment program" > > > > This reverts commit 92d7ccafdf896cf19764e025873d13315a76842d. > > > > Reason for revert: Vulkan errors. > > > > Original change's description: > > > Allow FPs to elevate default precision for the entire fragment program > > > > > > Currently, GrConfigConversionEffect is able to round-trip on many mobile > > > GPUs because it uses highp for all intermediate variables (including the > > > texture fetch result). Separating the texture sample into a different > > > processor breaks that. > > > > > > This is a blunt instrument, not to be used lightly. > > > > > > Bug: skia: > > > Change-Id: I2ab365e3da79628069e2eb727c43c2bf45bfd789 > > > Reviewed-on: https://skia-review.googlesource.com/10162 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > > > > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,ethannicholas@google.com,reviews@skia.org > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > > > Change-Id: Iee5bb409f86a9cabecc76bd1273a5b3cef6af179 > > Reviewed-on: https://skia-review.googlesource.com/10967 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,ethannicholas@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I733a0ecc40b58d8727f0259b5498c8e6610cedce > Reviewed-on: https://skia-review.googlesource.com/11010 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ic3274a0a8b776e811354c3441391ffdc80678292 Reviewed-on: https://skia-review.googlesource.com/11061 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove kAsIs_CachedFormatGravatar Brian Osman2017-04-03
| | | | | | | | | | | | This was confusing and unnecessary. Added an explicit sBGR format to handle one case. Now the CF always fully describes the color type and transfer function (or it's legacy). Bug: skia: Change-Id: I8f792e8aa18cd2391aa541a9368e345d92bba828 Reviewed-on: https://skia-review.googlesource.com/11013 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* jumper, drop Android NDK dependencyGravatar Mike Klein2017-04-03
| | | | | | | | | | | | | | We don't _really_ need the Android NDK. We just need <arm_neon.h> (which comes from Clang, not the NDK) and a smattering of <stdint.h> ([u]intN_t), <string.h> (memcpy) and <stddef.h> (size_t). The idea here is solely to make it easier to run build_stages.py. If this becomes a pain to maintain, I'm happy to go back to the NDK. Change-Id: Ic6bb287646b6160ac42ac6e4d5290a66a7e92425 Reviewed-on: https://skia-review.googlesource.com/10980 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert[2] "clean up (partially) colortable api"""Gravatar Mike Reed2017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9920b10f5292838f00600f676c4578cd11705e60. Reason for revert: trying to get details on w2k failure https://chromium-swarm.appspot.com/task?id=354345d34ba3b310&refresh=10 Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION, was running: unit test HugeBlurImageFilter unit test FontNames unit test Codec_PngRoundTrip unit test ClampRange unit test FontHost unit test ColorMatrixFilter f16 image scaled_codec_premul abnormal.wbmp 565 image brd_android_codec_divisor_0.167 interlaced3.png_0.167 unit test Codec_png unit test ImageFilterBlurLargeImage unit test FontObj unit test DrawText unit test GrShape 565 image brd_android_codec_divisor_0.333 interlaced2.png_0.333 unit test PathOpsOpCubicsThreaded unit test PathOpsOpLoopsThreaded unit test FontMgr unit test ColorToHSVRoundTrip unit test Image_Serialize_Encoding_Failure Likely culprit: unit test Image_Serialize_Encoding_Failure step returned non-zero exit code: -1073741819 Original change's description: > Revert[2] "clean up (partially) colortable api"" > > This reverts commit 1d1165ca6575e082b892c5460492c411618783ad. > > Bug: skia: > Change-Id: Idbc0634ae3cec2e79f592d252de8751b077e6408 > Reviewed-on: https://skia-review.googlesource.com/11024 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia4e73434b083224baa36092c69526c2f59bb16aa Reviewed-on: https://skia-review.googlesource.com/11025 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "clean up (partially) colortable api""Gravatar Mike Reed2017-04-01
| | | | | | | | | | This reverts commit 1d1165ca6575e082b892c5460492c411618783ad. Bug: skia: Change-Id: Idbc0634ae3cec2e79f592d252de8751b077e6408 Reviewed-on: https://skia-review.googlesource.com/11024 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"Gravatar Mike Klein2017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d58f040532f2f5a63d24bd17d7c588e52c0b99c3. Reason for revert: tests/BlendTest is failing on the Nexus Player: https://chromium-swarm.appspot.com/task?id=353ffc638e202210 https://chromium-swarm.appspot.com/task?id=353ff5e35819ab10 Original change's description: > Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup > > Crurently, when preparing a texture for blitFramebuffer, we ignore the > kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to > copy from one src rect to a different dst rect. > > This change updates initDescForDstCopy and setupDstTexture to allocate > larger textures if necessary and accomodate this flags requirements. > > Bug: 658277 > Change-Id: I9f45a03d4055e0ad87c01e1d826287695096e609 > Reviewed-on: https://skia-review.googlesource.com/10941 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ericrk@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0fd6ca95bbc342f21978783b0103073179017795 Reviewed-on: https://skia-review.googlesource.com/11016 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert of fix size check for drawBitmap fast-path in ↵Gravatar mtklein2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | SkBitmapDevice::drawBitmapRect (patchset #2 id:20001 of https://codereview.chromium.org/2089583002/ ) Reason for revert: I agree the diffs are not meaningful, but nevertheless their existence is blocking the roll into Chrome. (https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/7376/layout-test-results/results.html) Original issue's description: > Fix the size check for the drawBitmap fast-path in SkBitmapDevice::drawBitmapRect. It would fail when the source rectangle had a non-zero offset, in which case it would compare the source rectangle with the offset to the extracted bitmap size, which always fails. The only thing that should matter is that the source rectangle and extract bitmap have the same size, since the offset gets added onto the matrix. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2089583002 > > Review-Url: https://codereview.chromium.org/2089583002 > Committed: https://skia.googlesource.com/skia/+/ea9bc0c07b5dae78a9a449d7d7a07fc79262d41a TBR=reed@google.com,caryclark@google.com,lsalzman@mozilla.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/2787263005
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-04-01
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: I9f45a03d4055e0ad87c01e1d826287695096e609 Reviewed-on: https://skia-review.googlesource.com/10941 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* switched skslc to_string strategy after repeated problems on AndroidGravatar Ethan Nicholas2017-03-31
| | | | | | | | | BUG=skia: Change-Id: I9e27d06351e4bfcd503882b2c604878b44b6e5cc Reviewed-on: https://skia-review.googlesource.com/11015 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* added missing <inttypes.h> includeGravatar Ethan Nicholas2017-03-31
| | | | | | | | Bug: skia: Change-Id: I24f556c791f5a8ca295f6dc88dbf5532a7a9f688 Reviewed-on: https://skia-review.googlesource.com/11008 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Fix the size check for the drawBitmap fast-path in ↵Gravatar lsalzman2017-03-31
| | | | | | | | | SkBitmapDevice::drawBitmapRect. It would fail when the source rectangle had a non-zero offset, in which case it would compare the source rectangle with the offset to the extracted bitmap size, which always fails. The only thing that should matter is that the source rectangle and extract bitmap have the same size, since the offset gets added onto the matrix. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2089583002 Review-Url: https://codereview.chromium.org/2089583002
* Revert "Revert "Allow FPs to elevate default precision for the entire ↵Gravatar Brian Osman2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fragment program"" This reverts commit 903c3f70400462e191ccbca63393b2df3fe2dd11. Reason for revert: Vulkan issue fixed in compiler. Original change's description: > Revert "Allow FPs to elevate default precision for the entire fragment program" > > This reverts commit 92d7ccafdf896cf19764e025873d13315a76842d. > > Reason for revert: Vulkan errors. > > Original change's description: > > Allow FPs to elevate default precision for the entire fragment program > > > > Currently, GrConfigConversionEffect is able to round-trip on many mobile > > GPUs because it uses highp for all intermediate variables (including the > > texture fetch result). Separating the texture sample into a different > > processor breaks that. > > > > This is a blunt instrument, not to be used lightly. > > > > Bug: skia: > > Change-Id: I2ab365e3da79628069e2eb727c43c2bf45bfd789 > > Reviewed-on: https://skia-review.googlesource.com/10162 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,ethannicholas@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: Iee5bb409f86a9cabecc76bd1273a5b3cef6af179 > Reviewed-on: https://skia-review.googlesource.com/10967 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I733a0ecc40b58d8727f0259b5498c8e6610cedce Reviewed-on: https://skia-review.googlesource.com/11010 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* fixed SPIR-V compilation error with unmodified variablesGravatar Ethan Nicholas2017-03-31
| | | | | | | Change-Id: I22981a60c21a2e16d41d69c53e099f221a202a58 Reviewed-on: https://skia-review.googlesource.com/11000 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* skslc can now be compiled with no Skia dependencies, in preparation for its ↵Gravatar Ethan Nicholas2017-03-31
| | | | | | | | | | | | eventual This reverts commit 9bd301d640ff63c280b202c7dd00bc00a3315ff4. Bug: skia: Change-Id: I5ad3f77ef33aa5ce2fd27fe383c9339c571663a1 Reviewed-on: https://skia-review.googlesource.com/10964 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* jumper, a couple simple loads and storesGravatar Mike Klein2017-03-31
| | | | | | | Change-Id: I217d7b562f5fa443978044e17469ba757c061209 Reviewed-on: https://skia-review.googlesource.com/10971 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>