aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLCaps.cpp
Commit message (Collapse)AuthorAge
* Guard against D3D NaN/Infinity literals bugGravatar Brian Osman2017-08-01
| | | | | | | | | Bug: angle:2098 skia:6857 Change-Id: I502f05cdeb56514db4e144fdbb6d6f5a6f476b2e Reviewed-on: https://skia-review.googlesource.com/29520 Reviewed-by: Yuqian Li <liyuqian@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Uncomment glinterface asserts not that chrome has functionsGravatar Greg Daniel2017-07-31
| | | | | | | | Bug: skia: Change-Id: I4c90f8e6eb10389340155fcf7c76c7cb3a5163b3 Reviewed-on: https://skia-review.googlesource.com/28600 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Expose srgbDecodeDisableSupport in GrCapsGravatar Brian Osman2017-07-27
| | | | | | | | | | | This will allow Flutter to workaround the lack of this extension on a small number of devices. Bug: skia: Change-Id: I46e54aaffc0551a7a17758ebc2016b39bda19abf Reviewed-on: https://skia-review.googlesource.com/27440 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* reduce code size in GrGLTestInterface.o and GrGLAssembleInterface.oGravatar Mike Klein2017-07-21
| | | | | | | | | | | | | | All these std::function instantiations fill the object files up with almost 1MB of boilerplate generated code. I think we can do better by implementing GrGLFunction as its own std::function-like type with much less overhead, bringing the total object file size down to about 200K. This reduces DM from 28780344 to 27726144 on my Mac, a touch above 1MB. Change-Id: I219a86737d1dfb8b68e4eb47b51a8a98b18ff282 Reviewed-on: https://skia-review.googlesource.com/20551 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Fixes from sample count change""Gravatar Greg Daniel2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 914b285d45717bf8da8f141b41cec098749a6d0e. Reason for revert: Already have fix for bug, which is quicker than fixing merge conflict Original change's description: > Revert "Fixes from sample count change" > > This reverts commit f3316224b95e4d3325972552df0d1c046ae73225. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Fixes from sample count change > > > > Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL > > > > Bug: skia: > > Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e > > Reviewed-on: https://skia-review.googlesource.com/24780 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com > > Change-Id: I8e3c95621eb0bc6ea2be24cc4ee67f88239263ed > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24863 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com Change-Id: I43cb50691885cae8fe8bab1f034eb6a00b77de81 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24900 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Fixes from sample count change"Gravatar Greg Daniel2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f3316224b95e4d3325972552df0d1c046ae73225. Reason for revert: <INSERT REASONING HERE> Original change's description: > Fixes from sample count change > > Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL > > Bug: skia: > Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e > Reviewed-on: https://skia-review.googlesource.com/24780 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com Change-Id: I8e3c95621eb0bc6ea2be24cc4ee67f88239263ed No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24863 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Fixes from sample count change""Gravatar Cary Clark2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 390aaaf403f2e2487c44613e22c4d931c44315fb. Reason for revert: could not revert breaking change automatically because of conflict during merge Original change's description: > Revert "Fixes from sample count change" > > This reverts commit f3316224b95e4d3325972552df0d1c046ae73225. > > Reason for revert: android vulkan build broken > > Original change's description: > > Fixes from sample count change > > > > Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL > > > > Bug: skia: > > Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e > > Reviewed-on: https://skia-review.googlesource.com/24780 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com > > Change-Id: I076a4226f5725b3d48592402772ca39b64cae478 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24840 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com Change-Id: I890540a68c18ed390773e97066ed92fea370d083 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24842 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Revert "Fixes from sample count change"Gravatar Cary Clark2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f3316224b95e4d3325972552df0d1c046ae73225. Reason for revert: android vulkan build broken Original change's description: > Fixes from sample count change > > Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL > > Bug: skia: > Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e > Reviewed-on: https://skia-review.googlesource.com/24780 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,caryclark@google.com Change-Id: I076a4226f5725b3d48592402772ca39b64cae478 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24840 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Fixes from sample count changeGravatar Greg Daniel2017-07-19
| | | | | | | | | | Re blacklist imagination msaa on Vulkan and fix i->1 bug in GL Bug: skia: Change-Id: I8045565b2064d2ee037ab43b167e6d5d3a59268e Reviewed-on: https://skia-review.googlesource.com/24780 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Update gpu caps for valid sample counts.Gravatar Greg Daniel2017-07-19
| | | | | | | | | | | | Instead of query and maxSampleCount and using that to cap, we now have each config store its supported values and when requested returns either the next highest or equal supported value, or if non the max config supported. Bug: skia: Change-Id: I8802d44c13b3b1703ee54a7e69b82102d4b8dc2d Reviewed-on: https://skia-review.googlesource.com/24302 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Clean up onTransferPixels""Gravatar Jim Van Verth2017-06-22
| | | | | | | | Bug: skia:5126 Change-Id: Ia1eaef56cca266ad4c413e711e63646e913222be Reviewed-on: https://skia-review.googlesource.com/20445 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add GL_APPLE_sync supportGravatar Brian Osman2017-06-21
| | | | | | | | | | | While debugging Flutter iOS issues, I realized that they weren't getting cross context images (we were just passing around codec backed images). Bug: skia: Change-Id: I6190b24eb281e839659d28767f9a0b31c05f13e0 Reviewed-on: https://skia-review.googlesource.com/20450 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* When flushing a surface with semaphores, have last semaphore op call glFlushGravatar Greg Daniel2017-06-21
| | | | | | | | | Bug: skia:6770 Change-Id: Ia321b3826da87bd0d25ca2b13b7360baa8caf597 Reviewed-on: https://skia-review.googlesource.com/20453 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Clean up onTransferPixels"Gravatar Jim Van Verth2017-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f7037d003c936f59e4d02244821e223c2e7af8e8. Reason for revert: Issues on test bots. Original change's description: > Clean up onTransferPixels > > Bug: skia:5126 > Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc > Reviewed-on: https://skia-review.googlesource.com/19055 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com Change-Id: I923fda4d5cd8c2896fb347f9b2695b7f83d9137b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:5126 Reviewed-on: https://skia-review.googlesource.com/20444 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Clean up onTransferPixelsGravatar Jim Van Verth2017-06-21
| | | | | | | | Bug: skia:5126 Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc Reviewed-on: https://skia-review.googlesource.com/19055 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Add API for flushing surfaces with gpu semaphores""Gravatar Greg Daniel2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7292231905c34ed290ba479338f26b56ae2a7792. This change relands the original plus the follow on change: https://skia-review.googlesource.com/20059. Additionally it adds a blacklist for the mac intel bots which don't see to respect the added fences on the GPU. Original change's description: > Revert "Add API for flushing surfaces with gpu semaphores" > > This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62. > > Reason for revert: Failing test on mac bots > > Original change's description: > > Add API for flushing surfaces with gpu semaphores > > > > BUG=skia: > > > > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1 > > Reviewed-on: https://skia-review.googlesource.com/11488 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Forrest Reiling <freiling@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com > > Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/20063 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com Change-Id: I4dc6c0e1deb0398eeb165a34f0a26af7a58259f1 Reviewed-on: https://skia-review.googlesource.com/20141 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Expand partial render target write pixels workaround.""Gravatar Brian Salomon2017-06-12
| | | | | | | | | | | New version limits the workaround to unorm configs. This reverts commit fdd117025fb846771e9e47cbf825d9071745fa98. Change-Id: I47a08a0ea4cf1acd88ca3c1bf9922cf0a8d215cc Reviewed-on: https://skia-review.googlesource.com/19490 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Modify Adreno 3xx workaround to toggle face culling rather than call glFlush.Gravatar Brian Salomon2017-06-12
| | | | | | | | | | | | This fixes some correctness issues introduced by the previous workaround in MSAA gm images. It hopefully improves performance regressions introduced in MSAA benchmarks from calling glFlush. A comment on the workaround is updated to indicate that the original line-drop-out bug was seen on the N5 running driver 127.0. It simply showed up in different GMs that on the N7 running 127.0 Bug: skia:6755 Change-Id: Ief066fd9b223c043a80e7fe07ff13aac07a48970 Reviewed-on: https://skia-review.googlesource.com/19481 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add flush before drawing lines workaround for Adreno 3xxGravatar Brian Salomon2017-06-08
| | | | | | | | Bug: skia:6309 Change-Id: I354c678ca4e833c523a89b3196804fbe1adcf9d1 Reviewed-on: https://skia-review.googlesource.com/19087 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Disable buffer mapping on Galaxy J5Gravatar Brian Salomon2017-06-08
| | | | | | | | Bug: skia:6309 Change-Id: Ieaf5bbc36c7fa7dee0cc07b480046bb0f190b138 Reviewed-on: https://skia-review.googlesource.com/19053 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Suppress rendererability of kAlpha8 GL_CHROMIUM_framebuffer_multisample for ↵Gravatar Robert Phillips2017-06-07
| | | | | | | | | | | | | ANGLE D3D9 For ANGLE D3D9 ES2 we're seeing GL_CHROMIUM_framebuffer_multisample but not GL_ANGLE_framebuffer_multisample. The same occurs for ANGLE D3D11 ES2 but kAlpha8 is renderable in that case. Bug: 730082 Change-Id: I7eda844b0ad48150d19406517d1dfbe453e9e478 Reviewed-on: https://skia-review.googlesource.com/18980 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Limit Adreno 4xx stencil clear workaround to older driversGravatar Brian Salomon2017-06-07
| | | | | | | | Bug: skia:5587 Change-Id: I00f377c06228deb9053b1cf7d9f413e0bf2fb490 Reviewed-on: https://skia-review.googlesource.com/18936 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Workaround Adreno driver issue with stencil clears.""Gravatar Mike Klein2017-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8b06ed7c9f76760563ed3c46716e8e8f27ec2311. Reason for revert: try again. Original change's description: > Revert "Workaround Adreno driver issue with stencil clears." > > This reverts commit 4e8c581f2aa911bf49f97a246cc26134da292a8c. > > Reason for revert: breaks Google3 roll > > Original change's description: > > Workaround Adreno driver issue with stencil clears. > > > > This also removes the "debug wire rect" which was not used and not implemented for Vulkan. > > > > Also some declared but not implemented methods are removed from GrGLGpu. > > > > Bug: skia:5587 > > > > Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf > > Reviewed-on: https://skia-review.googlesource.com/18639 > > Reviewed-by: Chris Dalton <csmartdalton@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,csmartdalton@google.com > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:5587 > > Change-Id: I65aa16b3f8c70cdef56ff16e16304ba09604c475 > Reviewed-on: https://skia-review.googlesource.com/18924 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,bsalomon@google.com,reviews@skia.org,csmartdalton@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:5587 Change-Id: Ice49027bda1c1ff7e0362d0680341ac862159850 Reviewed-on: https://skia-review.googlesource.com/18928 Reviewed-by: Mike Klein <mtklein@google.com>
* Revert "Workaround Adreno driver issue with stencil clears."Gravatar Mike Klein2017-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4e8c581f2aa911bf49f97a246cc26134da292a8c. Reason for revert: breaks Google3 roll Original change's description: > Workaround Adreno driver issue with stencil clears. > > This also removes the "debug wire rect" which was not used and not implemented for Vulkan. > > Also some declared but not implemented methods are removed from GrGLGpu. > > Bug: skia:5587 > > Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf > Reviewed-on: https://skia-review.googlesource.com/18639 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,csmartdalton@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:5587 Change-Id: I65aa16b3f8c70cdef56ff16e16304ba09604c475 Reviewed-on: https://skia-review.googlesource.com/18924 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Workaround Adreno driver issue with stencil clears.Gravatar Brian Salomon2017-06-06
| | | | | | | | | | | | | This also removes the "debug wire rect" which was not used and not implemented for Vulkan. Also some declared but not implemented methods are removed from GrGLGpu. Bug: skia:5587 Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf Reviewed-on: https://skia-review.googlesource.com/18639 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Re-enable single channel renderability for ANGLE ES2Gravatar Robert Phillips2017-06-05
| | | | | | | | | Since the ANGLE-side fix has landed & been rolled into Skia we no longer need this workaround. Change-Id: I9e6296976d53fc1c87232f918a5c0257201744bf Reviewed-on: https://skia-review.googlesource.com/18583 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Disable single channel renderability for ANGLE ES2Gravatar Robert Phillips2017-06-02
| | | | | | | | | Bug: 720325 Change-Id: Ib55c7a0c59a23b8dc012e04b626010de7da2921b Reviewed-on: https://skia-review.googlesource.com/18485 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Expand texturability testing to cover mip-mapped textures, and fix iOSGravatar Brian Osman2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't allow creation of mip-mapped textures when caps says we don't support mip-mapping. Skip testing of mip-mapped resources in the resource size test, when creation will fail. For iOS devices with ES2, the APPLE BGRA8888 extension is more trouble than it's worth. Even though it lets the internal and external formats not match, it appears that the driver remembers the first external format, so subsequent attempts to upload with the other swizzle will fail. Up until now, creation of these textures was failing anyway, so now just make it more explicit that we don't support BGRA in this situation. Now that we're testing our TexStorage path, fix a few other problems that showed up: - Command Buffer doesn't like extension formats. - X86 PowerVR and Adreno devices don't like BGRA. Re-land of : https://skia-review.googlesource.com/18382 Re-re-land of: https://skia-review.googlesource.com/18261 BUG=skia: Change-Id: Ie12793549a6807300d6ece68cd6b92495e85c3fe Reviewed-on: https://skia-review.googlesource.com/18403 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Expand texturability testing to cover mip-mapped textures, and fix iOS"Gravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c2b5175e99c6451bdf34fa52900af39ee11a4a84. Reason for revert: Nexus 5 Original change's description: > Expand texturability testing to cover mip-mapped textures, and fix iOS > > Don't allow creation of mip-mapped textures when caps says we don't > support mip-mapping. > > Skip testing of mip-mapped resources in the resource size test, > when creation will fail. > > For iOS devices with ES2, the APPLE BGRA8888 extension is more > trouble than it's worth. Even though it lets the internal and > external formats not match, it appears that the driver remembers > the first external format, so subsequent attempts to upload with > the other swizzle will fail. Up until now, creation of these > textures was failing anyway, so now just make it more explicit > that we don't support BGRA in this situation. > > Re-land of: https://skia-review.googlesource.com/18261 > > BUG=skia: > > Change-Id: I910ffab0aa735647dce910d9054696c385f94933 > Reviewed-on: https://skia-review.googlesource.com/18382 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true BUG=skia: Change-Id: I8f0fd87678cc584ad37b2a93a859bd4ef38c8092 Reviewed-on: https://skia-review.googlesource.com/18401 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Expand texturability testing to cover mip-mapped textures, and fix iOSGravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | Don't allow creation of mip-mapped textures when caps says we don't support mip-mapping. Skip testing of mip-mapped resources in the resource size test, when creation will fail. For iOS devices with ES2, the APPLE BGRA8888 extension is more trouble than it's worth. Even though it lets the internal and external formats not match, it appears that the driver remembers the first external format, so subsequent attempts to upload with the other swizzle will fail. Up until now, creation of these textures was failing anyway, so now just make it more explicit that we don't support BGRA in this situation. Re-land of: https://skia-review.googlesource.com/18261 BUG=skia: Change-Id: I910ffab0aa735647dce910d9054696c385f94933 Reviewed-on: https://skia-review.googlesource.com/18382 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Expand texturability testing to cover mip-mapped textures, and fix iOS"Gravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9f6f41b01bdc8144808e78128676087bfb310a27. Reason for revert: Command Buffer and ANGLE failures. Original change's description: > Expand texturability testing to cover mip-mapped textures, and fix iOS > > Don't allow creation of mip-mapped textures when caps says we don't > support mip-mapping. > > Skip testing of mip-mapped resources in the resource size test, > when creation will fail. > > For iOS devices with ES2, the APPLE BGRA8888 extension is more > trouble than it's worth. Even though it lets the internal and > external formats not match, it appears that the driver remembers > the first external format, so subsequent attempts to upload with > the other swizzle will fail. Up until now, creation of these > textures was failing anyway, so now just make it more explicit > that we don't support BGRA in this situation. > > BUG=skia: > > Change-Id: Ic2e3ba1673398d542edd46a555ef47b5d0979c01 > Reviewed-on: https://skia-review.googlesource.com/18261 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true BUG=skia: Change-Id: I68f6bb3be9fbafa7366ef5611a12e372274aa648 Reviewed-on: https://skia-review.googlesource.com/18380 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Expand texturability testing to cover mip-mapped textures, and fix iOSGravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | Don't allow creation of mip-mapped textures when caps says we don't support mip-mapping. Skip testing of mip-mapped resources in the resource size test, when creation will fail. For iOS devices with ES2, the APPLE BGRA8888 extension is more trouble than it's worth. Even though it lets the internal and external formats not match, it appears that the driver remembers the first external format, so subsequent attempts to upload with the other swizzle will fail. Up until now, creation of these textures was failing anyway, so now just make it more explicit that we don't support BGRA in this situation. BUG=skia: Change-Id: Ic2e3ba1673398d542edd46a555ef47b5d0979c01 Reviewed-on: https://skia-review.googlesource.com/18261 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Blacklist sRGB MSAA on AMD (ATI) MacsGravatar Brian Osman2017-05-31
| | | | | | | | | | | Fixes GrSurfaceTest failure on the trash can BUG=skia: Change-Id: I0def62ea7a2693043f6a359a47a3e9e1177ca84d Reviewed-on: https://skia-review.googlesource.com/18152 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add support for instanced drawsGravatar Chris Dalton2017-05-31
| | | | | | | | | | | | Adds an instance buffer to GrMesh and instance attribs to GrPrimitiveProcessor. Implements support in GL and Vulkan. Adds unit tests for instanced rendering with GrMesh. Bug: skia: Change-Id: If1a9920feb9366f346b8c37cf914713c49129b3a Reviewed-on: https://skia-review.googlesource.com/16200 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Expand partial render target write pixels workaround."Gravatar Brian Salomon2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0cc507d22566bb7e28e5fe21e4b3fc7b682d86a2. Reason for revert: Causing IntTextureText to fail on bots Original change's description: > Expand partial render target write pixels workaround. > > The workaround is extended in the following ways: > > 1) It now applies to any texture whose base level has *ever* been attached to a FBO. > 2) It applies to Adreno 5xx in addition to Adreno 4xx > 3) It applies in the atlas upload code path. > > This workaround (and a similar one) are narrowed to GLCaps rather than Caps. > > Bug: skia: > Change-Id: Id600e9739bb97bf6766075ea2a987fd2039e53e5 > Reviewed-on: https://skia-review.googlesource.com/18150 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Change-Id: I53c8dd7ea7f614da57331470fcc24c6d84aba354 Reviewed-on: https://skia-review.googlesource.com/18229 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Expand partial render target write pixels workaround.Gravatar Brian Salomon2017-05-31
| | | | | | | | | | | | | | | | The workaround is extended in the following ways: 1) It now applies to any texture whose base level has *ever* been attached to a FBO. 2) It applies to Adreno 5xx in addition to Adreno 4xx 3) It applies in the atlas upload code path. This workaround (and a similar one) are narrowed to GLCaps rather than Caps. Bug: skia: Change-Id: Id600e9739bb97bf6766075ea2a987fd2039e53e5 Reviewed-on: https://skia-review.googlesource.com/18150 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Convert DstTexture to DstProxy (take 2)Gravatar Robert Phillips2017-05-29
| | | | | | | | | | | | | The last GrTexture-based TextureSampler::reset call must be removed before the TextureSamplers can become purely GrTextureProxy-backed Reland of: https://skia-review.googlesource.com/c/16908/ (Convert DstTexture to DstProxy) Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) Change-Id: I3a497b6a950fad899f23882c0a9552894ef640f8 Reviewed-on: https://skia-review.googlesource.com/17205 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Clear atlas textures at creation in Chrome"Gravatar Brian Salomon2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8785df15fe5a57651597d138d3c5aea0ffe3f661. Reason for revert: Chrome bug Bug: chromium:726226 Original change's description: > Clear atlas textures at creation in Chrome > > Bug: chromium:656320 > Change-Id: Ia65274aa733f199be188579821e745920493aefc > Reviewed-on: https://skia-review.googlesource.com/17824 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:656320 Change-Id: Ibc4dd7f184866b58481f2dc7e7e88da9169e7adc Reviewed-on: https://skia-review.googlesource.com/17988 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Workaround Mali static analysis bugGravatar Brian Osman2017-05-25
| | | | | | | | | | | | | | | Comment describes it: Unless we do something to confuse their optimizer, they will (incorrectly) deduce that uniform opaque color (modulated only by a texture fetch) is always going to remain opaque. Then they skip inserting their shader based blending code, turning SrcOver into Src. Doing a max against zero is enough to squelch the optimization. Bug: skia: Change-Id: I74676cebb0b0c8d121da868dd8a88050e0cfcc0d Reviewed-on: https://skia-review.googlesource.com/17924 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Initialize blit framebuffer in GL even if not doing msaaGravatar Greg Daniel2017-05-25
| | | | | | | | Bug: skia: Change-Id: I6b7290485e0c3123c62a50ec156738862e9ad18c Reviewed-on: https://skia-review.googlesource.com/17926 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Disable MSAA for Intel GPUs and re-enable GrSurfaceRenderability testGravatar Robert Phillips2017-05-25
| | | | | | | | | This CL replaces: https://skia-review.googlesource.com/c/17710/ (Re-enable GrSurfaceRenderability test) Change-Id: I5626e4fc3581cd2b17fe0f0ad3a9e9bc35b7aa4c Reviewed-on: https://skia-review.googlesource.com/17764 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Clear atlas textures at creation in ChromeGravatar Brian Salomon2017-05-24
| | | | | | | | Bug: chromium:656320 Change-Id: Ia65274aa733f199be188579821e745920493aefc Reviewed-on: https://skia-review.googlesource.com/17824 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add a flag to GrSurfaceFlags that requires the texture to be ↵Gravatar Brian Salomon2017-05-23
| | | | | | | | | | | | cleared upon creation. "" This reverts commit a9e795eab5f59a52d96b8fdc39351452835f5eb9. Bug: skia: Change-Id: Ibfc51497ae99f332f8f72a799393a1b2996f7f3f Reviewed-on: https://skia-review.googlesource.com/17767 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared ↵Gravatar Brian Salomon2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | upon creation. " This reverts commit 45e5068a6d10f4e4fd4658824310f8871f02ccf7. Reason for revert: :'( Original change's description: > Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. > > Bug: chromium:656320 > > Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1 > Reviewed-on: https://skia-review.googlesource.com/17391 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Bug: chromium:656320 Change-Id: I8a4f71537e45f3c4cf37b10b2dc8ee38fe6959ba Reviewed-on: https://skia-review.googlesource.com/17765 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add a flag to GrSurfaceFlags that requires the texture to be cleared upon ↵Gravatar Brian Salomon2017-05-23
| | | | | | | | | | | creation. Bug: chromium:656320 Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1 Reviewed-on: https://skia-review.googlesource.com/17391 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove compressed (ETC1) texture support from Ganesh (take 2)Gravatar Robert Phillips2017-05-23
| | | | | | | | | | Reland of https://skia-review.googlesource.com/c/17456/ (Remove compressed (ETC1) texture support from Ganesh) but w/o removing third_part\etc1 files TBR=bsalomon@google.com Change-Id: I8ec4b7e3ddf47d213cb24c382731c050ffb8847f Reviewed-on: https://skia-review.googlesource.com/17700 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Remove compressed (ETC1) texture support from Ganesh"Gravatar Brian Osman2017-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ee26363aaae62db2a851f2873e2405a9cf7f995a. Reason for revert: Failing Google 3 roll. Original change's description: > Remove compressed (ETC1) texture support from Ganesh > > Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667 > Reviewed-on: https://skia-review.googlesource.com/17456 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie1a57187287e03600a69e374501478e93c41415c Reviewed-on: https://skia-review.googlesource.com/17527 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove compressed (ETC1) texture support from GaneshGravatar Robert Phillips2017-05-22
| | | | | | | Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667 Reviewed-on: https://skia-review.googlesource.com/17456 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add fixes & test for isConfigTexturable and isConfigRenderableGravatar Robert Phillips2017-05-22
| | | | | | | | | | | | | | | | | | This CL fixes: isConfigTexturable was returning true for: kRG_float for ANGLE ES2 configs isConfigRenderable was returning true for: kAlpha_8 for ANGLE ES2 configs isConfigTexturable and isConfigRenderable were returning true for: SBGRA on ES2 The NexusPlayer was marking RGBA & RG float configs as renderable but not textureable Bug: 720325 Change-Id: If21361870dbdde8f3e09bc9dff3a394f2a329157 Reviewed-on: https://skia-review.googlesource.com/17387 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Updated workaround for Intel 6xxx clear to 0/1 bugGravatar Eric Karl2017-05-19
| | | | | | | | | | | | | The previous workaround only handled the glClearColor(0,0,0,1) case, it turns out we need to work around any glClearColor made up of entirely 0s and 1s. R=bsalomon@google.com Bug: 710443 Change-Id: I78a75559fc11811ad9a218436231354d66d2ad51 Reviewed-on: https://skia-review.googlesource.com/17327 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Eric Karl <ericrk@chromium.org>