aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Plumb GrContext everywhereGravatar Robert Phillips2018-06-12
| | | | | | | | | | There is no good way to split the monster CL up. This breaks out the GrContext plumbing but doesn't use it. Change-Id: I90856d428d372bcec3f8821e6364667b367927d4 Reviewed-on: https://skia-review.googlesource.com/133382 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* trim #include <new> from SkPostConfig.hGravatar Mike Klein2018-06-11
| | | | | | | Change-Id: I693ddcd4ade101ba4eb4102e03adce183aa1d672 Reviewed-on: https://skia-review.googlesource.com/133829 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "remove half float workaround in GrGLGpu::onReadPixels"Gravatar Stephen White2018-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 17ee85597a09757d1bdd31c4452bafcc430332f8. Reason for revert: causing asserts on Chrome roll? e.g., 16:53:48.225 14315 0 Content Shell Framework 0x00000001107336dc base::debug::StackTrace::StackTrace(unsigned long) + 28 16:53:48.225 14315 1 Content Shell Framework 0x000000011065d4df logging::LogMessage::~LogMessage() + 223 16:53:48.225 14315 2 Content Shell Framework 0x000000011275ad01 blink::StaticBitmapImage::ConvertToArrayBufferContents(scoped_refptr<blink::StaticBitmapImage>, WTF::ArrayBufferContents&, blink::IntRect const&, blink::CanvasColorParams const&, bool) + 1361 16:53:48.225 14315 3 Content Shell Framework 0x0000000113e3f289 blink::BaseRenderingContext2D::getImageData(int, int, int, int, blink::ExceptionState&) + 777 16:53:48.225 14315 4 Content Shell Framework 0x0000000113b82a1a blink::V8CanvasRenderingContext2D::getImageDataMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&) + 394 16:53:48.225 14315 5 Content Shell Framework 0x000000010e85b66e v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) + 862 16:53:48.225 14315 6 Content Shell Framework 0x000000010e8598da v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 1002 16:53:48.225 14315 7 Content Shell Framework 0x000000010e857c50 v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 704 16:53:48.225 14315 8 Content Shell Framework 0x000000010e857758 v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) + 200 16:53:48.225 14315 9 Content Shell Framework 0x000000010f5b2a35 v8_Default_embedded_blob_ + 2212597 16:53:48.225 14315 10 ??? 0x00000039bd68bcf1 0x0 + 247990893809 16:53:48.225 14315 11 Content Shell Framework 0x000000010f398946 v8_Default_embedded_blob_ + 8710 16:53:48.225 14315 16:53:48.245 14281 [45/5600] virtual/gpu/fast/canvas/color-space/canvas-getImageData-rec2020.html failed unexpectedly (renderer crashed) https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8944247412232349408%2F%2B%2Fsteps%2Fwebkit_layout_tests_on_Intel_GPU_on_Mac__with_patch__on_Mac-10.12.6%2F0%2Fstdout Original change's description: > remove half float workaround in GrGLGpu::onReadPixels > > Change-Id: Ifb30a0b977918d84f5b9d5ea1714d19cc7392e37 > Reviewed-on: https://skia-review.googlesource.com/133440 > Commit-Queue: Brian Osman <brianosman@google.com> > Auto-Submit: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I16f0970e105e1068eb4976cd8fbb119e5830c087 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/133840 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Fall back to bilerp if we are undable to do a copy for mips.Gravatar Greg Daniel2018-06-08
| | | | | | | | Bug: skia: Change-Id: I52b86d83aaec1fa245be2ee17bbd56defcb5881f Reviewed-on: https://skia-review.googlesource.com/133587 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland "Reland "Require mips to be allocated at texture creation time and ↵Gravatar Greg Daniel2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | disable late allocations."" This reverts commit 01422bc8eff0c317b9c234b3b4f5a82f1011dfce. Reason for revert: follow on change may be ready Original change's description: > Revert "Reland "Require mips to be allocated at texture creation time and disable late allocations."" > > This reverts commit 9eb36b9eb8e81e970e02fa985ae82fe64de0a8f0. > > Reason for revert: Alpha8 isn't renderable on es2 so we end up dropping draws on certain A8 mip requests > > Original change's description: > > Reland "Require mips to be allocated at texture creation time and disable late allocations." > > > > This reverts commit 0c78238e2991c95b6fb3c945d4ad2b5d941ae21b. > > > > Reason for revert: <INSERT REASONING HERE> > > > > Original change's description: > > > Revert "Require mips to be allocated at texture creation time and disable late allocations." > > > > > > This reverts commit cd2c3f9055452d413d6be7ea6dc63fd1922fe994. > > > > > > Reason for revert: Looks to be causing angle failures on initial clear test > > > > > > Original change's description: > > > > Require mips to be allocated at texture creation time and disable late allocations. > > > > > > > > If we get a non-mipped texture for a draw that wants to be use mip map filter, we > > > > will copy the texture into a new mipped texture. > > > > > > > > Clean up of unused code in the GPU backends for reallocating for mips will be done > > > > in a follow up CL. > > > > > > > > Bug: skia: > > > > Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 > > > > Reviewed-on: https://skia-review.googlesource.com/132830 > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > > > > > > > Change-Id: I49f0ace52f2586d61b451630b2e6aae84b420b81 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/133041 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > Bug: skia: > > Change-Id: I004447a5f1ec72c3be2318ddea803f57efb12ea4 > > Reviewed-on: https://skia-review.googlesource.com/133340 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com > > Change-Id: I9e9718d380c4d9927ec39e46008750ab7396391f > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/133680 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Ic3df69f65a89962b21cdb50ee436a29fd121ab1f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/133740 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Stop passing GrPrimitiveProcessor to GrMesh::sendToGpu.Gravatar Brian Salomon2018-06-08
| | | | | | | | | | | | | It is currently used in GrGLGpu::setupGeometry. Instead: 1) Make GrMesh track whether primitive restart should be enabled. 2) Make GrGLProgram track program attributes. Change-Id: Ice411a495961fcbc3cedc81e8ae0583537f42153 Reviewed-on: https://skia-review.googlesource.com/132267 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Revert "Reland "Require mips to be allocated at texture creation time and ↵Gravatar Greg Daniel2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | disable late allocations."" This reverts commit 9eb36b9eb8e81e970e02fa985ae82fe64de0a8f0. Reason for revert: Alpha8 isn't renderable on es2 so we end up dropping draws on certain A8 mip requests Original change's description: > Reland "Require mips to be allocated at texture creation time and disable late allocations." > > This reverts commit 0c78238e2991c95b6fb3c945d4ad2b5d941ae21b. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Revert "Require mips to be allocated at texture creation time and disable late allocations." > > > > This reverts commit cd2c3f9055452d413d6be7ea6dc63fd1922fe994. > > > > Reason for revert: Looks to be causing angle failures on initial clear test > > > > Original change's description: > > > Require mips to be allocated at texture creation time and disable late allocations. > > > > > > If we get a non-mipped texture for a draw that wants to be use mip map filter, we > > > will copy the texture into a new mipped texture. > > > > > > Clean up of unused code in the GPU backends for reallocating for mips will be done > > > in a follow up CL. > > > > > > Bug: skia: > > > Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 > > > Reviewed-on: https://skia-review.googlesource.com/132830 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > > > Change-Id: I49f0ace52f2586d61b451630b2e6aae84b420b81 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/133041 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Bug: skia: > Change-Id: I004447a5f1ec72c3be2318ddea803f57efb12ea4 > Reviewed-on: https://skia-review.googlesource.com/133340 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I9e9718d380c4d9927ec39e46008750ab7396391f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/133680 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Avoid degenerate matrices (that trigger asserts) in test codeGravatar Brian Osman2018-06-08
| | | | | | | | | | | | I encountered this on an in-progress CL when I jiggled the GLPrograms test a bit. Change-Id: I8454bf0f35836e3a668f74918fa0c5ef0e58a9b5 Reviewed-on: https://skia-review.googlesource.com/133586 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* rebaseGravatar Cary Clark2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Additionally some bookmaker changes take into account recent additions of typedef comments and the generated header comment. Original change's description: > Revert "remove toString" > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark <caryclark@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com> Docs-Preview: https://skia.org/?cl=133583 Bug: 830651 Change-Id: If8499e796be63580ad419e150e94d43e8b89de1b Reviewed-on: https://skia-review.googlesource.com/133583 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* Make the SkPathRef GenIDChangeListener ref countedGravatar Chris Dalton2018-06-08
| | | | | | | | Bug: skia: Change-Id: I2780e3fc76153373b4efca6059ded82f4f749325 Reviewed-on: https://skia-review.googlesource.com/133502 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove include of GrGLProgramBuilder.h from GrGLProgram.h and ↵Gravatar Brian Salomon2018-06-08
| | | | | | | | | | | | | | | | | | | | | GrVkPipelineState.h Make GrGLProgram and GrCkPipelineState cons. public and remove builder friendship. Neither GrGLProgram nor GrVkPipelineState need to know their Desc so remove it. Move the VK desc subclass defn. to GrVkPipelineStateBuilder since it needs it while GrVkPipelineState does not. Some IWYU improvements. Move declaration of the built-in uniform struct to GrGLSLUniformHandler.h from GrGLSLProgramBuilder.h. Change-Id: Ib46817408a83a79a0f718ba2bc19411410d9065a Reviewed-on: https://skia-review.googlesource.com/133060 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add a front() accessor to GrAllocatorGravatar Chris Dalton2018-06-08
| | | | | | | | Bug: skia: Change-Id: If0bde2ddfe2dd1d84b27f4516076acc1b68daa40 Reviewed-on: https://skia-review.googlesource.com/133461 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* New more efficient run builderGravatar Herb Derby2018-06-08
| | | | | | | | | | | | | | | A system for building glyph runs. In the future the builder will only live in canvas, but it's internal structures facilitate interacting with the cache a single glyph at a time. When all the bulk code is in place, only runs will be passed around. Passing the builder down the text draw stack is temporary. Change-Id: I6e3ed184b3f3a58b919377f2d31936e971bd8efa Reviewed-on: https://skia-review.googlesource.com/132928 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* remove half float workaround in GrGLGpu::onReadPixelsGravatar Brian Salomon2018-06-08
| | | | | | | | Change-Id: Ifb30a0b977918d84f5b9d5ea1714d19cc7392e37 Reviewed-on: https://skia-review.googlesource.com/133440 Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* GrTessellator: catch missing intersections.Gravatar Stephen White2018-06-08
| | | | | | | | | | | | | | | Sometimes the intersection check will miss an intersection (because floating point). This can leave the active edge list in an invalid state, where an edge pair is incorrectly ordered. The fix is to test for edge crossings after testing for intersections, and split the edges manually. This extra check may result in a performance hit, so we'll have to watch the perf bots carefully. Bug: 843135 Change-Id: If50320413026be503cdb2d33e6c97f620e4d51a9 Reviewed-on: https://skia-review.googlesource.com/133400 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Reland "Require mips to be allocated at texture creation time and disable ↵Gravatar Greg Daniel2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | late allocations." This reverts commit 0c78238e2991c95b6fb3c945d4ad2b5d941ae21b. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Require mips to be allocated at texture creation time and disable late allocations." > > This reverts commit cd2c3f9055452d413d6be7ea6dc63fd1922fe994. > > Reason for revert: Looks to be causing angle failures on initial clear test > > Original change's description: > > Require mips to be allocated at texture creation time and disable late allocations. > > > > If we get a non-mipped texture for a draw that wants to be use mip map filter, we > > will copy the texture into a new mipped texture. > > > > Clean up of unused code in the GPU backends for reallocating for mips will be done > > in a follow up CL. > > > > Bug: skia: > > Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 > > Reviewed-on: https://skia-review.googlesource.com/132830 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > Change-Id: I49f0ace52f2586d61b451630b2e6aae84b420b81 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/133041 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Bug: skia: Change-Id: I004447a5f1ec72c3be2318ddea803f57efb12ea4 Reviewed-on: https://skia-review.googlesource.com/133340 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Reland "Workaround constexpr bug in MSVC 2015 in GrTextureOp""Gravatar Brian Salomon2018-06-08
| | | | | | | | | | | This reverts commit 16b1eab9bab992785a9c8dd780b42e6ed76a5dc0. TBR=brianosman@google.com Change-Id: Ide5128f2d518d9f588c71c3b83cdf051416e71c1 Reviewed-on: https://skia-review.googlesource.com/133420 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add a factory to any GrOp-derived class that lacked oneGravatar Robert Phillips2018-06-08
| | | | | | | | | All GrOp-derived classes are going to have allocate their memory in a GrMemoryPool. Change-Id: Ifa410b05eecd9b68c39dcc15dd4298d617204c13 Reviewed-on: https://skia-review.googlesource.com/132828 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Require mips to be allocated at texture creation time and disable ↵Gravatar Greg Daniel2018-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | late allocations." This reverts commit cd2c3f9055452d413d6be7ea6dc63fd1922fe994. Reason for revert: Looks to be causing angle failures on initial clear test Original change's description: > Require mips to be allocated at texture creation time and disable late allocations. > > If we get a non-mipped texture for a draw that wants to be use mip map filter, we > will copy the texture into a new mipped texture. > > Clean up of unused code in the GPU backends for reallocating for mips will be done > in a follow up CL. > > Bug: skia: > Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 > Reviewed-on: https://skia-review.googlesource.com/132830 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I49f0ace52f2586d61b451630b2e6aae84b420b81 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/133041 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove GrGLSLFragProcs typedef. Use unique_ptr to for ↵Gravatar Brian Salomon2018-06-07
| | | | | | | | | GrGLSLFragmentProcessor ownership. Change-Id: Ifefbde2ec0002e7e41bed2e4bc2cd7bdd04504d0 Reviewed-on: https://skia-review.googlesource.com/132931 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Require mips to be allocated at texture creation time and disable late ↵Gravatar Greg Daniel2018-06-07
| | | | | | | | | | | | | | | | allocations. If we get a non-mipped texture for a draw that wants to be use mip map filter, we will copy the texture into a new mipped texture. Clean up of unused code in the GPU backends for reallocating for mips will be done in a follow up CL. Bug: skia: Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 Reviewed-on: https://skia-review.googlesource.com/132830 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* fonts: Hook up FallbackTextHelper to font remoting.Gravatar Khushal2018-06-07
| | | | | | | | | | | | | | | | Use GrContext::FallbackTextHelper in SkTextBlobCacheDiffCanvas to replicate glyph generation logic for fallback text during analysis. This ensures that we correctly handle these fallback cases when using distance field or paths for text rendering. R=herb@google.com, jvanverth@google.com Bug: skia:7913 Change-Id: I3067c4f1bd09231a564ac7c4cd89efcb876d2abd Reviewed-on: https://skia-review.googlesource.com/132285 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Add checks to make sure we don't overflow 32 bit int in GPU path renderers.Gravatar Greg Daniel2018-06-07
| | | | | | | | Bug: chromium:848716 Change-Id: I5b8fe036c666a1f379c4125115b2cec0295711b3 Reviewed-on: https://skia-review.googlesource.com/132268 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add guard around GrVkBackendContext::Create function.Gravatar Greg Daniel2018-06-07
| | | | | | | | | | | Just want to make sure the use of this doesn't leak out to other users as I work on removing it. Bug: skia: Change-Id: I5ecf11615db64bd489065e6f67e0e1d4bb3298eb Reviewed-on: https://skia-review.googlesource.com/132831 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove unused GrObjectMemoryPoolGravatar Robert Phillips2018-06-07
| | | | | | | Change-Id: I8d37dfa3a5f0af4741eb6f1c10e13065d20b0ccb Reviewed-on: https://skia-review.googlesource.com/132829 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove GrGeometryProcessor knowledge of explicit local coordsGravatar Brian Salomon2018-06-06
| | | | | | | | | | | | | | | | This seems to be part of an older model where the base class was more aware of how subclasses handled local coords. Only the default geometry processor uses it and it already incorporates the existence of explicit local coords into its shader key. Other GPs that used explicit local coords don't use this. Change-Id: Ia396f2a5e626e57470905ae770f1576386c0cefb Reviewed-on: https://skia-review.googlesource.com/132665 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com>
* Smarter use of glyph cacheGravatar Herb Derby2018-06-06
| | | | | | Change-Id: Ic9bea7310b375575503042881d9d54ff13996729 Reviewed-on: https://skia-review.googlesource.com/131924 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Reland "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Herb Derby2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 74b390d6b136a60f1df15ac5ecd19bd8ad5a394b. Reason for revert: reverting to add patch for valgrind Original change's description: > Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device" > > This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. > > Reason for revert: made valgrind unhappy. > > Original change's description: > > Have draw(Text|PosText|PosTextH) use a single entry on the device > > > > Handle the positioning of drawText at the canvas layer. Simplify > > the code by removing similar implementations. > > > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > > Reviewed-on: https://skia-review.googlesource.com/127131 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=jvanverth@google.com,bungeman@google.com,herb@google.com > > Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/132403 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com Change-Id: I9bbb73aac447b51eb8215ac42331759fa4c9fa45 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132580 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* GrTessellator: yet another out-of-range splitting fix.Gravatar Stephen White2018-06-06
| | | | | | | | | | | | It's actually possible for an intersection to be out-of-range on both the intersected edges (e.g., below both bottom points), because floating point. So we need to clamp against both edges. Bug: 846014 Change-Id: I9fe25a1fcd3b5242af7b1ee36b17f1e968aeb836 Reviewed-on: https://skia-review.googlesource.com/132323 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Hal Canary2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. Reason for revert: made valgrind unhappy. Original change's description: > Have draw(Text|PosText|PosTextH) use a single entry on the device > > Handle the positioning of drawText at the canvas layer. Simplify > the code by removing similar implementations. > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > Reviewed-on: https://skia-review.googlesource.com/127131 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,bungeman@google.com,herb@google.com Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132403 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add Gr enums and version parsing for SwiftShaderGravatar Kevin Lubick2018-06-05
| | | | | | | | Bug: skia: Change-Id: I1f29cde915a0ae7fa59d7cfdf30f51632c1c24c4 Reviewed-on: https://skia-review.googlesource.com/132264 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Have draw(Text|PosText|PosTextH) use a single entry on the deviceGravatar Herb Derby2018-06-05
| | | | | | | | | | Handle the positioning of drawText at the canvas layer. Simplify the code by removing similar implementations. Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 Reviewed-on: https://skia-review.googlesource.com/127131 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Always use filterColor4f to filter paint colorsGravatar Brian Osman2018-06-05
| | | | | | | | | | | | | | | The rationale here wasn't even correct before - filterColor4f did not use a linearized version of the stored color (for mode color filter), so it's always safe and correct to call the 4f version. Change-Id: I7087342e531e1768c945f78fb2126954b2dc5a86 Reviewed-on: https://skia-review.googlesource.com/132088 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Osman <brianosman@google.com>
* GrTessellator: fix for overlapping outer boundary edges in AA case.Gravatar Stephen White2018-06-05
| | | | | | | | | | | | | When inflating outer path boundaries for edge AA, two outer boundary edges may be collinear. In this case, they form part of the overlap region, but they must not be removed on collapse, since they form part of the outer boundary of the shape. Bug: 846655 Change-Id: I4808b570cc4f82d6202862f7a8ecf0f8add771ef Reviewed-on: https://skia-review.googlesource.com/132084 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Remove alpha readback path in GrGLGpu::onReadPixelsGravatar Brian Salomon2018-06-04
| | | | | | | Change-Id: I13d5a885a5a016ca7555702c5798c5b3f31b1cc8 Reviewed-on: https://skia-review.googlesource.com/131820 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add null checks for GrSkSLtoGLSL to GrGLProgramBuilderGravatar Brian Salomon2018-06-04
| | | | | | | | | Bug: chromium:845351 Change-Id: I06c4114f9b2cd0609fcf7b7ce6d4a80a00ca85c3 Reviewed-on: https://skia-review.googlesource.com/131525 Auto-Submit: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove GrPaint::setGammaCorrectGravatar Brian Osman2018-06-04
| | | | | | | | | | | | | | Driving this from the presence of a color space makes no sense in the new world, we should always be treating sRGB as such (end-to-end). Change-Id: If3d8e740793321a2b1294ff72b04558d3b96cb53 Reviewed-on: https://skia-review.googlesource.com/131784 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove origin from GrGpu::readPixelsGravatar Brian Salomon2018-06-02
| | | | | | | Change-Id: I40d046c66240ab40794aa008861a1974f7f9182c Reviewed-on: https://skia-review.googlesource.com/131620 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove origin from GrGpu::writePixelsGravatar Brian Salomon2018-06-02
| | | | | | | | Change-Id: Iea3d68d282420f28623ebea315499fbd7ad9d471 Reviewed-on: https://skia-review.googlesource.com/131526 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove most of the remaining conflation of colorSpace and sRGB in GaneshGravatar Brian Osman2018-06-01
| | | | | | | Change-Id: I22cd838f15c548b459da925cd7e7d228f95fb2e2 Reviewed-on: https://skia-review.googlesource.com/131583 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove GrGpu::getWritePixelsInfoGravatar Brian Salomon2018-06-01
| | | | | | | | | Change-Id: I30f9eed774b0b659ee91949a234bcc112fbee035 Reviewed-on: https://skia-review.googlesource.com/131480 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com>
* Replace GrContextPriv::read/writeSurfacePixels with ↵Gravatar Brian Salomon2018-06-01
| | | | | | | | | | | GrContextPriv::read/WritePixels2 Change-Id: I08be0f347d360e97bf9a6d1aeb25f9f584cc3d89 Reviewed-on: https://skia-review.googlesource.com/131442 Commit-Queue: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Set bounds correctly for color emoji that need post-cache transfomsGravatar Jim Van Verth2018-06-01
| | | | | | | | | | | | | | | We need to handle the bounds for transformed color emoji the same way we handle the bounds for distance field text. Without this bounds correction, the glyphs were being clipped out. Also adds a sample to test this case. Bug: 848616 Change-Id: I39dedbe2fd19331ad67978c95519f5c9d46f59fc Reviewed-on: https://skia-review.googlesource.com/131523 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Jim Van Verth <jvanverth@google.com>
* Always keep buffers in vulkan persistently mapped.Gravatar Greg Daniel2018-06-01
| | | | | | | | | | | | | This should hopefully fix (and possibly even improve) some of the perf regressions we had form switching the memory allocator which were caused by us now mapping and unmapping the entire VkDeviceMemory instead of just subsets. Bug: skia: Change-Id: Ia8232594f33003e88969bf16febea4e4eec0ac95 Reviewed-on: https://skia-review.googlesource.com/131443 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Dest color space no longer impacts mipmaps or texture samplingGravatar Brian Osman2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* GrTessellator: fix winding merged to zero on split edge.Gravatar Stephen White2018-06-01
| | | | | | | | | | | | | | | | Occasionally, the top edge of a split edge can be merged out of existence (if it can't be mathematically distinguished from one of its adjacent edges). In this case, we need to save its winding count before it's merged so that the other half of the split doesn't also get zero winding. NOTE: this adds a new test case to the concavepaths GM. Bug: skia:7785 Change-Id: Iff8b0a2ed3065e57b737ff915ff436146987caf6 Reviewed-on: https://skia-review.googlesource.com/131223 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Move SkColorTable to src/codecGravatar Leon Scroggins III2018-06-01
| | | | | | | | | | | | | | | It is no longer needed anywhere else, and simply happens to be an implementation detail of SkCodec (at least for now). Remove references to SkColorTable in other classes, and clean up some includes of SkConvertPixels I found along the way. Remove unused includes/methods on SkColorTable Change-Id: I46c8e46f5b77c37710b6cf595d48107d55871d52 Reviewed-on: https://skia-review.googlesource.com/130845 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Reland "Use GrVkMemoryAllocator for vulkan memory allocations in ganesh."Gravatar Greg Daniel2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 331c266ed716526478a10885aff66181cec64486 Original change's description: > Use GrVkMemoryAllocator for vulkan memory allocations in ganesh. > > Besides using the new allocator, the big logical change is that map > and unmap calls form GrVkMemory are specc'd to map the entire GrVkAlloc > instead of a specific offset and size as they did before. As a > consequence of this, we move the handling of non-coherent alignment > for flush/invalidate calls to GrVkMemory instead of the callers. > > Bug: skia: > Change-Id: I794d713106602f27aa7e808c306bbb69fd2b67be > Reviewed-on: https://skia-review.googlesource.com/130021 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> Bug: skia: Change-Id: Ia9a4192d344449fb444d2adaa1d62ff1ede4b21d Reviewed-on: https://skia-review.googlesource.com/131083 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Allow CCPR in DDL mode (take 2)Gravatar Robert Phillips2018-05-31
| | | | | | | | | | | | A lot of the changes to get this compiling on the win_chromium_compile_dbg_ng bot (i.e., moving a lot of header files to private) should be undone if that bot is ever "fixed". Bug: skia:7988 Change-Id: I704ff793d80b18e7312048538874498824803580 Reviewed-on: https://skia-review.googlesource.com/130920 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix fuzzer bugsGravatar Robert Phillips2018-05-31
| | | | | | | | | | This adds checking for the input to SkColorMatrixFilterRowMajor255 and handles a potential seg fault. Bug: skia:7955 Change-Id: I9aba6712c38d32c9fe20f617744a4dce6ebacae4 Reviewed-on: https://skia-review.googlesource.com/131111 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>