aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Add SK_SUPPORT_LEGACY_BACKEND_OBJECTSGravatar Robert Phillips2018-04-12
| | | | | | | | | This relies on the Chrome CL: https://chromium-review.googlesource.com/c/chromium/src/+/999796 (Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS to SkUserConfig.h) landing first. Change-Id: Ie0a2b7b84cc02e46957765a0a7d6444a5320769d Reviewed-on: https://skia-review.googlesource.com/119140 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Blacklist ANGLE againGravatar Chris Dalton2018-04-12
| | | | | | | | Bug: skia:7805 Change-Id: I58290feeca649ffefb389052c127e01703025d61 Reviewed-on: https://skia-review.googlesource.com/120606 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Reland "Fix handling of MaskFilter matrices"Gravatar Florin Malita2018-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c64ee20e135a336ed775ccb6dec8a87efd19ec02. Reason for revert: initial failures should be fixed in https://skia.googlesource.com/skia.git/+/8eaf64ae12696d4189d3cea9f023658494cf82b8 Original change's description: > Revert "Fix handling of MaskFilter matrices" > > This reverts commit 2097fd03ffea48bd904c48c93348b2350600870e. > > Reason for revert: This is breaking a lot of Windows bots (esp. on the shadermaskfilter_localmatrix) > > Original change's description: > > Fix handling of MaskFilter matrices > > > > 1) extend GrFPArgs to track pre/post local matrices, add helpers for > > creating pre/post wrapper args > > > > 2) add a SkShaderBase helper (totalLocalMatrix) to centralize the LM > > sandwich logic. > > > > 3) update call sites to use the above > > > > 4) rename SkMatrixFilter::makeWithLocalMatrix -> makeWithMatrix, to > > disambiguate vs. SkShader::makeWithLocalMatrix. > > > > BUG=skia:7744 > > > > Change-Id: Ib2b7b007e6924979b00649dde7c94ef4b34771f1 > > Reviewed-on: https://skia-review.googlesource.com/119330 > > Commit-Queue: Florin Malita <fmalita@chromium.org> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I918dbb95bf00b3122e6699b84566ec82dbb5fc5c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7744 > Reviewed-on: https://skia-review.googlesource.com/120340 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: If194862a928d1abe22ed8fa968436c725d19a8fc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7744 Reviewed-on: https://skia-review.googlesource.com/120480 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Fix handling of MaskFilter matrices"Gravatar Robert Phillips2018-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2097fd03ffea48bd904c48c93348b2350600870e. Reason for revert: This is breaking a lot of Windows bots (esp. on the shadermaskfilter_localmatrix) Original change's description: > Fix handling of MaskFilter matrices > > 1) extend GrFPArgs to track pre/post local matrices, add helpers for > creating pre/post wrapper args > > 2) add a SkShaderBase helper (totalLocalMatrix) to centralize the LM > sandwich logic. > > 3) update call sites to use the above > > 4) rename SkMatrixFilter::makeWithLocalMatrix -> makeWithMatrix, to > disambiguate vs. SkShader::makeWithLocalMatrix. > > BUG=skia:7744 > > Change-Id: Ib2b7b007e6924979b00649dde7c94ef4b34771f1 > Reviewed-on: https://skia-review.googlesource.com/119330 > Commit-Queue: Florin Malita <fmalita@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I918dbb95bf00b3122e6699b84566ec82dbb5fc5c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7744 Reviewed-on: https://skia-review.googlesource.com/120340 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix handling of MaskFilter matricesGravatar Florin Malita2018-04-11
| | | | | | | | | | | | | | | | | | | | 1) extend GrFPArgs to track pre/post local matrices, add helpers for creating pre/post wrapper args 2) add a SkShaderBase helper (totalLocalMatrix) to centralize the LM sandwich logic. 3) update call sites to use the above 4) rename SkMatrixFilter::makeWithLocalMatrix -> makeWithMatrix, to disambiguate vs. SkShader::makeWithLocalMatrix. BUG=skia:7744 Change-Id: Ib2b7b007e6924979b00649dde7c94ef4b34771f1 Reviewed-on: https://skia-review.googlesource.com/119330 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Get ViaDDL working with VulkanGravatar Robert Phillips2018-04-11
| | | | | | | Change-Id: Iab5ab689529227d2c8a6dbea89e555b73622a99c Reviewed-on: https://skia-review.googlesource.com/118989 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move GrBackendRenderTarget over to new system of getting backed infosGravatar Greg Daniel2018-04-11
| | | | | | | | Bug: skia: Change-Id: I3927390894715e8424b3d0240dad3ee6cd03dc38 Reviewed-on: https://skia-review.googlesource.com/120181 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Clip quadratic hulls more efficientlyGravatar Chris Dalton2018-04-10
| | | | | | | | | | | To minimize area, we should clip by the tangent line at maximum height. Not mid-tangent. This is also easier to find. Bug: skia: Change-Id: I5099b62537f72e51e29bbced7998c0e588e287d9 Reviewed-on: https://skia-review.googlesource.com/119740 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* ccpr: Improve CPU checks for collinear pointsGravatar Chris Dalton2018-04-10
| | | | | | | | Bug: skia: Change-Id: I1373b5e9740538b2bc5c1b33644b7ec5dfadc95c Reviewed-on: https://skia-review.googlesource.com/119982 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Remove fCurrAnchorPoint from GrCCGeometryGravatar Chris Dalton2018-04-10
| | | | | | | | | | | | Removes fCurrAnchorPoint, and various other cleanups. fCurrAnchorPoint was originally added because points were expected to be written directly to mapped GPU buffers, which is not going to happen anymore. Bug: skia: Change-Id: Icaf8d09dae218f58c19a2f368f3cd281e285e2dd Reviewed-on: https://skia-review.googlesource.com/119984 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove extra Vulkan submitCommandBuffer from deleteTestingOnlyBackendTextureGravatar Robert Phillips2018-04-10
| | | | | | | Change-Id: I6e2fd012d1c2af72a34be2d1971e210d7373fe21 Reviewed-on: https://skia-review.googlesource.com/120080 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update getBackendInfo calls on GrBackendTexture to support VkImageLayout better.Gravatar Greg Daniel2018-04-10
| | | | | | | | | | | | | | | The big api level change here is that the getBackendInfo calls now return by value instead of a pointer. These changes are being made in support of Vulkan so that the client can update the VkImageLayout on the GrBackendTexture and have that update get reflected in our internal tracking of the image. This is done by storing a ref counted GrVkImageLayout object on the GrBackendTexture and the GrVkImage. Bug: skia: Change-Id: I8c6158fd3a66eb61fef97ebf09ea5364bca3f1ae Reviewed-on: https://skia-review.googlesource.com/119101 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Reland "Remove deprectated GrContext::MakeGL overloads that take raw ptr"Gravatar Brian Salomon2018-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 87f852d1a30f040cfa0e9567b17ec236e14a0f41. Reason for revert: Google3 updated Original change's description: > Revert "Remove deprectated GrContext::MakeGL overloads that take raw ptr" > > This reverts commit efa60a1d13fa1de00a4cba0454fdd9ad375caa72. > > Reason for revert: Surprise! Google3 still uses these. > > Original change's description: > > Remove deprectated GrContext::MakeGL overloads that take raw ptr > > > > Change-Id: Iae12bf61fa1e2f5d4b13b98198cddb7482656fdf > > Reviewed-on: https://skia-review.googlesource.com/118660 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ica09d80e1563924a286a4a6aa8a1f93cb5ca9c5d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/119001 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I87c12253f759a97cb4da3ff35dc1ec846513caef Reviewed-on: https://skia-review.googlesource.com/119921 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Remove WindMethod from GrCCCoverageProcessorGravatar Chris Dalton2018-04-09
| | | | | | | | | | | Handles weighted triangles from the tessellator instead with a "kWeightedTriangles" PrimitiveType. Bug: skia: Change-Id: I8a6f7b4205e1b3d6f340a30f3e90079ec44b8b6d Reviewed-on: https://skia-review.googlesource.com/119202 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add canvas2D fast paths to new read/write pixels code paths.Gravatar Brian Salomon2018-04-09
| | | | | | | Change-Id: I31fccc5083957281f4ef2dc94f12e5961eed52f3 Reviewed-on: https://skia-review.googlesource.com/119142 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* vulkan: Fix an optimus-related failure with vkEnumeratePhysicalDevicesGravatar Chris Dalton2018-04-06
| | | | | | | | Bug: skia: Change-Id: I44be948b2e3ce925ff539de279db04bf8df7137c Reviewed-on: https://skia-review.googlesource.com/119060 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Make generated effects from sksl fp files not need SK_SUPPORT_GPUGravatar Greg Daniel2018-04-06
| | | | | | | | Bug: skia: Change-Id: I42a5c7fe7dc35a23290c8daa754c9fcce07f76fb Reviewed-on: https://skia-review.googlesource.com/119010 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove unneeded SK_SUPPORT_GPU checks in gpu only files.Gravatar Greg Daniel2018-04-06
| | | | | | | | Bug: skia: Change-Id: I8f25c883f7d741866ac850c8e0ba9f439830570f Reviewed-on: https://skia-review.googlesource.com/119008 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* ccpr: Make curve corners more seamlessGravatar Chris Dalton2018-04-06
| | | | | | | | | | | | | | | Interpolates the acual curve's local coverage values from the corner box vertices, rather than an approximation based on the tangent. Clamps curve segment total coverage values above 0. This prevents us from using negative coverage (which is obviously wrong) when the curve approximation function is slightly inaccurate. Moves GrCCTriangleShader.h into GrCCCoverageProcessor.cpp. Bug: skia: Change-Id: I95de8e940c1508d4a359f5f802c3a688f2b84094 Reviewed-on: https://skia-review.googlesource.com/119066 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add versions of MakeGL() that don't require include GrGLInterface.h in order ↵Gravatar Brian Salomon2018-04-06
| | | | | | | | | to use the GrGLMakeNativeInterface Change-Id: I77bd3c683c284aecc50a3552bbf1fb901f1bcc44 Reviewed-on: https://skia-review.googlesource.com/119002 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Don't use GrPixelConfig value as proxy for valid on GrBackendSurface.Gravatar Greg Daniel2018-04-06
| | | | | | | | Bug: skia: Change-Id: I275b74b915240c9918bb2efa6a9708341f3bb189 Reviewed-on: https://skia-review.googlesource.com/119004 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Remove deprectated GrContext::MakeGL overloads that take raw ptr"Gravatar Robert Phillips2018-04-05
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit efa60a1d13fa1de00a4cba0454fdd9ad375caa72. Reason for revert: Surprise! Google3 still uses these. Original change's description: > Remove deprectated GrContext::MakeGL overloads that take raw ptr > > Change-Id: Iae12bf61fa1e2f5d4b13b98198cddb7482656fdf > Reviewed-on: https://skia-review.googlesource.com/118660 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ica09d80e1563924a286a4a6aa8a1f93cb5ca9c5d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/119001 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove SK_DISABLE_TEXTURE_OP_AAGravatar Brian Salomon2018-04-05
| | | | | | | | | The corresponding Chrome bugs have been fixed and this macro has not been defined in Chrome for some time. Change-Id: I618283e7e6c409d96550fc5b1026c1618280246c Reviewed-on: https://skia-review.googlesource.com/118888 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove deprectated GrContext::MakeGL overloads that take raw ptrGravatar Brian Salomon2018-04-05
| | | | | | | Change-Id: Iae12bf61fa1e2f5d4b13b98198cddb7482656fdf Reviewed-on: https://skia-review.googlesource.com/118660 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add maxTextureSize()/maxRenderTargetSize() to GrContextGravatar Brian Salomon2018-04-05
| | | | | | | | | This provides an alternative way to access these values which will allow removal GrContext::caps() from public API Change-Id: I53d3c00563da8847e1fc14aea9750dc9fd90d1e5 Reviewed-on: https://skia-review.googlesource.com/118962 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrBackendTexture/RenderTarget accessors to SkSurfaceGravatar Robert Phillips2018-04-05
| | | | | | | | | Change-Id: I63477fd4b8d48dc50af72736f0f8df566cd96d4a Reviewed-on: https://skia-review.googlesource.com/85220 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Workaround for lack of ESSL3 external image extension on older Samsung devicesGravatar Brian Osman2018-04-05
| | | | | | | | | | | | | | | | This undoes the original workaround[1] and moves it to our caps workarounds. It also forces us to use the ESSL3 extension string when applying the workaround, as that appears to be necessary. (Otherwise, offending devices just fail to compile when using the older extension string with a newer GLSL version). [1] https://skia-review.googlesource.com/c/skia/+/114505 Bug: skia:7713 Change-Id: I9757034b282a663c6e4d5fd19889c977a12a4d91 Reviewed-on: https://skia-review.googlesource.com/118665 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Avoid calling glGetString(GL_EXTENSIONS) on core profilesGravatar Brian Salomon2018-04-04
| | | | | | | Change-Id: I75c5cd61ddaad91187f65c494f75da720934936d Reviewed-on: https://skia-review.googlesource.com/118683 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Stop using clear-as-draw workaround on newer Intel drivers on macOSGravatar Brian Salomon2018-04-04
| | | | | | | | | Bug= chromium:777849 Change-Id: I6276cbbf4bf6403ff9bf613d1fb31e56785a035e Reviewed-on: https://skia-review.googlesource.com/118625 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrBackendTexture accessor to SkImage (take 2)Gravatar Robert Phillips2018-04-04
| | | | | | | | | | | This makes accessing the GPU resource behind an SkImage a lot more typesafe. Additionally, the GrBackendObject is being deprecated so this is the path forward. I split the controversial stuff off into https://skia-review.googlesource.com/c/skia/+/118575 (Add SkImage::setLayout call). Change-Id: I297e72770e8fb360fac7c7cd74f050ae759ae133 Reviewed-on: https://skia-review.googlesource.com/118571 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* move SkIPoint16 to private headerGravatar Mike Reed2018-04-04
| | | | | | | | | Bug: skia: Change-Id: Ib8045ac7cc24a44c4b70e73153c6faf098730b63 Reviewed-on: https://skia-review.googlesource.com/118721 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make sure we set the origin when initDescForDstCopy failsGravatar Greg Daniel2018-04-04
| | | | | | | | Bug: skia: Change-Id: Ic46a8086c530857d57dd713363482b50b48b5a4f Reviewed-on: https://skia-review.googlesource.com/118682 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Make SkSL GLSL generator declare sk_FragColor inout when EXT ↵Gravatar Brian Salomon2018-04-04
| | | | | | | | | | | | fb fetch is used."" This reverts commit d40133092ae138b3d47a1158101faec3c53c6b1f. Bug: skia: Change-Id: I236505da047d5ad29e4952d8955eb7aa1bfb870b Reviewed-on: https://skia-review.googlesource.com/118621 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Don't use the inner radius when not stroking in DIEllipseGravatar Greg Daniel2018-04-04
| | | | | | | | Bug: skia:7769 Change-Id: Ida462aec8ad832f01aec07602d8be5735a9b0ca2 Reviewed-on: https://skia-review.googlesource.com/118582 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Revert "Make SkSL GLSL generator declare sk_FragColor inout when EXT fb ↵Gravatar Brian Salomon2018-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | fetch is used." This reverts commit 7e1dd2017a59a748c6cb10160868780d2dffdbc0. Reason for revert: breaking fp compilation Original change's description: > Make SkSL GLSL generator declare sk_FragColor inout when EXT fb fetch is used. > > Change-Id: I5e6e3263bb49febc757cd63d5d6c1518f174322d > Reviewed-on: https://skia-review.googlesource.com/118420 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: I2aedfaff93150ba8cd1ed9fed22f3cfdd509695a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/118600 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make SkSL GLSL generator declare sk_FragColor inout when EXT fb fetch is used.Gravatar Brian Salomon2018-04-04
| | | | | | | Change-Id: I5e6e3263bb49febc757cd63d5d6c1518f174322d Reviewed-on: https://skia-review.googlesource.com/118420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Handle perspective scales in GrPathUtil scaleToleranceToSrcGravatar Greg Daniel2018-04-04
| | | | | | | | Bug: skia:7769 Change-Id: Ibf52ebfe5bb79afd0358278fbd284084a10b076b Reviewed-on: https://skia-review.googlesource.com/118180 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Hide GrPixelConfig in SkSurfaceCharacterizationGravatar Robert Phillips2018-04-04
| | | | | | | | TBR=bsalomon@google.com Change-Id: Ifc38d0ca2b18128d27c187f789461fea62d1edae Reviewed-on: https://skia-review.googlesource.com/117440 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Check if fan point is finite in GrAAConvexPathRenderer.Gravatar Greg Daniel2018-04-03
| | | | | | | | Bug: skia:7775 Change-Id: I47818ebbaa4f325233832823df5982f8ca3a7efd Reviewed-on: https://skia-review.googlesource.com/118341 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Drop draw in GrAAConvextPathRenderer if calculation of center of mass ends ↵Gravatar Greg Daniel2018-04-03
| | | | | | | | | | up in NaN Bug: skia:7770 Change-Id: If27494f5df0b5d5ba037e1d21c06bff98019d2b0 Reviewed-on: https://skia-review.googlesource.com/118300 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Check for divide by zero in fill_in_2D_gaussian_kernelGravatar Greg Daniel2018-04-03
| | | | | | | | | | Same change as the 1D one, but now with more dimensions!! Bug: skia:7769 Change-Id: I152031780ab71ba106d4fa65d52960ec4358274e Reviewed-on: https://skia-review.googlesource.com/118262 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Check for divide by zero in fill_in_1D_gaussian_kernelGravatar Greg Daniel2018-04-03
| | | | | | | | Bug: skia:7769 Change-Id: I56a67f8a6f19437359ad6e7bf2d57f6e9a7992c9 Reviewed-on: https://skia-review.googlesource.com/118240 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Allow for divide by zero in miter calculation in GrAAConvexTessellatorGravatar Greg Daniel2018-04-03
| | | | | | | | Bug: skia:7769, oss-fuzz:7302 Change-Id: Id5c70a3be5525ed6b414d7e03d7e94183835f8e3 Reviewed-on: https://skia-review.googlesource.com/118167 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* GrTessellator: fix for points that become infinite on stroking.Gravatar Stephen White2018-04-03
| | | | | | | | | | | stroke -> Inf -> NaN -> assert. BUG=skia:7775 Change-Id: I086883bce90d1d473cff87f67e954718ea3181f6 Reviewed-on: https://skia-review.googlesource.com/118145 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Increase precision in GrSRGBEffectGravatar Brian Salomon2018-04-03
| | | | | | | | | Allows ApplyGammaTest to pass on Bifrost, which uses fp16 for mediump. Change-Id: Icd04001939a2cb7e1789132ab035ca498c92112a Reviewed-on: https://skia-review.googlesource.com/118162 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "implement SkTDArray with std::vector"Gravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 80e1d56e198c5fd9fe6db0c945bd558053a8dc6a. Reason for revert: SkRTree.cpp:57 asserting, probably this? Original change's description: > implement SkTDArray with std::vector > > It's always worth seeing if we can get away with replacing custom data > structures with ones from the standard library. Our array-like types > are all good candidates to replace with std::vector, and it's especially > easy to start with SkTDArray. Unlike the others, it has no preallocated > S-variant, which is tricky to make work with std::vector. > > SkTDArray also has known integer overflow bugs, leading to out of range > writes. It'd be _very_ nice to ditch it for a better standard vector. > > I removed a bunch of unused or little-used methods, and updated a couple > call sites that used methods in unusual or dangerous ways. > > I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just > a touch to work within the constraints of an std::vector impl. It's not > intended to be legal to write to the reserved-but-not-counted elements > of an SkTDArray, but you can get away with it in our old implementation. > This version now uses setCount() to actually reserve and count them, and > should have the same performance and use the same amount of memory. > > The PathMeasure_explosion GM I added recently to reproduce this bug now > draws without triggering undefined behavior or ASAN errors, provided you > have ~40GB of RAM. > > Bug: skia:7674 > > Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e > Reviewed-on: https://skia-review.googlesource.com/115982 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,bungeman@google.com,brianosman@google.com Change-Id: Icffd9f22fe89746a970ff598e1a05c774960bc0e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7674 Reviewed-on: https://skia-review.googlesource.com/117901 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ccpr: Normalize homogeneous coords with frexp/ldexpGravatar Chris Dalton2018-04-02
| | | | | | | | | | | | Hopefully increases cubic accuracy by manipulating exponents instead of calling normalize(). Bug: skia: Change-Id: I8d3596e858a2fbb6650c158753133c5a2e01e166 Reviewed-on: https://skia-review.googlesource.com/117009 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Turn on rendertarget sortingGravatar Robert Phillips2018-04-02
| | | | | | | Change-Id: I1315d0864ee0963569c23f70c1185488b5216f99 Reviewed-on: https://skia-review.googlesource.com/117686 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* implement SkTDArray with std::vectorGravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's always worth seeing if we can get away with replacing custom data structures with ones from the standard library. Our array-like types are all good candidates to replace with std::vector, and it's especially easy to start with SkTDArray. Unlike the others, it has no preallocated S-variant, which is tricky to make work with std::vector. SkTDArray also has known integer overflow bugs, leading to out of range writes. It'd be _very_ nice to ditch it for a better standard vector. I removed a bunch of unused or little-used methods, and updated a couple call sites that used methods in unusual or dangerous ways. I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just a touch to work within the constraints of an std::vector impl. It's not intended to be legal to write to the reserved-but-not-counted elements of an SkTDArray, but you can get away with it in our old implementation. This version now uses setCount() to actually reserve and count them, and should have the same performance and use the same amount of memory. The PathMeasure_explosion GM I added recently to reproduce this bug now draws without triggering undefined behavior or ASAN errors, provided you have ~40GB of RAM. Bug: skia:7674 Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e Reviewed-on: https://skia-review.googlesource.com/115982 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove specVersion check on vk extensions.Gravatar Greg Daniel2018-04-02
| | | | | | | | | | | | | Unlike the specVersion parameter on the layers, specVersion on extensions does not mean what vulkan spec version the extensions work with but just what version of the extension it is. Thus we don't want to compare it to the version of the spec we are making. Bug: skia: Change-Id: If47c249b4cca0b9a10bfb3b8ce88db6bda1e12ed Reviewed-on: https://skia-review.googlesource.com/117634 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>