aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* basic first pass at RGBA F32 supportGravatar Mike Klein2018-06-26
| | | | | | | | | | | | | Draws basically the same as f16. The existing load_f32, load_f32_dst, and store_f32 stages all had the same bug that we'd never noticed because dy was always 0 until now. Change-Id: Ibbd393fa1acc5df414be4cdef0f5a9d11dcccdb3 Reviewed-on: https://skia-review.googlesource.com/137585 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove Vulkan code that supported creating a GrVkRenderTarget.Gravatar Greg Daniel2018-06-26
| | | | | | | | | | | We never create a pure RenderTarget. If we are creating a RT it is always a TexRT. The only pure RTs are wrapped. Bug: skia: Change-Id: If95d17d244e78c986ed6c63822d4b936ff67b88a Reviewed-on: https://skia-review.googlesource.com/137700 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Fix some static intializers in Vulkan code.Gravatar Greg Daniel2018-06-26
| | | | | | | | | Bug: skia: Change-Id: Ia5160376ff456874459430e51c2f57acdb1a4de1 Reviewed-on: https://skia-review.googlesource.com/137584 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Chris Blume <cblume@chromium.org> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Refactor GrPipeline dynamic state.Gravatar Brian Salomon2018-06-26
| | | | | | | | | | | | | | | | | Remove scissor rect from GrPipeline. Draws can specify "fixed dynamic state" which doesn't use the dynamism at all or can specify dynamic state arrays with an entry per GrMesh. When we state other than scissor rects this will allow the caller to use a mix of truly dynamic and fixed dynamic state. So a caller that only has dynamic scissor rects doesn't need to store its remaining unvarying state in an array. Change-Id: I8fcc07eb600c72a26cc712b185755c2116021a8a Reviewed-on: https://skia-review.googlesource.com/137223 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix instantiation of partially lazy proxiesGravatar Robert Phillips2018-06-26
| | | | | | | Change-Id: I941333711966da109583a3a72ab3464363285b84 Reviewed-on: https://skia-review.googlesource.com/137580 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move Vulkan DebugCallback code into tools.Gravatar Greg Daniel2018-06-26
| | | | | | | | Bug: skia: Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465 Reviewed-on: https://skia-review.googlesource.com/137424 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Put GrPrimitiveProcessor/GrGeometryProcessor before GrPipeline in param lists.Gravatar Brian Salomon2018-06-25
| | | | | | | | | | | We were inconsistent about which order these were in. Having the processor first will make the parameter order more logical for an upcoming change. Also, the primitive processor comes logically before the pipeline. Change-Id: I3968c5e4e6dff01f9c4ad311eb1795b3c7580ff5 Reviewed-on: https://skia-review.googlesource.com/137228 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GrVkBackendContext no longer derive from SkRefCnt.Gravatar Greg Daniel2018-06-25
| | | | | | | | | | | | Also moves the helper Create functions to VkTestUtils since no clients are using them anymore. Bug: skia: Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799 Reviewed-on: https://skia-review.googlesource.com/135323 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* ccpr: Blacklist PowerVR Rogue in GLGravatar Chris Dalton2018-06-25
| | | | | | | | Bug: skia: Change-Id: Icba3de2eabc24840ae6917e0eeaa279788397653 Reviewed-on: https://skia-review.googlesource.com/137341 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix abandonment of programsGravatar Robert Phillips2018-06-25
| | | | | | | | | | Bug: skia:8092 TBR=bsalomon@google.com Change-Id: If9cf4ed9f8ded4b7fbb58a244ec0b179b8430ca2 Reviewed-on: https://skia-review.googlesource.com/137121 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* ccpr: Enable ccpr by defaultGravatar Chris Dalton2018-06-25
| | | | | | | | | | | | | | | | | | | Now that the path cache is implemented, we can use ccpr everywhere. Modifies ccpr to not cache unless the "fAllowPathMaskCaching" context option is enabled. Adds a small condition to skip complicated paths with more vertices than pixels, simply so we don't regress a couple testcases. Updates skpbench to do three draws before starting the timer, in order to prime the cache. Bug: skia: Change-Id: Ic3a0a2bdad8a22ff6431e77fa4da2b54d6bb9aba Reviewed-on: https://skia-review.googlesource.com/137207 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Cache paths with >=50% visibilityGravatar Chris Dalton2018-06-22
| | | | | | | | | | | | | Adds a hit count to cache entries. Paths now don't get stashed until their second hit (and cached on their third). Mostly-visible, cachable paths render their entire mask on the second hit, in hopes that we will be able to cache them alongside the fully visible ones. Bug: skia: Change-Id: Idd18f5dc3090f13531f630d229f4808198695fea Reviewed-on: https://skia-review.googlesource.com/136541 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Recycle the stashed atlas's texture explicitlyGravatar Chris Dalton2018-06-22
| | | | | | | | | | This solution is more future-proof. Bug: skia: Change-Id: Ifa437a511336282d73befddea2656f3fcdb3f2ef Reviewed-on: https://skia-review.googlesource.com/136964 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* GrTessellator: avoid split with zero primary and out-of-range secondary.Gravatar Stephen White2018-06-22
| | | | | | | | | | | | | | Sometimes the intersector will return an intersection which is on the same primary sort criterion (eg., Y coordinate), but out-of-range on the secondary. We shouldn't do splits in this case. The only case we really care about is if it's less than one epsilon and greater than zero, and thus numerically unsplittable. Bug: 851914 Change-Id: Ia772763b6a66a14ca159cf409a832835244e83bc Reviewed-on: https://skia-review.googlesource.com/136803 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Alternative fix for stale MIP maps on texture export/import.Gravatar Brian Salomon2018-06-21
| | | | | | | | | | | | | | | | | This change assumes imported textures in SkImages have dirty mip levels and disables regenerating the MIP levels on export (added in https://skia.googlesource.com/skia/+/930f939c48af1be6005af12bb6f709ca5da9d118). This is being done temporarily because it is a simpler change to cherry pick to earlier branches than https://skia.googlesource.com/skia/+/930f939c48af1be6005af12bb6f709ca5da9d118 Bug: chromium:850617 Change-Id: I7c90da782a0ed9014acd6a54ffdee1a0b34fa00c Reviewed-on: https://skia-review.googlesource.com/136788 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Fix vulkan copy resolve.Gravatar Greg Daniel2018-06-21
| | | | | | | | Bug: skia: Change-Id: I4ea72e05ddf307f1fff042fa5f5ddda019129566 Reviewed-on: https://skia-review.googlesource.com/136243 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Switch to swap in moveOpListsToDDL for SkTArrayGravatar Robert Phillips2018-06-21
| | | | | | | Change-Id: Ibbed299b339208835302544891748c4ae40b28b7 Reviewed-on: https://skia-review.googlesource.com/136591 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Ensure that textures exported via SkImage::MakeBackendTextureFromSkImageGravatar Brian Salomon2018-06-20
| | | | | | | | | | | have consistent content in their mip map levels. Bug= chromium:850617 Change-Id: I3ad918aa453bd8e4e625eb145de6ba2a5dab7b0c Reviewed-on: https://skia-review.googlesource.com/136230 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* SkTypes.h: general cleanupGravatar Hal Canary2018-06-20
| | | | | | | | | | | | - SkToBool now inline function. - SK_Invalid{Gen|Unique}ID, SK_MSecMax now constexpr. - SkNoncopyable deleted methods marked private. - Consistant comment style. Change-Id: I1af6889fdf4274d6d698e8f11b29075dbe39ba12 Reviewed-on: https://skia-review.googlesource.com/135446 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Don't destroy VkPipelineLayouts until after command buffer recording.Gravatar Greg Daniel2018-06-20
| | | | | | | | Bug: skia: Change-Id: I70be1dc6b29db9a9152e008293a7d0a276384011 Reviewed-on: https://skia-review.googlesource.com/135867 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Fix degenerate case handling in fill_in_2D_gaussian_kernelGravatar Robert Phillips2018-06-20
| | | | | | | | Bug: 849016 Change-Id: Icc46451acd83140cb86593195947efea7f83828d Reviewed-on: https://skia-review.googlesource.com/135142 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Move GrSwizzle.h from include/private to src/gpu.Gravatar Brian Salomon2018-06-19
| | | | | | | | Change-Id: I2d992404f540c7f8a1cd5ff633148d92ec50d4fa Reviewed-on: https://skia-review.googlesource.com/135860 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com>
* Move GrGLSL.h from include/private to src/gpu/glsl.Gravatar Brian Salomon2018-06-19
| | | | | | | | | | Nothing public was including this and it was included unnecessarily in many places. Change-Id: Iee960b3e67981ab41af7442cc43391f2f57eb551 Reviewed-on: https://skia-review.googlesource.com/135787 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Don't consider sub-pixel translation for caching on AndroidGravatar Chris Dalton2018-06-19
| | | | | | | | Bug: skia: Change-Id: I453400bd1ca1f122d9af526f55102e8712119d2b Reviewed-on: https://skia-review.googlesource.com/135540 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Revert "Change how vertex/instance attributes are handled in ↵Gravatar Brian Salomon2018-06-19
| | | | | | | | | | | | | geometry processors."" This reverts commit 5045e501d2aec23e5f1e4b46346033ac3202c6b0. TBR=csmartdalton@google.com Change-Id: Ifbf5f1d8f8ef340fdc69653e931b6d68d4bf0854 Reviewed-on: https://skia-review.googlesource.com/135862 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use SkGlyphRun instead of builderGravatar Herb Derby2018-06-19
| | | | | | | | | | | | | Move from passing builder down the stack to passing the object we really want to be the interface down the stack. Move code that shunts from glyph run style to drawTextPos to the SkGlyphRun from the builder. Change-Id: Iefaca69104737ce46c06fbb26dc99996784b2bdb Reviewed-on: https://skia-review.googlesource.com/135620 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Reland "Reland "added 565 to 8888 conversion for gpu LCD text rendering for ↵Gravatar Timothy Liang2018-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS"" This reverts commit 5540528f81c0a1ad10b8086a1009b799717329f6. Reason for revert: Changed unique pointer to not be static Original change's description: > Revert "Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS"" > > This reverts commit 0513dd8675534afdd605cea32778a4b4671b2c3d. > > Reason for revert: Still has static initializer. > > Original change's description: > > Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. > > > > Reason for revert: removed the static initializer > > > > Original change's description: > > > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > > > > > Reason for revert: breaking chrome roll cause of static initializers > > > > > > Original change's description: > > > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > > > > > Bug: skia: > > > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > > > Reviewed-on: https://skia-review.googlesource.com/134508 > > > > Commit-Queue: Timothy Liang <timliang@google.com> > > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > > > > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/135000 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/135021 > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Timothy Liang <timliang@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > Change-Id: I2632d02adc9ba791e5a55adafe0ad10a63f50073 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135240 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Ben Wagner <bungeman@google.com> Bug: skia: CQ_INCLUDE_TRYBOTS=luci.chromium.try:android-marshmallow-arm64-rel Change-Id: Ie4fa0e4f862546068ed4ab818d4956de7175cb3d Reviewed-on: https://skia-review.googlesource.com/135241 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Move op memory storage to GrContext (take 2)Gravatar Robert Phillips2018-06-19
| | | | | | | | | | TBR=bsalomon@google.com Change-Id: I4a448694d4114d83cd3a720cfc8bd37de51733d1 Reviewed-on: https://skia-review.googlesource.com/135707 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "added GrSkSLFP and converted DitherEffect to use it"Gravatar Kevin Lubick2018-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit dfbfc738a9edfff7a9804253175e380c230f3d21. Reason for revert: Seems to be breaking DDL/ASAN bots Original change's description: > added GrSkSLFP and converted DitherEffect to use it > > Bug: skia: > Change-Id: I84b71165eab1712355f3c7669cee2d33d259f3df > Reviewed-on: https://skia-review.googlesource.com/124504 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: Ic4c3978aaba0391f2f8bb1316a456e3821a3a2f2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135700 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Stop using SkTSwap.Gravatar Ben Wagner2018-06-19
| | | | | | | | | | | | | Use std::swap instead. It does not appear that any external user specializes SkTSwap, but some may still use it. This removes all use in Skia so that SkTSwap can later be removed in a smaller CL. After that the <utility> include can be removed from SkTypes.h. Change-Id: If03d4ee07dbecda961aa9f0dc34d171ef5168753 Reviewed-on: https://skia-review.googlesource.com/135578 Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "Change how vertex/instance attributes are handled in geometry ↵Gravatar Mike Klein2018-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | processors." This reverts commit 19c1233c447f625c2522e7ecd0a0adecc629bb2f. Reason for revert: want to make sure Google3 can roll Original change's description: > Change how vertex/instance attributes are handled in geometry processors. > > * No longer register vertex/instance attributes on base class, just counts > > * Separate instance and vertex attributes and remove InputRate and offset > > * Make attributes constexpr where possible > > Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6 > Reviewed-on: https://skia-review.googlesource.com/132405 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com Change-Id: I4800632515e14fbf54af52826928ac915657b59f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/135661 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* added GrSkSLFP and converted DitherEffect to use itGravatar Ethan Nicholas2018-06-18
| | | | | | | | Bug: skia: Change-Id: I84b71165eab1712355f3c7669cee2d33d259f3df Reviewed-on: https://skia-review.googlesource.com/124504 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* remove SkTCastGravatar Mike Klein2018-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SkTCast is functionally equivalent to reinterpret_cast. The comment about SkTCast helping to avoid strict alising issues is not true. Dereferencing a pointer cast to a pointer of an unrelated type is always undefined, even if smuggled through a union like in SkTCast. To really avoid aliasing issues, you need to make a union[1] of the two value types, or better, memcpy between values. I've had to fix MatrixText.cpp where switching to reinterpret_cast actually let Clang notice and warn that we're exploiting undefined behavior, and GrSwizzle.h and SkCamera.cpp caught by GCC. I've switched SkTLList over to use SkAlignedSTStorage, which seems to help convince some GCC versions that fObj is used in a sound way. [1] The union punning trick is non-standard in C++, but GCC and MSVC both explicitly support it. I believe Clang does not officially explicitly support it, but probably does quietly for GCC compatibility. Change-Id: I71822e82c962f9aaac8be24d3c0f39f4f8b05026 Reviewed-on: https://skia-review.googlesource.com/134947 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Change how vertex/instance attributes are handled in geometry processors.Gravatar Brian Salomon2018-06-18
| | | | | | | | | | | | | * No longer register vertex/instance attributes on base class, just counts * Separate instance and vertex attributes and remove InputRate and offset * Make attributes constexpr where possible Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6 Reviewed-on: https://skia-review.googlesource.com/132405 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Remove GrNonlinearColorSpaceXformEffectGravatar Brian Osman2018-06-18
| | | | | | | | | | | Convert all uses to GrColorSpaceXformEffect Change-Id: Icc9d093a00450001c1b915db7a8676c9c66073b1 Reviewed-on: https://skia-review.googlesource.com/132090 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* ccpr: Implement path mask cachingGravatar Chris Dalton2018-06-18
| | | | | | | | | | | | | | | | | | | | Implement caching as follows: 1) Instead of deleting the mainline ccpr atlas when finished, stash it away from flush to flush. 2) On subsequent flushes, check the stashed atlas to see if we can reuse any of its cachable paths. Copy reusable paths into 8-bit literal coverage atlases and store them in the resource cache. 3) Recycle the stashed atlas texture for the remaining paths in the flush. Bug: skia: Change-Id: I9b20fbea708646df1df3a5f9c044e2299706b989 Reviewed-on: https://skia-review.googlesource.com/134703 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Always use dedicated VkImage memory on NexusPlayer and Mali.Gravatar Greg Daniel2018-06-18
| | | | | | | | | | Fixes issues caused by https://skia-review.googlesource.com/c/skia/+/135260 Bug: skia: Change-Id: I99db232c6ba56f4adccf6cfaa9c29a4bec900d9b Reviewed-on: https://skia-review.googlesource.com/135448 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* remove stray SkTLList includesGravatar Mike Klein2018-06-18
| | | | | | | Change-Id: I63ba2424bd70f53c14d15bb332a585881d2c4613 Reviewed-on: https://skia-review.googlesource.com/135451 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ccpr: Use lazy proxies with GrCCAtlasGravatar Chris Dalton2018-06-18
| | | | | | | | Bug: skia: Change-Id: I576d9303d451352778de0425e3ecbc561331cd09 Reviewed-on: https://skia-review.googlesource.com/135362 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Implement nonlinear (as-encoded) blending in GrColorSpaceXformGravatar Brian Osman2018-06-18
| | | | | | | | | | | | | | | | | | Make GrColorSpaceXform a wrapper over SkColorSpaceXformSteps, and removed the xform cache. The shader code does up to five steps to correctly transform (unpremul, linearize, gamut, encode, premul). Remove all clamping, so we can support sRGB encoded F16. Most of https://skia-review.googlesource.com/c/skia/+/132090, except that GrNonlinearColorSpaceXformEffect is still used for SkColorSpaceXformCanvas and a few other places. As a result, this doesn't trigger any layout test failures. Change-Id: I789a5e327a419b5f7634c00d1b355912046c07b7 Reviewed-on: https://skia-review.googlesource.com/135326 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove string.h from SkTypes.hGravatar Ben Wagner2018-06-15
| | | | | | | Change-Id: I2be84f37ea11a386206a96d2fef6e0fc9464e21b Reviewed-on: https://skia-review.googlesource.com/135264 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Include sRGB -> Linear in the cached "from sRGB" xformGravatar Brian Osman2018-06-15
| | | | | | | | | | | | | | | This simplifies the handling of paint color conversion, as well as GrDrawVerticesOp and the default geometry processor. We don't need to track "linearize" separate from the color space xform. We only supply an xform if needed. The linearize is now done automatically by the xform, though we aren't converting to destination gamma. https://skia-review.googlesource.com/c/skia/+/132090 will fix that. Change-Id: I0af3f29c123c3dadb818f87c5d295bc78e2ff079 Reviewed-on: https://skia-review.googlesource.com/135141 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Work around signed-unsigned comparison warning.Gravatar Ben Wagner2018-06-15
| | | | | | | Change-Id: I476aedea59f93093dc6962df91db4a9af759be3b Reviewed-on: https://skia-review.googlesource.com/135266 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Work around signed-unsigned comparison warning.Gravatar Ben Wagner2018-06-15
| | | | | | | Change-Id: I751e69ad74fd1ccf27c3533c83de409aea97df36 Reviewed-on: https://skia-review.googlesource.com/135265 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Fix unused propFlags in GrVkMemory.Gravatar Greg Daniel2018-06-15
| | | | | | | | | | Bug: skia: Change-Id: I6f4bf2ff97934c2131d1fb6409fe0541171ec3cc Reviewed-on: https://skia-review.googlesource.com/135260 Commit-Queue: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Auto-Submit: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Revert "Reland "added 565 to 8888 conversion for gpu LCD text rendering for ↵Gravatar Ben Wagner2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS"" This reverts commit 0513dd8675534afdd605cea32778a4b4671b2c3d. Reason for revert: Still has static initializer. Original change's description: > Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. > > Reason for revert: removed the static initializer > > Original change's description: > > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > > > Reason for revert: breaking chrome roll cause of static initializers > > > > Original change's description: > > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > > > Bug: skia: > > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > > Reviewed-on: https://skia-review.googlesource.com/134508 > > > Commit-Queue: Timothy Liang <timliang@google.com> > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/135000 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135021 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Timothy Liang <timliang@google.com> TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com Change-Id: I2632d02adc9ba791e5a55adafe0ad10a63f50073 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135240 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Reland "Remove SK_MaxSizeT, SK_M{in|ax}U{16|32}, #defines."Gravatar Ben Wagner2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ab17347df32807cabd9f2a518d22c3bd420e482f. Reason for revert: Chromium should now be ok. Original change's description: > Revert "Remove SK_MaxSizeT, SK_M{in|ax}U{16|32}, #defines." > > This reverts commit e1bc7de7c07686b28b00b850e44e0722189f3592. > > Reason for revert: chrome used it > > Original change's description: > > Remove SK_MaxSizeT, SK_M{in|ax}U{16|32}, #defines. > > > > sed 's/SK_MaxSizeT/SIZE_MAX/g' > > sed 's/SK_MaxU32/UINT32_MAX/g' > > sed 's/SK_MaxU16/UINT16_MAX/g' > > > > SK_MinU32 and SK_MinU16 were unused > > > > Change-Id: I6b6c824df47b05bde7e73b13a58e851a5f63fe0e > > Reviewed-on: https://skia-review.googlesource.com/134607 > > Commit-Queue: Hal Canary <halcanary@google.com> > > Reviewed-by: Ben Wagner <bungeman@google.com> > > TBR=halcanary@google.com,bungeman@google.com,reed@google.com > > Change-Id: I1e2c440dcf9f59bf87c1fea113248cd5136f7519 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/134921 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-ozone-rel TBR=halcanary@google.com,bungeman@google.com,reed@google.com Change-Id: I7709f9715bea0463b85b5b0a89712ac1020fcddb Reviewed-on: https://skia-review.googlesource.com/135180 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Move op memory storage to GrContext"Gravatar Robert Phillips2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c8cee446bf9c07da8848bbd032abf26e79966ac1. Reason for revert: TSAN issues Original change's description: > Move op memory storage to GrContext > > TBR=bsalomon@google.com > Change-Id: Ifa95bf0073b9d948f2c937d10088b7734b971f90 > Reviewed-on: https://skia-review.googlesource.com/131500 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Ia0d2b7408314d9b67d57388315376bbea23d3780 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/135181 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS"Gravatar Timothy Liang2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. Reason for revert: removed the static initializer Original change's description: > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > Reason for revert: breaking chrome roll cause of static initializers > > Original change's description: > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > Bug: skia: > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > Reviewed-on: https://skia-review.googlesource.com/134508 > > Commit-Queue: Timothy Liang <timliang@google.com> > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135000 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135021 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Simplify usage of GrGLSLColorSpaceXformHelperGravatar Brian Osman2018-06-15
| | | | | | | | | | | | | | | | It was already safe to call setData without (redundantly) checking isValid, so remove those. Made the emitCode helpers safe, too, so that we only need to check for isValid in one spot. Then, because it made more sense, invert the logic and rename it to isNoop(). Pulled out of https://skia-review.googlesource.com/c/skia/+/132090 Bug: skia: Change-Id: I147fa2e0a06c04024c6aa98725fa73501044e4cd Reviewed-on: https://skia-review.googlesource.com/134948 Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>