aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLCaps.cpp
Commit message (Collapse)AuthorAge
* Make GrTextureProxy store a GrTextureType.Gravatar Brian Salomon2018-07-30
| | | | | | | | | | Removes flag indicating rectangle or external as its now redundant. Bug: skia: Change-Id: Ia475b557390e7a6b0f19f6e189cf8c27090e397c Reviewed-on: https://skia-review.googlesource.com/144346 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ccpr: Blacklist Bay Trail and Sandybridge on MesaGravatar Chris Dalton2018-07-23
| | | | | | | | Bug: skia:8162 Change-Id: I16d8b9a93151c9e568b5c27e6ad6c3cf5b717fe1 Reviewed-on: https://skia-review.googlesource.com/142940 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Blacklist Sandy BridgeGravatar Chris Dalton2018-07-20
| | | | | | | | Bug: skia:8162 Change-Id: I254b31d5b5fc105f80e8a006a885d4110800383a Reviewed-on: https://skia-review.googlesource.com/142792 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* GL: Accept "_float" extensions for "_half_float" formatsGravatar Chris Dalton2018-07-20
| | | | | | | | | | | | EXT_color_buffer_float, OES_texture_float, et. al. include fp16 formats as well, so we don't need the "_half_float" versions if the "_float" ones are present. Bug: skia:8159 Change-Id: Ib72113e9ff76092048a140b5c3e04080d7233d69 Reviewed-on: https://skia-review.googlesource.com/142556 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* added byte and ubyte types to SKSLGravatar Ruiqi Mao2018-07-17
| | | | | | | | | | | created new GMs for skinning Bug: skia: Change-Id: I15fb2bd02fba8beb6dd2dd3f3716da016ea92192 Reviewed-on: https://skia-review.googlesource.com/140241 Commit-Queue: Ruiqi Mao <ruiqimao@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Reland "Remove interpolants are inaccurate workaround for Adreno 3xx."Gravatar Brian Salomon2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of a7a278205bb040061cb4ba46839efe18635c7edc Clean reland. Change to Chrome screenshot unit test has stuck. The previous revert of that was the reason this had to be reverted. Original change's description: > Remove interpolants are inaccurate workaround for Adreno 3xx. > > The chrome screenshot unit test that led to adding this workaround has > been adjusted to avoid testing AA edges of rendered rectangles. We're > accepting the inaccuracy in favor of increased performance. > > Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 > > Bug: chromium:847984 > Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 > Reviewed-on: https://skia-review.googlesource.com/140180 > 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> Bug: chromium:847984 Change-Id: I2dc1195f07bb27015b0a7a0fa6263d0e60a32a15 Reviewed-on: https://skia-review.googlesource.com/141761 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland: Check for ANGLE's implementation of texture_rectangleGravatar Weiliang Chen2018-07-13
| | | | | | | | | | | | | | | | | | | | | ANGLE has implemented extension to support for texture_rectangle. Check for its existence as well as GL_ARB_texture_rectangle extension. Intended to follow up on Chrome side to avoid copy into texture 2d for PaintCanvasVideoRenderer. Bug: skia:7903 Origin change's info: > Change-Id: I450aa7fcd08628831251a9e142fd50719723282d > Reviewed-on: https://skia-review.googlesource.com/130962 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Weiliang Chen <weiliangc@chromium.org> Change-Id: Ifec92bdc07ec2b2dae38ffe99ec275924cbd37d8 Reviewed-on: https://skia-review.googlesource.com/139272 Commit-Queue: Weiliang Chen <weiliangc@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove texel buffer support.Gravatar Brian Salomon2018-07-13
| | | | | | | Change-Id: Ia6f21afe714208979a5bc384e436b28ea2b9a297 Reviewed-on: https://skia-review.googlesource.com/141051 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* fix for persistent shader cacheGravatar Ethan Nicholas2018-07-11
| | | | | | | | Bug: skia: Change-Id: I43b4dc58ab4dde3fa8140de0d73134c38f7d79db Reviewed-on: https://skia-review.googlesource.com/140566 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Remove interpolants are inaccurate workaround for Adreno 3xx."Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a7a278205bb040061cb4ba46839efe18635c7edc. Reason for revert: Chrome change had to be reverted because of new failures on Nexus 9 and 6P. Original change's description: > Remove interpolants are inaccurate workaround for Adreno 3xx. > > The chrome screenshot unit test that led to adding this workaround has > been adjusted to avoid testing AA edges of rendered rectangles. We're > accepting the inaccuracy in favor of increased performance. > > Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 > > Bug: chromium:847984 > Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 > Reviewed-on: https://skia-review.googlesource.com/140180 > 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> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ic6b0e5a343556e59d144852f9fa5b561302f9781 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:847984 Reviewed-on: https://skia-review.googlesource.com/140380 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS"Gravatar Stan Iliev2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8fe31406e98062af447ff1e0511ab9bbdeed7638. Reason for revert: ToT master Android is broken starting with ab/4882993, which is the first build with this change (previous build ab/4882954 works fine). The device booted and worked initially, but after the first reboot all drawing is mangled or missing.It seems there is a problem with loading cached shaders. Original change's description: > switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS > > Bug: b/110175245 > Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35 > Reviewed-on: https://skia-review.googlesource.com/140003 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: I35d388b3da1e3f421005d7b02ba1e0f0ede0ac84 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/110175245 Reviewed-on: https://skia-review.googlesource.com/140280 Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* Remove interpolants are inaccurate workaround for Adreno 3xx.Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | | | The chrome screenshot unit test that led to adding this workaround has been adjusted to avoid testing AA edges of rendered rectangles. We're accepting the inaccuracy in favor of increased performance. Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 Bug: chromium:847984 Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 Reviewed-on: https://skia-review.googlesource.com/140180 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>
* switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATSGravatar Ethan Nicholas2018-07-09
| | | | | | | | Bug: b/110175245 Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35 Reviewed-on: https://skia-review.googlesource.com/140003 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Don't use geometry shaders on older Adreno chipsGravatar Chris Dalton2018-06-29
| | | | | | | | | | | These appear to be implemented in software. The CCPR vertex impl is significantly faster. Bug: skia:8104 Change-Id: I711b2f805361303a10a6ffcb9c4d68e1c8fca249 Reviewed-on: https://skia-review.googlesource.com/138407 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove half float workaround in GrGLGpu::onReadPixelsGravatar Brian Osman2018-06-29
| | | | | | | | | | | To ensure that SwiftShader keeps working, always read back F16 as F32 on GL. Bug: skia: Change-Id: I0d4184a3e9072a6f4cbc7533ddda658ac76f7f84 Reviewed-on: https://skia-review.googlesource.com/138585 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* implemented getting format from texture as virtual in gpu capsGravatar Timothy Liang2018-06-28
| | | | | | | | | Bug: skia: Change-Id: If6bbbd212ff472ea322d2bbed61995fe7ba85df7 Reviewed-on: https://skia-review.googlesource.com/138240 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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 "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>
* 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>
* 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>
* Revert "Check for ANGLE's implementation of texture_rectangle"Gravatar Ravi Mistry2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 00f8866a321332f07520e3c12963aa1332bb7e82. Reason for revert: Seems to be breaking angle test bots. Eg: https://chromium-swarm.appspot.com/task?id=3dcb7f58728de610&refresh=10 Original change's description: > Check for ANGLE's implementation of texture_rectangle > > ANGLE has implemented extension to support for texture_rectangle. Check > for its existence as well as GL_ARB_texture_rectangle extension. > > Intended to follow up on Chrome side to avoid copy into texture 2d for > PaintCanvasVideoRenderer. > > Bug: skia:7903 > Change-Id: I450aa7fcd08628831251a9e142fd50719723282d > Reviewed-on: https://skia-review.googlesource.com/130962 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Weiliang Chen <weiliangc@chromium.org> TBR=bsalomon@google.com,weiliangc@chromium.org Change-Id: I9fbf9ff314ffcf3abcc5275bd68124f4b329da21 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7903 Reviewed-on: https://skia-review.googlesource.com/131060 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Check for ANGLE's implementation of texture_rectangleGravatar Weiliang Chen2018-05-30
| | | | | | | | | | | | | | ANGLE has implemented extension to support for texture_rectangle. Check for its existence as well as GL_ARB_texture_rectangle extension. Intended to follow up on Chrome side to avoid copy into texture 2d for PaintCanvasVideoRenderer. Bug: skia:7903 Change-Id: I450aa7fcd08628831251a9e142fd50719723282d Reviewed-on: https://skia-review.googlesource.com/130962 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
* Fix unit tests when workarounds are enabledGravatar Adrienne Walker2018-05-21
| | | | | | | Change-Id: Ia660a6d91aa3615e0fa21fba67f5029c131b1ba2 Reviewed-on: https://skia-review.googlesource.com/128983 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Driver bug workaround: pack_parameters_workaround_with_pack_bufferGravatar Adrienne Walker2018-05-16
| | | | | | | | Bug: chromium: 829614 Change-Id: I3fae2b4181e4a6e37fb31fe2f2e9a6cfacb1860f Reviewed-on: https://skia-review.googlesource.com/128206 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Driver bug workaround: gl_clear_brokenGravatar Adrienne Walker2018-05-16
| | | | | | | | | | | | | Skia does not appear to use depth buffers and this appears to be identical to ClearFramebufferResourceManager::ClearFramebuffer in Chromium code. Therefore, just hook up this workaround to turn on these internal Skia workarounds. Bug: chromium: 829614 Change-Id: Icc5f2eb981e39ffef487efa16940d2e50cdbc399 Reviewed-on: https://skia-review.googlesource.com/127220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Adrienne Walker <enne@chromium.org>
* Driver bug workaround: max_msaa_sample_count_4Gravatar Adrienne Walker2018-05-15
| | | | | | | | Bug: chromium: 829614 Change-Id: I54054191815ace6159585dab7dd811ebdc863095 Reviewed-on: https://skia-review.googlesource.com/126983 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Driver bug workaround: disallow_large_instanced_drawGravatar Adrienne Walker2018-05-15
| | | | | | | | Bug: chromium: 829614 Change-Id: I3c64cd360674f08b4ca3c4a2d0ef946e40a5c60a Reviewed-on: https://skia-review.googlesource.com/126751 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Driver bug workaround: max_texture_size_limit_4096Gravatar Adrienne Walker2018-05-15
| | | | | | | | Bug: chromium: 829614 Change-Id: I127157fa04df2ec6505411aa42f1232910e251d4 Reviewed-on: https://skia-review.googlesource.com/126608 Commit-Queue: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland "Driver bug workaround: disable_discard_framebuffer"Gravatar Adrienne Walker2018-05-15
| | | | | | | | | | | | | | | | | | | | | | | This is a reland of f31fece6581a46b40403fc78c83c7eebe50816ba Original change's description: > Driver bug workaround: disable_discard_framebuffer > > Bug: chromium: 829614 > Change-Id: I285b39b31a370247518e3a0b56ac4ea54f38c0c0 > Reviewed-on: https://skia-review.googlesource.com/126749 > Commit-Queue: Adrienne Walker <enne@chromium.org> > Commit-Queue: Brian Salomon <bsalomon@google.com> > Auto-Submit: Adrienne Walker <enne@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> Bug: chromium: 829614 Change-Id: I6cc2de11a6315ff224c90551e8dd3e1d1dd4139a Reviewed-on: https://skia-review.googlesource.com/128108 Commit-Queue: Adrienne Walker <enne@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland "Driver bug workaround: disable_blend_equation_advanced"Gravatar Adrienne Walker2018-05-15
| | | | | | | | | | | | | | | | | | | | | This is a reland of f31fece6581a46b40403fc78c83c7eebe50816ba Original change's description: > Driver bug workaround: disable_blend_equation_advanced > > Bug: chromium: 829614 > Change-Id: If8eaec6d22412ec36aad8a143f84080be05f2926 > Reviewed-on: https://skia-review.googlesource.com/126748 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Adrienne Walker <enne@chromium.org> Bug: chromium: 829614 Change-Id: Idd36ff90a99336521ef5d47f0d7baf079c1bda09 Reviewed-on: https://skia-review.googlesource.com/128107 Commit-Queue: Adrienne Walker <enne@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Driver bug workaround: disable_blend_equation_advanced"Gravatar Greg Daniel2018-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f31fece6581a46b40403fc78c83c7eebe50816ba. Reason for revert: need to revert to revert original change breaking chrome compile Original change's description: > Driver bug workaround: disable_blend_equation_advanced > > Bug: chromium: 829614 > Change-Id: If8eaec6d22412ec36aad8a143f84080be05f2926 > Reviewed-on: https://skia-review.googlesource.com/126748 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Adrienne Walker <enne@chromium.org> TBR=bsalomon@google.com,enne@chromium.org Change-Id: Ic870fbbad615d13569254c355ef6b8281332d60d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium: 829614 Reviewed-on: https://skia-review.googlesource.com/127301 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Driver bug workaround: disable_discard_framebuffer"Gravatar Greg Daniel2018-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8aa0dca395d49b136ab59f6e96c4446342c9ebd2. Reason for revert: need to revert to revert original change breaking chrome compile Original change's description: > Driver bug workaround: disable_discard_framebuffer > > Bug: chromium: 829614 > Change-Id: I285b39b31a370247518e3a0b56ac4ea54f38c0c0 > Reviewed-on: https://skia-review.googlesource.com/126749 > Commit-Queue: Adrienne Walker <enne@chromium.org> > Commit-Queue: Brian Salomon <bsalomon@google.com> > Auto-Submit: Adrienne Walker <enne@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,enne@chromium.org Change-Id: I563808025a8f77807478c0f0d42c3009c3b57ea5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium: 829614 Reviewed-on: https://skia-review.googlesource.com/127302 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Driver bug workaround: disable_discard_framebufferGravatar Adrienne Walker2018-05-10
| | | | | | | | | | Bug: chromium: 829614 Change-Id: I285b39b31a370247518e3a0b56ac4ea54f38c0c0 Reviewed-on: https://skia-review.googlesource.com/126749 Commit-Queue: Adrienne Walker <enne@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Adrienne Walker <enne@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Driver bug workaround: disable_blend_equation_advancedGravatar Adrienne Walker2018-05-10
| | | | | | | | Bug: chromium: 829614 Change-Id: If8eaec6d22412ec36aad8a143f84080be05f2926 Reviewed-on: https://skia-review.googlesource.com/126748 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Adrienne Walker <enne@chromium.org>
* Only enable noperspective with ES3 shading languageGravatar Brian Osman2018-05-08
| | | | | | | | | | | | | | This will never happen in real usage - the extension requires ES3 support. However, we're likely to be testing/running with ES3 and ES2 shading language to work around driver bugs on other devices. Across many devices, this was the only issue I found when forcing ES2 shading language, so it seemed worth fixing. Change-Id: I8b75c6935827c1a24c712cec4b36515581aea353 Reviewed-on: https://skia-review.googlesource.com/126640 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Disable unpack-row-length support on iOSGravatar Brian Osman2018-05-03
| | | | | | | | | | | | | This is a workaround for a suspected driver bug, where the driver appears to blindly copy rowBytes * height bytes, which leads to running off the end of the source buffer. Should fix https://github.com/flutter/flutter/issues/16718 Change-Id: I8ee41429ae97b669e2990752a82f806c4469a8ad Reviewed-on: https://skia-review.googlesource.com/125729 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Implement GL canCopySurface in GrGLCaps.Gravatar Greg Daniel2018-05-03
| | | | | | | | | Bug: skia: Change-Id: Ibd55a5a5e62121f58ef7c5148a54aaad6fdcd243 Reviewed-on: https://skia-review.googlesource.com/125480 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* ccpr: Cull extremely thin trianglesGravatar Chris Dalton2018-04-24
| | | | | | | | | | | | | When triangles get too thin it's possible for FP round-off error to actually give us the wrong winding direction, causing rendering artifacts. This change also allows us to unblacklist ANGLE. Bug: skia:7805 Bug: skia:7820 Change-Id: Ibaa0f033eba625d720e3a594c4515d8264cc413d Reviewed-on: https://skia-review.googlesource.com/123262 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* With ES3, enable both ES2 and ES3 external image extensionsGravatar Brian Osman2018-04-18
| | | | | | | | Bug: skia:7713 Change-Id: If06c0368e91c33bbac9e7715227d619c4834684f Reviewed-on: https://skia-review.googlesource.com/121884 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add glFlush workaround for instanced draws on SkylakeGravatar Chris Dalton2018-04-16
| | | | | | | | Bug: skia: Change-Id: I1292cc423b4d3d7fc2a9035d3ad251ad7e00f0f6 Reviewed-on: https://skia-review.googlesource.com/121700 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Actually blacklist ANGLEGravatar Chris Dalton2018-04-12
| | | | | | | | | | | | It helps to assign it true instead of false... TBR=bsalomon@google.com Bug: skia: Change-Id: I535333d12a79a3fbc82d68e05cf4c2541fa39fa0 Reviewed-on: https://skia-review.googlesource.com/121247 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@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>
* 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>
* 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>