aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add analytic clip FPs that read from the CCPR atlasGravatar Chris Dalton2017-12-05
| | | | | | | | Bug: skia:7190 Change-Id: Ie31d368f52910e6917efdeb1b024370b06fc11ee Reviewed-on: https://skia-review.googlesource.com/77160 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Avoid GrEllipseEffect for small radii on devices without 32 bit float.Gravatar Brian Salomon2017-12-05
| | | | | | | | | Also limit small radius bail in GrCircleEffect to clip out cases. Change-Id: I14ce736969b05203219d68f30283c36c84f78f3a Reviewed-on: https://skia-review.googlesource.com/80621 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Hide SkEncodedInfo"Gravatar Leon Scroggins2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c6f7a4ffa9522159efc42f7c948bba5e66bb8844. Reason for revert: Causing differences in Gold, stemming from the fact that this changes the recommended SkImageInfo for 16 bits-per-component PNG from N32 to F16. - an F16 bitmap already png-encodes to a 16 bits-per-component PNG, but it does not encode a linear colorspace (possibly a bug?). when we decode this PNG using getInfo(), it fails because it has an F16 color type and non-linear colorspace. (In the encode-srgb-png gm, this results in blank results for F16.) We could correct this on the encoder side, but it seems possible that a 16 bits-per-component PNG could be encoded with a different color space. In that case, we'd want SkCodec to recommend F16/SRGBLinear, but I think we'd want the SkCodec to store the encoded SkColorSpace so that we can Xform between the two. Currently SkCodec only stores one color space, so that will require a refactor. - When decoding 16-bits-per-component PNGs, we are now decoding them to F16. This shows differences in Gold. The srgb/gpu results now look more like F16. I think this is fine. Original change's description: > Hide SkEncodedInfo > > Bug: skia:7353 > Bug: skia:6839 > > This contains information that is not necessary for clients to know. The > Color enum tells the number of components in the input, but this is only > interesting internally (to the SkSwizzler). > > Similarly, the Alpha enum differs from SkAlphaType in that it has > kBinary instead of kPremul. This is useful information only internally > for determining whether the SkColorSpaceXform needs to premultiply. > > The bitsPerComponent is potentially useful for a client; Android (in > SkAndroidCodec) uses it to determine the SkColorType. Rather than > exposing bitsPerComponent, use it to make the same decision that Android > would have made - 16 bits per component means to set the info to F16. Add > a test that computeOutputColorType behaves as expected. > > Switch conversionSupported to use an SkColorType, which is enough info. > > Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an > SkAlphaType. > > SkCodec still needs an SkEncodedInfo, so move its header (which is > already not SK_API) to include/private. > > Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda > Reviewed-on: https://skia-review.googlesource.com/79260 > Reviewed-by: Mike Reed <reed@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=mtklein@chromium.org,scroggo@google.com,reed@google.com Change-Id: I0c5dd1461e1b70d1e55349a8e7ee6b029c3f556e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7353, skia:6839 Reviewed-on: https://skia-review.googlesource.com/80660 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Hide SkEncodedInfoGravatar Leon Scroggins III2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: skia:7353 Bug: skia:6839 This contains information that is not necessary for clients to know. The Color enum tells the number of components in the input, but this is only interesting internally (to the SkSwizzler). Similarly, the Alpha enum differs from SkAlphaType in that it has kBinary instead of kPremul. This is useful information only internally for determining whether the SkColorSpaceXform needs to premultiply. The bitsPerComponent is potentially useful for a client; Android (in SkAndroidCodec) uses it to determine the SkColorType. Rather than exposing bitsPerComponent, use it to make the same decision that Android would have made - 16 bits per component means to set the info to F16. Add a test that computeOutputColorType behaves as expected. Switch conversionSupported to use an SkColorType, which is enough info. Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an SkAlphaType. SkCodec still needs an SkEncodedInfo, so move its header (which is already not SK_API) to include/private. Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda Reviewed-on: https://skia-review.googlesource.com/79260 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Restore ability to dump SKSL in addition to GLSLGravatar Brian Salomon2017-12-04
| | | | | | | Change-Id: Ib5d980414803234c0aff39b2cf085bb84405574a Reviewed-on: https://skia-review.googlesource.com/79902 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* helper api to force a raster imageGravatar Mike Reed2017-12-04
| | | | | | | | Bug: skia: Change-Id: I53f3d426e97f446b17dc965fa8dd6d6aae441ac9 Reviewed-on: https://skia-review.googlesource.com/79901 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Only look at gamut_transform if we wrote to it.Gravatar Mike Klein2017-12-04
| | | | | | | | | | | | | If we're already in sRGB gamut, we will not write to the 3x4 matrix, but we still analyze it to see if we need clamping. So we might (harmlessly) re-clamp some already clamped colors unnecessarily. Found by this Chromium MSAN bot. Bug: chromium:789767 Change-Id: I5d76e59b541a03ee8efbd4352262b4f650e1ec01 Reviewed-on: https://skia-review.googlesource.com/79762 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add resource cache limits to SkSurfaceCharacterizationGravatar Robert Phillips2017-12-04
| | | | | | | Change-Id: I4c3b2f1c6ecc39b2364cefae07d5dee5e3d20d60 Reviewed-on: https://skia-review.googlesource.com/79600 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add unit test for SkDeferredDisplayLists (take 2)Gravatar Robert Phillips2017-12-04
| | | | | | | Change-Id: I76a4c77d5b9418cb7fe677bd55ba32a2e336924d Reviewed-on: https://skia-review.googlesource.com/79820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add support for internal gl format in GrGLTextureInfoGravatar Greg Daniel2017-12-04
| | | | | | | | | | | | | This gives clients the ability to wrap GL textures with just the GL Format. This enables us to distinquish between wrapping in Alpha8 texture that is implented with Alpha or Red format Bug: skia: Change-Id: Iacbea60a149c436c270b7ff9ce5d019947678793 Reviewed-on: https://skia-review.googlesource.com/72600 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Avoid coverage aa for filled drrects when using msaa.Gravatar Brian Salomon2017-12-04
| | | | | | | Change-Id: If0ba4a2a3baa4cfae2aebb05bd61786918486874 Reviewed-on: https://skia-review.googlesource.com/79620 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add unit test for SkDeferredDisplayLists"Gravatar Robert Phillips2017-12-04
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8458a2807b4a7220c9849f8032dc611438818641. Reason for revert: ?? Original change's description: > Add unit test for SkDeferredDisplayLists > > Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28 > Reviewed-on: https://skia-review.googlesource.com/78660 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iec3abb18d3ed41fcfbec72bc2de14603f659f8ce No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/79720 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix setjmp/longjump usage in JPEG error handlingGravatar Chris Dalton2017-12-04
| | | | | | | | | | | | Pushes and pops nested jmp_bufs in a stack for proper handling of nested setjmp calls. Ensures longjmp is never called to a stack frame that has exited. Bug: skia: Change-Id: I18d62504f6e5e3eb53026c3b48617b92ea74b905 Reviewed-on: https://skia-review.googlesource.com/79241 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Add unit test for SkDeferredDisplayListsGravatar Robert Phillips2017-12-04
| | | | | | | Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28 Reviewed-on: https://skia-review.googlesource.com/78660 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Disable SkImage multitexturing for AMD GPUs.Gravatar Brian Salomon2017-12-04
| | | | | | | Change-Id: Icc68b09acfadf9e1f6e8ec582d2d6b7f1d00aebe Reviewed-on: https://skia-review.googlesource.com/78403 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Enable explicit GPU resource allocation""Gravatar Robert Phillips2017-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 537473317ca19014c5a092313854d8938505def6. Reason for revert: Fix has landed (let's try again) Original change's description: > Revert "Enable explicit GPU resource allocation" > > This reverts commit 733965adceaf3f8488ed45c508e252bcfa4b84f9. > > Reason for revert: Intel NUCs failures on gltestthreading config > > Original change's description: > > Enable explicit GPU resource allocation > > > > I think there is a low probability this will stick but we have to try sometime. > > > > Change-Id: Id79d55b4e0daf5b3dd0e8a56034e3d478c77606d > > Reviewed-on: https://skia-review.googlesource.com/78221 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: Ie782b352d7f6a8e385564106678e0b1bf507053a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/78560 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I9289e9ade59b38c4214160283faa2d0c8ac71824 Reviewed-on: https://skia-review.googlesource.com/79540 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add cap on intel to avoid calling abs and floor on the same line in aGravatar Greg Daniel2017-12-02
| | | | | | | | | | | | | | | | | | | | shader. This fixes a bug on some intel devices where we are failing in the ProcessorOptimizationTest. I've tried other "no op" type things between the floor call and abs which also fixed the issue, as well as adding explicit checks to see if we are less than -1 or greater than 1 where the clamp is. Thus the clamp itself should be a no op and shouldn't secretly be fixing the problem outside of forcing the floor and abs lines to be separate. Bug: skia: Change-Id: I85bf82e0e02607b78470b7a5f8f918e9f53f0154 Reviewed-on: https://skia-review.googlesource.com/76820 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Initialize dst image memory for small sigmaGravatar Herbert Derby2017-12-01
| | | | | | | | | | | The GPU and CPU share the same code for layout; the layout is too large for CPU. So, the CPU code must clear some of the destination even if there would be no work to do. Change-Id: I29a04217b620b033a01db53487dc64e377661436 BUG=chromium:789812 Reviewed-on: https://skia-review.googlesource.com/79401 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Fix rendering of drrects with small circular inner rrects.""Gravatar Brian Salomon2017-12-01
| | | | | | | | | This reverts commit ec727c981dd7ed83e98c7713c2828c6ab144937b. Change-Id: Id3164619016d58b2bcc0b8af606215653f553fce Reviewed-on: https://skia-review.googlesource.com/79422 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Set multitexturing image threshold for PowerVR."Gravatar Brian Salomon2017-12-01
| | | | | | | | | | | | | | | | This is a reland of 06c8da41eb13f46534d3acf79c5635c240b2cbe0 Original change's description: > Set multitexturing image threshold for PowerVR. > > Change-Id: I2fd928f79e005c73151a9b915879ac561c3fadaf > Reviewed-on: https://skia-review.googlesource.com/78400 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> Change-Id: Ib755e57833bf22e7feb612eb434eae3cac2e3f45 Reviewed-on: https://skia-review.googlesource.com/79263 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add Store3 to Sk2fGravatar Chris Dalton2017-12-01
| | | | | | | | Bug: skia: Change-Id: I0377e6a1dd8259e944f7902a5c68af524fa588c7 Reviewed-on: https://skia-review.googlesource.com/79382 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add explicit GPU resource allocation of deferred proxiesGravatar Robert Phillips2017-12-01
| | | | | | | Change-Id: I5d5f5ca830feba143f494c25344f8614a88cb2cc Reviewed-on: https://skia-review.googlesource.com/79220 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Fix rendering of drrects with small circular inner rrects."Gravatar Brian Salomon2017-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 096074af2c6fcbf622f0a42b2f7c56d0c66fbd80. Reason for revert: failing processor validation test Original change's description: > Fix rendering of drrects with small circular inner rrects. > > Previously when the inner rrect was a circle with a radius of 1 we would > cause a inf * 0 in the shader which would lead to the shape not rendering. > > This change also makes concentric circle drrects draw as stroked circles. > > bug: chromium:789262 > > Change-Id: I6efbe3fdde25d6c4e031c7412d83df009afe014a > Reviewed-on: https://skia-review.googlesource.com/79141 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ie9b9c81380c0f98a6fc6c6dc350ec56402c4ff2b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/79264 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* fix pathops handling of tiny wrapback quads and cubicsGravatar Cary Clark2017-12-01
| | | | | | | | | | | | | If a quad or cubic reverses on itself, path ops breaks it in two. It determines the type of curve remaining, but needs to replace near-zero with zero first. TBR=reed@google.com Bug:790731 Change-Id: I3a1afa14fff064ca874b5abc768ec1ec5c2cf22f Reviewed-on: https://skia-review.googlesource.com/79400 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@skia.org>
* Reland "Set multitexturing threshold for NVIDIA"Gravatar Brian Salomon2017-12-01
| | | | | | | | | | | | | | | | This is a reland of b4ec10431818200a41a082cfe2e82fe58a9b1ecc Original change's description: > Set multitexturing threshold for NVIDIA > > Change-Id: Ie992b34b8fdd3bf569241cce7c851880258f05df > Reviewed-on: https://skia-review.googlesource.com/78261 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> Change-Id: I13254698530e6f7b13f632a4a7b034ea6aef130f Reviewed-on: https://skia-review.googlesource.com/79262 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix rendering of drrects with small circular inner rrects.Gravatar Brian Salomon2017-12-01
| | | | | | | | | | | | | | Previously when the inner rrect was a circle with a radius of 1 we would cause a inf * 0 in the shader which would lead to the shape not rendering. This change also makes concentric circle drrects draw as stroked circles. bug: chromium:789262 Change-Id: I6efbe3fdde25d6c4e031c7412d83df009afe014a Reviewed-on: https://skia-review.googlesource.com/79141 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Try to bypass the false-positive clang thread analysis warningGravatar Yuqian Li2017-12-01
| | | | | | | | | | | | | | | | This is identical to 70221 except for 3 lines inside SkFlexibleTaskGroup2D::work to bypass the false-positive warning. We cannot reproduce the error the android roller generated so we'll have to try and see. The detailed warning can be found in: https://skia-review.googlesource.com/c/skia/+/78720 TBR: mtklein@google.com Bug: skia: Change-Id: I3e2f414581dbd1398482cf45cf4f43eaf0535651 Reviewed-on: https://skia-review.googlesource.com/79321 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* add Load2() to Sk4fGravatar Mike Klein2017-12-01
| | | | | | | | | and test it. Change-Id: Ib0c2cf93c63d8d3c36a7d4d60bbec4ecede29bc7 Reviewed-on: https://skia-review.googlesource.com/78480 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove more views code, just to simplify thingsGravatar Brian Osman2017-12-01
| | | | | | | | Bug: skia: Change-Id: Ie31a3c764e4f88f2b08f4198bd253841a2d8c264 Reviewed-on: https://skia-review.googlesource.com/79100 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Use a dst size threshold for multitexturing images.""Gravatar Brian Salomon2017-12-01
| | | | | | | | | This reverts commit be85ef25111ac59275b1642350ffb608141c404f. Change-Id: Icc22eb5841fabc53232b360efaac2d6ebf72e358 Reviewed-on: https://skia-review.googlesource.com/79081 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move some bits from views to sk_appGravatar Brian Osman2017-12-01
| | | | | | | | | | | | | | Most of these are required for sk_app, and have nothing to do with the code that's left in views at this point. No presubmit due to missing copyright in third-party public domain code. No-Presubmit: true Bug: skia: Change-Id: If725f755f7f12f26b6bdc0cacfb136557b831bcf Reviewed-on: https://skia-review.googlesource.com/78981 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* fixed a few SPIR-V generation errorsGravatar Ethan Nicholas2017-11-30
| | | | | | | | Bug: skia: Change-Id: Ica79d36e32dcfbfc68a6238c9fa0b2a8dcfa20bb Reviewed-on: https://skia-review.googlesource.com/78040 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* remove read/write rawpixelsGravatar Mike Reed2017-11-30
| | | | | | | | Bug: skia: Change-Id: I000b70414119355fef0d45de4ae9ef996b8a5568 Reviewed-on: https://skia-review.googlesource.com/77903 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Renaming and refactoring to prepare for init-once threaded backend"Gravatar Leon Scroggins2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 07a42411f8d4a00d992bafdd18f2183f58c4547a. Reason for revert: This looks to be breaking the Android roll. See https://googleplex-android-review.googlesource.com/c/platform/external/skia/+/3295488 external/skia/src/core/SkTaskGroup2D.cpp:73:28: error: releasing mutex 'rowData.fMutex' that was not held [-Werror,-Wthread-safety-analysis] rowData.fMutex.unlock(); Original change's description: > Renaming and refactoring to prepare for init-once threaded backend > > Bug: skia: > Change-Id: I39b1d73b612a9c133847dd7361d634a0351659f1 > Reviewed-on: https://skia-review.googlesource.com/70221 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> TBR=mtklein@google.com,herb@google.com,liyuqian@google.com Change-Id: I701e6c62f6f437a6a285953b45b2e58cf7f0b6e5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/78720 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* encode kAlpha_8 as grayalpha with sigbits for gray==1Gravatar Mike Reed2017-11-30
| | | | | | | | Bug: skia: Change-Id: Ib61e8e0f62af92d8746f5e73469002e7804a8447 Reviewed-on: https://skia-review.googlesource.com/78481 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Renaming and refactoring to prepare for init-once threaded backendGravatar Yuqian Li2017-11-30
| | | | | | | | Bug: skia: Change-Id: I39b1d73b612a9c133847dd7361d634a0351659f1 Reviewed-on: https://skia-review.googlesource.com/70221 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Enable explicit GPU resource allocation"Gravatar Robert Phillips2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 733965adceaf3f8488ed45c508e252bcfa4b84f9. Reason for revert: Intel NUCs failures on gltestthreading config Original change's description: > Enable explicit GPU resource allocation > > I think there is a low probability this will stick but we have to try sometime. > > Change-Id: Id79d55b4e0daf5b3dd0e8a56034e3d478c77606d > Reviewed-on: https://skia-review.googlesource.com/78221 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ie782b352d7f6a8e385564106678e0b1bf507053a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/78560 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Use a dst size threshold for multitexturing images."Gravatar Brian Salomon2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit edfa0d2f623dc66e695fac631d5fb03599b264b7. Reason for revert: ubsan bug Original change's description: > Use a dst size threshold for multitexturing images. > > TODO: Set thresholds based on GPU in use. > > Change-Id: I0aeac596d11ab63922f2df0d76c668b4f8be5353 > Reviewed-on: https://skia-review.googlesource.com/77900 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Iea56ce73cf8f7bca265fe58907a72ecf96497d22 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/78542 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Set multitexturing threshold for NVIDIA"Gravatar Brian Salomon2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b4ec10431818200a41a082cfe2e82fe58a9b1ecc. Reason for revert: to revert another change Original change's description: > Set multitexturing threshold for NVIDIA > > Change-Id: Ie992b34b8fdd3bf569241cce7c851880258f05df > Reviewed-on: https://skia-review.googlesource.com/78261 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I87923d039d2f2fe17fb73b5e8f45b0c3f6dfedf2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/78541 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Set multitexturing image threshold for PowerVR."Gravatar Brian Salomon2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 06c8da41eb13f46534d3acf79c5635c240b2cbe0. Reason for Original change's description: > Set multitexturing image threshold for PowerVR. > > Change-Id: I2fd928f79e005c73151a9b915879ac561c3fadaf > Reviewed-on: https://skia-review.googlesource.com/78400 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I949291b03657c1c337bc03e01dd908f28b78aba4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/78540 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Enable explicit GPU resource allocationGravatar Robert Phillips2017-11-30
| | | | | | | | | I think there is a low probability this will stick but we have to try sometime. Change-Id: Id79d55b4e0daf5b3dd0e8a56034e3d478c77606d Reviewed-on: https://skia-review.googlesource.com/78221 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Set multitexturing image threshold for PowerVR.Gravatar Brian Salomon2017-11-30
| | | | | | | Change-Id: I2fd928f79e005c73151a9b915879ac561c3fadaf Reviewed-on: https://skia-review.googlesource.com/78400 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Set multitexturing threshold for NVIDIAGravatar Brian Salomon2017-11-30
| | | | | | | Change-Id: Ie992b34b8fdd3bf569241cce7c851880258f05df Reviewed-on: https://skia-review.googlesource.com/78261 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Flesh out SkSurfaceCharacterizationGravatar Robert Phillips2017-11-30
| | | | | | | | | This should be it for now except for maybe a GrMipMapped field. Change-Id: I8f20a1048eaa8cd2b5eab5f42ca58c61649f72e7 Reviewed-on: https://skia-review.googlesource.com/78440 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix SkInternalAtlasTextContext to update advance the flush token after ↵Gravatar Brian Salomon2017-11-30
| | | | | | | | | | | issuing each draw. This was causing SkAtlasTextTarget:flush() calls beyond the first to skip the uploads of glyphs added to the atlas after the first flush(). Change-Id: I291b88d50629e38914d4b6af21fc25d8a41fbd9d Reviewed-on: https://skia-review.googlesource.com/77584 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add "lazy" texture proxiesGravatar Chris Dalton2017-11-30
| | | | | | | | | | | Adds ultra-deferred proxies that are instantiated by a user-supplied callback during flush. Bug: skia:7190 Change-Id: I75a7ac6dba953c3b0a99febc203a7f4d2f3789fc Reviewed-on: https://skia-review.googlesource.com/76461 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* bug fix in matrix color filterGravatar Mike Klein2017-11-30
| | | | | | | | | | | | | | | | | | | | | | | The current code for this filter premuls, then clamps. We should be clamping, then premulling. If the matrix makes alpha greater than 1, these two orderings can result in different color values. Alpha will clamp to 1 either way, but the color channels are multiplied by that >1 alpha in one case, and by =1 in the other. The left column of the gm imagefilterscropexpand demonstrates this. Its matrix adds 32/255 to alpha and 255/255 to green. This produces alpha ~= 1.12. That's then multiplied by the relatively small red and blue values in the grey checkerboard, resulting in different in-range values than the ones we would have gotten if we clamped alpha first. Green wasn't affected because it was already fully saturated. 255 * 1.12 == 255 no matter when we clamp. Change-Id: I4b30bf64c30fe62526674ad5f32e9ca19ec84714 Reviewed-on: https://skia-review.googlesource.com/77902 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Use a dst size threshold for multitexturing images.Gravatar Brian Salomon2017-11-30
| | | | | | | | | TODO: Set thresholds based on GPU in use. Change-Id: I0aeac596d11ab63922f2df0d76c668b4f8be5353 Reviewed-on: https://skia-review.googlesource.com/77900 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add a GrContextThreadSafeProxy to SkSurfaceCharacterizationGravatar Robert Phillips2017-11-30
| | | | | | | | | Ganesh will require access to the GrCaps to make rendering decisions. Change-Id: I6dee42a3f0dc638f052706b8d1ea6e02b589e062 Reviewed-on: https://skia-review.googlesource.com/77681 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>