Log

Author Commit Date CI Message
John Plate 8994fc7b 2021-04-12T19:46:11 Migrate CL entry points to libGLESv2 Bug: angleproject:5759 Change-Id: I79644e7bda3ad0a15eb041b2805b8765c0d22029 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822258 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
Mohan Maiya c8ee13c7 2021-04-02T12:19:33 Vulkan: Fix a validation bug in glBeginTransformFeedback Add logic to check the program or the pipeline before erroring out when validating glBeginTransformFeedeback. Bug: angleproject:5557 Test: ProgramPipelineXFBTest31.VaryingIOBlockSeparableProgramWithXFB* Change-Id: I0df8a8d87b3632745bc91dc2673f2fac31c6cdb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743440 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill fe4053ba 2021-04-13T13:08:40 infra: Add angle_mb_config.pyl. This will be used to set up gn args for standalone builds. We can then set the GN args source-side instead of in the recipe directly. Bug: angleproject:5114 Change-Id: I6fac6d13903951031a7299aea203f6b3e13c72bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819461 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 29dc2b6e 2021-04-13T09:32:30 infra: Move and check gn_isolate_map. In preparation for more source-side configuration. Also adds a presubmit check and some empty files to enable the presubmit to function. Bug: angleproject:5114 Change-Id: Id9a0cbe1e78949720be39c65efab73c1345d4f39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819942 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi cc56e1aa 2021-04-09T23:35:07 Vulkan: Remove special output of structs and keep them in AST The code that separated out declaration of nameless structs from uniform variable declarations is generalized to separate out declaration of all structs from uniform variable declarations. As a result, a pass that outputs the struct types at the top of the shader is no longer necessary. The struct declarations are kept in the AST to be output to GLSL as they normally would when not used in conjunction with uniform variables. After this change, the Vulkan and Metal translators no longer intermix transformations and code generation; transformations are done first entirely in AST, and code generation is done at the end. Bug: angleproject:2461 Bug: angleproject:4889 Change-Id: Ieb4d3f7091845e50c3dc399603ab01182692521d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818153 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Geoff Lang 18c6d628 2021-03-09T13:46:13 GL: Support VAOs without native VAOs. Share the default VAO state between all frontend VAO when there is no native VAO support. Forcefully sync state every time a new frontend VAO is bound. Bug: angleproject:5577, chromium:1167179 Change-Id: Ieaedb5108ad28fc78e7e58b74495639c5246bb05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665266 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang fe790824 2021-04-09T11:24:07 Add the jdk dep when building standalone for Android. Chrome started requiring this dep to 'gn gen' on Android so ANGLE needs it too. Bug: angleproject:5839 Change-Id: Ia8df8520975ed426667f2c59f0fd7761652b92ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818141 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang 065c2329 2021-04-08T11:59:43 Reland "Vulkan: Add features to modify sampling parameters" This reverts commit a51b57fa2dc73f8bc8acdf0b818cc0315fb23d75. Original change's description: > Revert "Vulkan: Add features to modify sampling parameters" > > Bug: b/167404532 > Change-Id: Iae19dfe165074e8c01216312bddd744c4fb504a4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510012 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: b/167404532 Change-Id: I2c756b8eb0f61701ef6e33275e557bc199a4d3b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815259 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi c2d1a464 2021-04-09T16:53:30 Translator: Track nameless interface block field indices in type Fields of nameless interface blocks are stored as TVariables and referenced through a TIntermSymbols (unlike named blocks which use EOpIndexDirectInterfaceBlock with a constant field indices). With this change, the field index is stored in the variable's type which let's the TField of the TInterfaceBlock be directly accessible (and not need a search by name). This will be helpful in translation to SPIR-V as interface block members are accessed by field index. Bug: angleproject:4889 Change-Id: If3ab45b1e5f5f9576721dc52e2bdf1161882514f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818242 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 6ec55494 2021-04-08T22:02:50 Vulkan: Use AST transformation for gathering default uniforms ... instead of generating text. This will keep the tree in a consistent state, as previously the references to uniform values where to TVariable's whose declarations were removed. Bug: angleproject:2461 Bug: angleproject:4889 Change-Id: I2ef3787dede371514a5f495f4cc8fc67ea45f451 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815564 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny faa86bc9 2021-04-13T14:19:59 Capture/Replay: Serialize only a hash of the shader binary It doesn't make much sense to keep the actual values and it makes the diff needlessly large when the binaries differ. Bug: angleproject:5856 Change-Id: I55664d6cb60ef680669c1243c2eabcb67cd4db23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822256 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 6d2f9cb4 2021-04-13T13:56:13 JsonSerializer: add method to store only a hash for vectors This can be used to make the Json comaprison less noisy. Bug: angleproject:5856 Change-Id: I57df41eed3926647aaf8bcf97a7aea050e1c3d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822255 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 58eabfd7 2021-04-08T23:57:04 Translator: Validate consistent variable references Some transformations change variable declarations. This validation ensures that all references to said variables are appropriately replaced as well. Bug: angleproject:2733 Change-Id: I6c2873968eeed4cba66e70069f84eb69a1f77074 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny 79402fbd 2021-04-13T14:15:19 JsonSerializer: Fix rapidjson define usage The correct define is ANGLE_HAS_RAPIDJSON Bug: angleproject:5858 Change-Id: I21e3f3e632d5ceb4fce43f1d6be34e4fbbdafbc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822254 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 41c66442 2021-04-12T16:46:47 Capture/Replay: Print context diff on failure when verbose When run with the --verbose flag, and a test fails because the context comparison fails, then print the unified diff between the JSON serialization of context that was captured and the context when it was replayed. Bug: angleproject:5715 Change-Id: I86210d96e5bbdf63f1ed663ddf8dfcb33764cbea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821535 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cheryl Wei 5faed621 2021-04-12T17:48:56 Skip IOBlocksSeparate xfb test on Linux/ARM/Vulkan Bug: angleproject:5493 Change-Id: I894e08a86157032d1e68a3d2b460bfdbbaeb6680 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821415 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate 1d7046ca 2021-04-12T16:17:22 Generate CL stubs in libGLESv2 Bug: angleproject:5758 Change-Id: I6440dacf0db57a56923d2cab5a7c791981ba3b9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822248 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny f7891766 2021-04-12T14:24:37 Capture/Replay: write context serializations on failure With this data available as JSON text files further analysis can be executed to drill down to what the actual difference is. Bug: angleproject:5715 Change-Id: I7012668ff9617f6232a6bbe1798a02d8c795321d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821534 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 71786e94 2021-04-13T07:01:34 Roll Chromium from 497fa2f8d899 to ab36e1e42f00 (427 revisions) https://chromium.googlesource.com/chromium/src.git/+log/497fa2f8d899..ab36e1e42f00 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/563f147c85..79006bea8b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/85de9f3f89..e5f83f632d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..db7e7f8a5d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1cabb17575..057831ef1f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/006bc90fc4..7168936235 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a2223becbd..bfc3b95479 * tools/skia_goldctl/linux: hppkAohY9Cc45kW6zZWYXtdLKzo9CQ9XvcqLNIBaqQQC..mAuXqU7IqMTl2o166z_OMy_IZxh0ajpEUPuXYy4_BfcC * tools/skia_goldctl/mac: JnqYnN3TwP__L0jvUBgcLpPQsBgz9ZcBk8-bsbiez6QC..TH-LRMBSdzpB3b-wmecnLTut5qaef26EM-ZbtQM2CIUC * tools/skia_goldctl/win: 0el4SjlMxSJWhUyzmXXYXqGT59IZHXzEaDTufNH8bOwC..Lzfohgeqx2FAmTxtM5eYQshIXb5YBoNk73cmoh_dP3sC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ia8f524d620a3b474cf74487a693455abdfd4491b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2823568 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Nicolas Capens 15f4925a 2021-04-12T15:38:10 Restore EGL_EXT_buffer_age for SwiftShader Vulkan EGL_EXT_buffer_age was previously disabled for SwiftShader Vulkan because of an Android test timing out on Cuttlefish when the buffer age is queried. aosp/1672445 addresses the root cause of the timeout, so EGL_EXT_buffer_age can be supported again. Bug: b/182521420 Bug: angleproject:3529 Change-Id: I5949f721316855d9138eb9f657a6df4e7b49ed71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821750 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Shahbaz Youssefi 3813c361 2021-04-12T11:45:46 Vulkan: More perf warning for vertex format conversion The perf warning was previously only issued when a GPU buffer had to be converted. This change adds a warning when client data needs to change format too. Bug: b/184355822 Change-Id: I3539e22f277593d60e5e1ce172baf7b8db0477fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821751 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Doug Horn fdba40fe 2021-03-31T12:52:00 Reland "Fix multithreaded crash on draw commands on D3D11 backend." This is a reland of 8b9889bf62272fea2495331b622bde1f7c781bd0 The previous CL relied on a define which now only exists in a specific gn configuration. This reland removes D3D11 as a multithread-supported platform in the test configuration. Original change's description: > Fix multithreaded crash on draw commands on D3D11 backend. > > A crash can occur if thread A is executing eglDestroyContext while > thread B issues a draw call, if the threads are interleaved in such a > manner that a makeCurrent occurs without triggering a change to the > global context and a dirtyAllState call. We handle that case by > explicitly making current the proper contexts in the eglDestroyContext > call. > > A test has been added that triggers a crash without this fix when > running on the D3D11 backend. In addition, all of MultithreadingTest > is enabled for the D3D11 backend. > > Test: Ran MultithreadingTest. Test exhibits a crash before this > change, and does not after this change. Also ran: > dEQP-EGL.functional.sharing.gles2.multithread.* > dEQP-EGL.functional.multithread.* > > Bug: b/183756357 > Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Doug Horn <doughorn@google.com> Bug: b/183756357 Change-Id: I5be9a011ea99a69730eddc9e4da23bcf92ed3bf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815243 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Doug Horn <doughorn@google.com>
Sunny Sachanandani 923f6a6f 2021-04-06T15:30:26 Ignore internal format attribute for YUV D3D11 EGLImages Internal format doesn't play any role in this case, and causes confusion due to mixing sized and unsized formats resulting in more complicated code in Chromium. Bug: angleproject:5538, chromium:1116101 Change-Id: Ie200026f014850053108aa0416e1da15bcda7b84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808855 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 1f8e35b5 2021-04-09T12:29:22 Remove EvqBaseVertex and EvqBaseInstance qualifiers They are only used to mark angle_BaseVertex and angle_BaseInstance uniforms, but they make it complicated for the rest of the code to identify them as uniforms. Bug: angleproject:4889 Change-Id: I0c632bb595dc9a7fcda19db11ecb27539b1c33e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818144 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
David Stevens 0615bbde 2021-04-12T15:29:26 Ignore subclass when finding GPU PCI devices When enumerating PCI devices to find GPUs, only filter on the base class. This allows devices with class PCI_CLASS_DISPLAY_OTHER to be found. Bug: b/178748337 Change-Id: Ia0cd29dddc49a16428da16c1ef1b94040c1221f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2817973 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 77600bcb 2021-04-11T16:52:15 infra: Remove named vs_toolchain cache. This is no longer needed now that ANGLE uses the pinned depot_tools. We should land this after the recipe updates to no longer use the cache. Patch series: 1. http://crrev.com/c/2819943 2. http://crrev.com/c/2819472 3. This CL Bug: angleproject:5842 Change-Id: I5d166c7cd66a9d7f077c09b4149de08b22724af8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819945 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 33505f03 2021-04-11T16:52:15 DEPS: Include a pinned version of depot_tools. This will align the ANGLE standalone build more with Chromium. It can catch some kinds of build break on the CQ, preventing some churn, and also will let us cache the vs_toolchain without needing a special named cache. Also includes a necessary tool to cross-compile Win on Linux. Patch series: 1. This CL 2. http://crrev.com/c/2819472 3. http://crrev.com/c/2819945 Bug: angleproject:5842 Change-Id: Idaee3b44d970d1171076a8eaa09e3e0555331d49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819943 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 81401be2 2021-04-12T10:01:01 Roll SwiftShader from 4c0f888d7ef8 to 77edad299907 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4c0f888d7ef8..77edad299907 2021-04-09 capn@google.com Remove the OpenGL ES 1.1 build target If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ifcf34ec0ac6f78b6d7c0655b8ec642baadd50254 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821188 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7093777b 2021-04-12T07:31:32 Roll Chromium from 920c6c5ffe65 to 497fa2f8d899 (507 revisions) https://chromium.googlesource.com/chromium/src.git/+log/920c6c5ffe65..497fa2f8d899 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/0006b44d1f..563f147c85 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/75df5ad7e8..85de9f3f89 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ab687ea7be * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6e92ef6460..006bc90fc4 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e509f34db2..a2223becbd No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I2bacfdbbb2205c3da9f37c546e82917fe2adc59d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820525 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya f92eb43c 2021-03-25T18:33:19 Vulkan: All builtins of gl_out needs to be considered as active All builtins of gl_out, like gl_out[].gl_Position need to be considered active as well. Bug: angleproject:5557 Test: dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes Change-Id: I74aeef86be573dc8df17472b88acd521032d7921 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2786630 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 0273ea3f 2021-04-06T16:23:39 Vulkan: Use RGBA16_FLOAT for buffer format fallback ... instead of RGBA32_FLOAT. VK_FORMAT_R16G16B16A16_SFLOAT has mandatory support for vertex buffers. Bug: b/184163871 Change-Id: I7ef2933cd15e46bb984e6fd1b020d2ec15b9c60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807780 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott b17a9317 2021-04-09T14:39:37 Vulkan: damage rectangles must never be pre-rotated Remove the SurfaceVk::present() code that rotated damage rectangles and the feature flag that controlled that rotation. The Vulkan specification was changed so that the rectangles provided to the VK_KHR_incremental_present extension must never be pre-rotated. The spec change requires the same behavior on all platforms (just in case), even though Android is the only platform known to support rotation. FYI: the Vulkan spec change was merge request 4442. Bug: b/182930524 Change-Id: I5128fd76e718f3d964c9091830bcc5886d265543 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818826 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott fedb85b7 2021-04-07T16:25:54 Vulkan: Warn for unsupported vertex attrib format Provide both a performance warning and a debug-util label (for AGI) when loading a vertex attribute requires a format conversion. Bug: b/184355822 Change-Id: Id8cbb34f70214327e1f5cc96559e4ea66dc17889 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801154 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 795d7543 2021-04-07T11:38:37 Remove unused translator option bits Usage of SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT is removed from ANGLE by [1], and from the validating command decoder by [2]. The flag is only ever disabled in Firefox. SH_REMOVE_POW_WITH_CONSTANT_EXPONENT is removed from the validating command decoder by [3]. Not used in Firefox. [1]: https://chromium-review.googlesource.com/c/angle/angle/+/1558678 [2]: https://chromium-review.googlesource.com/c/chromium/src/+/2810880 [3]: https://chromium-review.googlesource.com/c/chromium/src/+/2810879 Bug: angleproject:4889 Change-Id: If7d9c31c48510b1486a2285a88475b3c01a77527 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810806 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 82cc2d21 2021-04-09T18:08:27 Really fix iOS build Complete the fix started in http://crrev.com/c/2812698 Bug: angleproject:5811 Change-Id: I9fa50b31dda116e01203d65d47dc6420391e999d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818243 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott af58be7e 2021-04-08T17:07:53 Add TextureType::Buffer to RecordBindTextureTypeError() Bug: b/184767884 Change-Id: I67098de503748c86f2b957db76539e73c87bd179 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818818 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 147adcfa 2021-04-09T15:31:01 Android: Call getExternalStorageDirectory natively. This changes the call to base.test.util.UrlUtils to a native OS method. We may need to update this when Chromium starts running tests on "R". At that point we'll need a non-base mechanism to pass the right folder to ANGLE. This could be via env vars, debug properties, command-line arguments, or #defines. The prior implementation is left as commented-out code as a reminder to fix later. Also updates WARN() to std::cerr because WARN() was not showing up when testing. Bug: chromium:1097957 Change-Id: I4a84ea007341dbe7fe2184eac3aae0ddca44cc9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818240 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 5902753b 2021-04-09T15:40:53 Skip TracePerfTest.Run/native_real_gangster_crime on Linux AMD Bug: angleproject:5822 Change-Id: Id4dc458dc71fcd20f8982052fa789fb04e420c8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818241 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi ba7531da 2021-04-07T12:51:17 Add tests that use, then update, then use buffers This triggers vk::DynamicBuffer allocations in BufferVk. Bug: angleproject:5719 Change-Id: Ida855b23618497f76102e55f89ab1678f9c08753 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809856 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao e249239c 2021-04-08T09:46:48 Vulkan: Add featue flag to force highp to mediump in fragment shader. Adding feature flag that forces highp in fragment shader to mediump. It is disabled by default. You can enable it for experiment. Bug: b/184850002 Change-Id: I73980be4ad160eb1b17a3a3ecfc09f2e4aeb468c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815240 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Tim Van Patten 085044d1 2021-04-08T18:49:05 Fix angle_expose_non_conformant_extensions_and_versions The GN arg angle_expose_non_conformant_extensions_and_versions was not being referenced correctly in the Vulkan backend, so it was not being properly enabled in RendererVk.cpp. This CL updates the BUILD.gn files to fix this issue. Bug: b/184767884 Change-Id: I7244aad9112c38bf76544f8c767563a7f0cf1b2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2816165 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya d3c8d543 2021-04-08T14:03:51 Consider AOSP ANGLE path as well during SHA generation Account for an in-tree AOSP build of ANGLE while generating ANGLE commit SHA Bug: angleproject:5838 Change-Id: I81d6d821810544c35daf6af9b167f18a4b095e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815241 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi a7b60f13 2021-04-08T23:13:21 Translator: Validate multi-declarations are separated Many transformations only look at the first variable in a TIntermDeclaration. This change validates that once the SeparateDeclarations transformation has been run, multi-declarations are not reintroduced. Bug: angleproject:2733 Change-Id: If5f96689cbdd28817c479dd7c495b91535f87199 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815565 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2feb3db5 2021-04-07T11:36:06 Remove unused translator option bit SH_DONT_PRUNE_UNUSED_FUNCTIONS was only used by tests, and never used by ANGLE or chromium. Bug: angleproject:4889 Change-Id: I4926f86125e69b07e9d4d95134b7b70522e0d64f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2607491 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 41dbfe9c 2021-04-09T08:18:31 Roll Chromium from 6cad7c765c8b to 920c6c5ffe65 (341 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6cad7c765c8b..920c6c5ffe65 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/8df5f2532b..0006b44d1f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b134bc315e..75df5ad7e8 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..69936de9be * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a387faa2a6..6e92ef6460 * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/93c8ae3a54..e509f34db2 No update to Clang. Bug: angleproject:5417 Tbr: geofflang@google.com Change-Id: Icaf720255a92c10111226d330fc2a055e1d4950d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815103 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 4340fcfa 2021-04-02T13:59:17 Vulkan: Add command option to run app traces with minimum GPU work This CL interposes the draw call API entries. If enabled by command line option "--minimize-gpu-work", it will override all draw calls to render a single GL_POINT instead. It forces view port and scissor size to 1x1. It forces all data copy to 1 texel or 1 byte. It ignores glGenerateMipmap call. The goal is to make the frame time reflect the driver CPU performance as much as possible so that we can use it to compare ANGLE vs native GLES on the driver overhead, as well as identifying CPU hot spot. Bug: b/184766477 Change-Id: Ie8b5b585e0ed55320fed7863da37cce419acc65f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802858 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop c2075d81 2021-04-08T13:10:29 Tests: Add Call Break: Offline Card Game trace Test: angle_perftests --gtest_filter="*call_break_offline_card_game*" Tbr: jmadill@google.com,timvp@google.com Bug: b/184866238 Bug: angleproject:5837 Change-Id: I39035e62559d6a28fd1ae62ee6ffe6323d94931f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815780 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Doug Horn fc189386 2021-04-08T21:51:46 Revert "Fix multithreaded crash on draw commands on D3D11 backend." This reverts commit 8b9889bf62272fea2495331b622bde1f7c781bd0. Reason for revert: Breaks CI Original change's description: > Fix multithreaded crash on draw commands on D3D11 backend. > > A crash can occur if thread A is executing eglDestroyContext while > thread B issues a draw call, if the threads are interleaved in such a > manner that a makeCurrent occurs without triggering a change to the > global context and a dirtyAllState call. We handle that case by > explicitly making current the proper contexts in the eglDestroyContext > call. > > A test has been added that triggers a crash without this fix when > running on the D3D11 backend. In addition, all of MultithreadingTest > is enabled for the D3D11 backend. > > Test: Ran MultithreadingTest. Test exhibits a crash before this > change, and does not after this change. Also ran: > dEQP-EGL.functional.sharing.gles2.multithread.* > dEQP-EGL.functional.multithread.* > > Bug: b/183756357 > Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Doug Horn <doughorn@google.com> Bug: b/183756357 Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242 Commit-Queue: Doug Horn <doughorn@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Tim Van Patten 0261b1d3 2021-03-31T10:48:08 PPO: Fix updating sampler uniforms between draws Updating sampler uniforms when using PPOs is currently broken, since the Context/State use the currently bound ProgramExecutable which belongs to the PPO, but the updates only happen to the Program's executable that the uniform belongs to. This change updates Program::updateSamplerUniform() to update any PPO ProgramExecutables with the updated texture information when a Program's sampler uniforms are updated, so the Context/State use the correct data. Bug: b/182409935 Test: ProgramPipelineTest31.SampleTextureAThenTextureB Test: SamplersTest31.SampleTextureAThenTextureB Change-Id: I3c4e156c6e0c781e706f321f0bd12baf484ff42a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797951 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 408c1512 2021-04-08T10:51:28 Tests: Add Bubble Shooter trace Test: angle_perftests --gtest_filter="*bubble_shooter*" Tbr: timvp@google.com,jmadill@google.com Bug: b/184844832 Bug: angleproject:5836 Change-Id: I4a729028020d7e668cd7e368a4473f4e37c55b0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815778 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 0eaaff28 2021-04-07T22:53:28 Fix iOS and Android component builds After the changes in http://crrev.com/c/2797833 Bug: angleproject:5811, angleproject:5820 Change-Id: I629978684ba4d002c296d4dcfe434b09782db4b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812698 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll cec90118 2021-04-08T16:01:01 Roll Chromium from c8a676460af3 to 6cad7c765c8b (151 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c8a676460af3..6cad7c765c8b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com,jmadill@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/77edba11e2..8df5f2532b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a9d80f02d0..b134bc315e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..145b45a227 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 No update to Clang. Bug: angleproject:5417 Tbr: geofflang@google.com,jmadill@google.com Change-Id: I2138d63a5c0fcd4869c87446ca0a59f9ed350d46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815239 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Doug Horn 8b9889bf 2021-03-31T12:52:00 Fix multithreaded crash on draw commands on D3D11 backend. A crash can occur if thread A is executing eglDestroyContext while thread B issues a draw call, if the threads are interleaved in such a manner that a makeCurrent occurs without triggering a change to the global context and a dirtyAllState call. We handle that case by explicitly making current the proper contexts in the eglDestroyContext call. A test has been added that triggers a crash without this fix when running on the D3D11 backend. In addition, all of MultithreadingTest is enabled for the D3D11 backend. Test: Ran MultithreadingTest. Test exhibits a crash before this change, and does not after this change. Also ran: dEQP-EGL.functional.sharing.gles2.multithread.* dEQP-EGL.functional.multithread.* Bug: b/183756357 Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Doug Horn <doughorn@google.com>
Tim Van Patten d3e1a7ff 2021-03-29T16:21:23 Reset mCurrentGraphicsPipeline in ProgramExecutableVk::reset ContextVk::mCurrentGraphicsPipeline should be reset during ProgramExecutableVk::reset() since programInfo.release() frees the PipelineHelper that it's pointing to. This has resulted in several use-after-free errors, which this CL will prevent in the future. Bug: angleproject:5624 Bug: b/182409935 Change-Id: I847bb7eb5b593c89b84f0fbbca23ea5367f5f55c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792861 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 54dfb62c 2021-04-07T12:33:31 Make "force context check" an optional GN flag. Previously it was enabled by default in every build that includes D3D11. This would impact CPU overhead in Chrome and other targets that don't need this feature. Bug: angleproject:5828 Change-Id: Ic9d700847c72978540b66fdaf7a62f959779f2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809855 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Doug Horn <doughorn@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki b604f843 2021-04-07T17:30:17 Tests: Add Professional Baseball Spirits trace. Skip the test on Vulkan+AMD+Linux, as it produces OpenGL errors on Mesa/RADV. Also skip the test on Vulkan+Intel+Linux, as it requires a Mesa version of 20.3.5 or higher to work. Test: angle_perftests --gtest_filter="*professional_baseball_spirits*" Bug: b/181870336 Bug: angleproject:5827 Change-Id: Ic9c5e3767cb6cf7e925cfbcd2ae5dda0d736b87c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810788 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll 83c90f24 2021-04-08T10:01:46 Roll vulkan-deps from 575b36060ded to c18d8cd5016c (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/575b36060ded..c18d8cd5016c Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8bb72ad221..f563b367c7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I6175915edc5f9da742b0076e9700190959bf05c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2814338 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 619cdbd0 2021-04-08T07:01:09 Roll Chromium from 743bf032b75b to c8a676460af3 (490 revisions) https://chromium.googlesource.com/chromium/src.git/+log/743bf032b75b..c8a676460af3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3e210bf13a..77edba11e2 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a136a3b8e9..d0f33885a2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/05632231e5..a9d80f02d0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3cd3442b05..5447d00cc9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..44319b56ef * tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0 * tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0 * tools/luci-go: git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15..git_revision:63310fdc83db00f27d0902961627ff98043076e0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/8311fb760c..93c8ae3a54 * tools/skia_goldctl/linux: -rExHiWOcks_RlkFBMnAOYEVLEGvm3sncdHy7RIQUvUC..hppkAohY9Cc45kW6zZWYXtdLKzo9CQ9XvcqLNIBaqQQC * tools/skia_goldctl/mac: vJzRxG9eh8Zl9oN4Li63sfRu7kHPvf54fXvv-nMXJZcC..JnqYnN3TwP__L0jvUBgcLpPQsBgz9ZcBk8-bsbiez6QC * tools/skia_goldctl/win: Uc9sbdhlwsqNbi5Q4fAmKXKL665j5gsdf3Ifpe4qnr0C..0el4SjlMxSJWhUyzmXXYXqGT59IZHXzEaDTufNH8bOwC No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: Idc95dd300300cb1d8eb49f95acaa51f017bb9b3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812961 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop fc28c1db 2021-04-07T15:05:14 Tests: Add Disney Tsum Tsum trace Test: angle_perftests --gtest_filter="*disney_tsum_tsum*" Tbr: timvp@google.com,jmadill@google.com Bug: b/184770989 Bug: angleproject:5835 Change-Id: I2ee74f95391fa30b0d5bfa88be5fc7dd59fd6f70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2811644 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Brandon Schade 5af6306a 2021-03-31T23:23:52 Vulkan: Update layer provoking vertex for geometry shaders Set the GS layer provoking vertex value to GL_LAST_VERTEX_CONVENTION if the provoking vertex extension is enabled. Otherwise, use GL_FIRST_VERTEX_CONVENTION as vulkan follows this convention for provoking vertex. Tests: dEQP-GLES31.functional.geometry_shading.layered.layer_provoking_vertex_* Bug: angleproject:5452 Change-Id: Ie385f3b713486c54114dbfcefd799d180701bb60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2799033 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop d49f7351 2021-04-07T08:46:16 Capture/Replay: Ignore deletes of buffer 0 Per the spec for DeleteBuffers: > Unused names in buffers are silently ignored, as is the value zero. Haven't seen an app delete unknown buffers yet, but just hit one that deletes 0 a lot. Test: MEC for Disney Tsum Tsum Bug: b/184770989 Bug: angleproject:5835 Change-Id: I2070b753d89fdcf390203072cd7ec2c9f915089c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2811643 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill efc53d0f 2021-04-03T21:30:15 Vulkan: Refactor to descriptor offset array. This is in preparation for using dynamic offsets for other sets than the default descriptors. Bug: angleproject:5736 Change-Id: I546e688ad57a35b380f8d7f303ffc0c62773ac18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804813 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Lubosz Sarnecki 4640dbff 2021-04-07T17:46:28 restricted_traces: Remove sha1 remains. This deletes redundant sha1 files that are not required anymore since the migration to CIPD. Bug: angleproject:5811 Change-Id: Ib1131f9cdda0b00b8f605f8b6dff6650d262ce25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810789 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Chris Forbes 84a62266 2021-04-01T15:18:44 Expand CL plumbing support to cover all versions The OpenCL CTS assumes that libOpenCL has symbols for all versions as it usually expects to link against the Khronos loader. Since we're not using that, we have to expose all the symbols it wants, whether we intend to implement all versions or not. All the 2.x stuff will likely remain stubs forever as it is made optional again in 3.0. In the generator scripts, work around a small issue where one function takes an array-typed parameter, which confused just_the_name and produced invalid code. Bug: angleproject:5819 Change-Id: I6c3591dc9229c5276f14ff66ee3ee6362e8bf622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807531 Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: John Plate <jplate@google.com>
Jamie Madill 68f06888 2021-03-23T16:38:50 Perf Tests: Trigger test failure on API errors. A prior refactor had broken the method we used to cause test steps to fail on API errors. This CL restores the path. We detected this when analyzing a particular GLES trace that contained invalid GLES calls. Bug: angleproject:5788 Change-Id: I26940e49cf73ce6050ea6ee274d5c5748835a167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2782008 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 8135dccf 2021-04-07T10:23:00 Scripts: Update bootstrap.py to python3 Bug: angleproject:5829 Change-Id: I564fadee92b6ff301c055cf95a163ffb3c838685 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810338 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b4cb63a5 2021-04-06T19:22:32 Handle trace prerequisites. real_gangster_crime: external images avakin_life: external images hill_climb_racing: skip on Adreno Bug: angleproject:5822 Bug: angleproject:5823 Change-Id: I7c6a27eab72ba69464748928c93dda57fa8094f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809653 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop bd82de95 2021-04-07T10:11:02 Capture/Replay: Fix upload script Small fix to info level logging. Bug: angleproject:5811 Change-Id: I7c6c762e17b652eedcbde0719996532e730e2a39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809889 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Peter Kotwicz bf0c6ae1 2021-03-09T13:21:58 Improve Angle Android gtest support This CL makes angle_test() use an angle-specific gtest launcher - AngleUnitTestActivity.java. This enables building standalone Android angle without //base Chromium-Bug: 1149922 Bug: None Change-Id: Id84f3e2bd84c5017ed1988ca07534f424ebfa596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745535 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2ef1e0fc 2021-04-06T23:07:41 perf_test_runner: Enable all trace tests. Will allow running "null" Mock ICD tests. Also fixes a crash running the Mock ICD with the overlay. Bug: angleproject:5736 Change-Id: I42e3943a0de00dbab3ee125f1946afd22b38fec6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809096 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 31d48df1 2021-04-07T11:15:14 restricted trace tests: Fix script. This script was not parsing the trace list properly and was running no tests. Bug: angleproject:5811 Change-Id: I925bc16ac476823ca2f850d4a9e208b9bb5deb62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810805 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 6a606231 2021-04-06T19:55:47 Add Mesa Vendor ID ANGLE doesn't recognize the Mesa vendor ID, leading to a crash in GetVendorString(). This is exposed when trying to capture traces of ANGLE captures with RenderDoc. Bug: angleproject:5824 Change-Id: I6c45a01dba78fa6057df26b38ca3db89cacf865e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809878 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya 4bd370dd 2021-04-02T16:51:47 Refactor roll_aosp.sh roll_aosp.sh can now generate an Android.bp file without having to perform a roll. This facilitates on demand generation of Android.bp. Provide an option to enable API traces with "--enableApiTrace" flag. Usage - # Generates Android.bp and perform a roll ./scripts/roll_aosp.sh # Generates Android.bp ./scripts/roll_aosp.sh --genAndroidBp # Generates Android.bp with API tracing enabled ./scripts/roll_aosp.sh --genAndroidBp --enableApiTrace Bug: angleproject:5774 Change-Id: I3a2bd505f5d75d6d5fc331d61fa9517d6042db70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774758 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Lubosz Sarnecki fddbc9c7 2021-03-04T20:45:01 capture: Implement capturing GLES1 vertex pointers. Implement capturing glVertexPointer, glTexCoordPointer, glNormalPointer, glColorPointer and glPointSizePointerOES using a new CaptureVertexPointerGLES1 helper function. This is done by using fixed indices for gClientArrays that are retrieved from the GLES1Renderer. Bug: angleproject:5751 Change-Id: I6c774ff21942ea3422c4c77a615f88299901c0ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2773288 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki df72ea36 2021-03-31T14:19:56 EGLWindow: Append noError context attribs only if enabled. Push EGL_CONTEXT_OPENGL_NO_ERROR_KHR only to the context attribute list if it's enabled in the mConfigParams. Prior to this patch the attribute was pushed with a EGL_FALSE value if noError was disabled but available. This resolves issues on EGL implementations which expose the extension but fail if it's in the attrib list if certain conditions are met. This is the case for mesa 21.0 when EGL_CONTEXT_MAJOR_VERSION_KHR is set to 1 / GLES1. Mesa upstream issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4586 Bug: angleproject:5809 Change-Id: I91dfafe2a89f0488556942813087e54499895088 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797331 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
John Plate 2489a0c1 2021-04-06T14:55:11 Fixed OpenCL headers for Windows Bug: angleproject:5761 Change-Id: I29d1fd3bf862728a3e78418a4f98219828394452 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807717 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 15b34197 2021-04-07T10:01:46 Roll vulkan-deps from fac6f6b00985 to 575b36060ded (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/fac6f6b00985..575b36060ded Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/5878bcb17e..1481399549 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/7ea01c139f..64cc17099c * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/36e147f591..8bb72ad221 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I43ef7e9e9c61fb68ce0c97bd105bbb32dbea91db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809887 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0c6efe64 2021-04-07T07:18:01 Roll Chromium from 9bacc030553c to 743bf032b75b (182 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9bacc030553c..743bf032b75b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/83694c4d99..3e210bf13a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/41c8c7acfb..05632231e5 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..41a5e5e465 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/52aea199fe..8311fb760c No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I3c4b79720e47d29353ee72211051b462d49a731f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810336 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 6d905c76 2021-04-01T13:58:42 Vulkan: Remove initImmutableImage and use initImage instead This is follow up of crrev.com/c/2368038. There was concern that initImmutableImage and initImage are a bit duplicated. This CL gets rid of initImmutableImage and uses initImage instead. Bug: b/181800403 Change-Id: I2c73c7ce979792cc762214f1e5ef9978eeab6212 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800422 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 92d3912d 2021-04-01T10:49:14 Vulkan: Remove maxLevel and immutable from ImageHelper::initExternal Now that we have removed mBaseLevel and mMaxLevel from ImageHelper class in previous two CLs. The initExternal function can be modified to not pass in base/max level information. This CL also removes immutable from argument and let caller directly pass in firstLevel to it. Bug: b/181800403 Change-Id: I595c1faffabc7582af35a9578b2ecdf00c39207f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800414 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2143ffc2 2021-04-06T22:13:58 Roll Chromium from 99ef73b66e73 to 9bacc030553c (0 revision) https://chromium.googlesource.com/chromium/src.git/+log/99ef73b66e73..9bacc030553c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/728a23351d..83694c4d99 * buildtools/linux64: git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205..git_revision:dba01723a441c358d843a575cb7720d54ddcdf92 * buildtools/mac: git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205..git_revision:dba01723a441c358d843a575cb7720d54ddcdf92 * buildtools/win: git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205..git_revision:dba01723a441c358d843a575cb7720d54ddcdf92 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9a03e1204d..41c8c7acfb * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..41a5e5e465 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ada51aa113..a387faa2a6 No update to Clang. Bug: None Tbr: geofflang@google.com,ynovikov@google.com Change-Id: Ic4d83afa511c9cf906c298c23e0fc194e2672500 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808704 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill f34b40da 2021-04-06T17:56:48 Vulkan: Suppress draw-time push constant VVL warnings. VUID-vkCmdDraw-None-02698 VUID-vkCmdDrawIndexed-None-02698 VUID-vkCmdDrawIndirect-None-02698 VUID-vkCmdDrawIndirectCount-None-02698 VUID-vkCmdDrawIndexedIndirect-None-02698 VUID-vkCmdDrawIndexedIndirectCount-None-02698 VUID-vkCmdDispatch-None-02698 Bug: angleproject:5821 Change-Id: Ic8ca6178ce50b409ac8d256848654f43f91fae8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808854 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao afd32d8e 2021-03-30T15:50:57 Vulkan: Remove mMaxLevel from ImageHelper class This CL removes mMaxLevel from ImageHelper class. Instead, it now uses front end's max level information when possible. Bug: b/181800403 Change-Id: Ie0f6bd11e3ca0d4ddfc98f21261396c4d71b7140 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796153 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Tim Van Patten 4756d5e6 2021-03-22T17:28:30 Mark most draw modes valid when no program is bound gpu_angle_passthrough_fuzzer discovered a crash when glDrawArrays() is called without a program bound. This was caused by assuming it's an error to draw certain primitive types without a program bound, which is incorrect. This fix is to mark all draw modes except Patches valid when there is no program bound. Patches is handled separately by TS validation. Bug: chromium:1185267 Bug: angleproject:5483 Test: gpu_angle_passthrough_fuzzer Test: SimpleOperationTest31.DrawWithoutProgramBound Test: KHR-GLES31.core.draw_indirect.basic-mode-*adjacency Change-Id: I294078b8695e0b8f36d3b7ad3c1aa71d2a275038 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780971 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Sunny Sachanandani 5ee3826e 2021-04-01T16:23:27 Support GL_EXT_texture_type_2_10_10_10_REV on D3D backend Bug: angleproject:5817 Change-Id: Ie572a252946f87d125f9074f2144928bb43d78b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802861 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Charlie Lao 08b7c55c 2021-03-30T13:51:04 Vulkan: Remove mBaseLevel from ImageHelper class This removes mBaseLevel from ImageHelper class. With the mFirstAllocatedLevel tracking exactly which GL level has been allocated, this cached mBaseLevel is no longer needed. Bug: b/181800403 Change-Id: I99d66c93b0c8f1bd20a5811b51f512a27927201e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795275 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 41a34d6b 2021-04-03T16:43:58 Vulkan: Use constants for descriptor types. This will make it easier to substitute in the future. Bug: angleproject:5736 Change-Id: I0686c4c396e9f12cfb71253ccd9aa491a7942826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804812 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev ad55bdbe 2021-04-02T22:59:07 GL: Align emulated ETC1 handling with other backends Use emulatedEtc1 limitation to hide it from WebGL. Bug: chromium:1048244 Change-Id: Id2fd6b5d934f3caeb455e8f0fc198445e8c00084 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803136 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao b5a71140 2020-08-20T17:24:21 Vulkan: Make storage actually immutable for immutable textures The immutable textures are intended to be "immutable". Right now we are still re-allocating VkImage object based on base_level and max_level. This causes a problem for rendering to a level that is beyond [base_level, max_level], which is totally within OpenGL spec. This CL makes an immutable texture always allocate from 0 to max levels that are specified by a glTexStorage call. Changing base_level will not trigger re-allocation of VkImage object. Bug: b/181800403 Change-Id: I4b4ddea17b7f6f7bfd8f36bfe8bb3a35b5c180b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368038 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Brandon Schade 969b8f31 2021-03-25T12:40:47 Vulkan: Fix geometry shader validation with vertex shaders Added validation to disallow usage of geometry shaders without a vertex shader Bug: angleproject:5579 Test: KHR-GLES32.core.geometry_shader.api.fs_gs_draw_call Test: KHR-GLES32.core.geometry_shader.api.pipeline_program_without_active_vs Change-Id: Ieeec544d514ac772416ab0427c1c1c5058276f98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796151 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuke Liao 3036ff2d 2021-04-02T11:35:28 Lacros: Fix xvfb condition in angle For Lacros, xvfb is only used in Linux-Lacros, but not on-device config, so this CL fixes the problem. Bug: chromium:1195415 Test: built Chromium and Angle from source Change-Id: Ia9adf706716c424b14a395189755932e445b7050 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802854 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 4cdbdf90 2021-03-25T18:54:50 Vulkan: Assign XFB location first then assign varying location Varying location is determined based on XFB location. If the transform feedback stage is Vertex, there is no problem. But if the transform feedback stage is GS or TES, previous implementation can cause shader interface mismatch. Bug: angleproject:5557 Test: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_in Change-Id: I1ecc7913a178c9e674307c528d1bdf13aabcb665 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2784713 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Corentin Wallez def0aa27 2021-04-06T13:57:25 Factor common Vulkan build_overrides in vulkan_common.gni This matches what's done in Chromium and was found while trying to add a build override for VulkanMemoryAllocator. Bug: tint:700 Bug: chromium:1195554 Change-Id: I50e71fb985169a89c03623b0959f57d5e43bb91a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807714 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 2753f20e 2021-04-06T14:04:02 Add tint: to the list of allowed Bug: tags. Bug: tint:700 Change-Id: I296aa62920688074b2c71b6aaec9505af9c10221 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807715 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll bbab17f2 2021-04-06T10:01:46 Roll vulkan-deps from 61083c4a2ae0 to fac6f6b00985 (4 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/61083c4a2ae0..fac6f6b00985 Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7931db593a..36e147f591 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Id0dae1248bb8f0b2d8fb26924ace5f07beeb5521 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804066 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a48a154f 2021-04-06T07:01:16 Roll Chromium from 9c9ca054e2bc to 99ef73b66e73 (584 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9c9ca054e2bc..99ef73b66e73 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/78cec98cec..728a23351d * buildtools/linux64: git_revision:5667cc61018864b17542e0baff8b790f245583b0..git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205 * buildtools/mac: git_revision:5667cc61018864b17542e0baff8b790f245583b0..git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205 * buildtools/win: git_revision:5667cc61018864b17542e0baff8b790f245583b0..git_revision:a95c8a3ccc7de65eb740aa68a0d021cdc8550205 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d2f8120325..9a03e1204d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..41a5e5e465 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/f7cbd24db3..ada51aa113 * tools/luci-go: git_revision:34ae8f13bb2156451655ec53b360942a502469df..git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15 * tools/luci-go: git_revision:34ae8f13bb2156451655ec53b360942a502469df..git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15 * tools/luci-go: git_revision:34ae8f13bb2156451655ec53b360942a502469df..git_revision:d6d24b11ecded4d89f3dfd1b2e5a0072a3d4ab15 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/5a7320bb83..52aea199fe * tools/skia_goldctl/linux: 0ov3TUTdHjrpXdmomZUYhtozjUPAOWj5pFnLb_wSN3cC..-rExHiWOcks_RlkFBMnAOYEVLEGvm3sncdHy7RIQUvUC * tools/skia_goldctl/mac: 4WMws6v5khG2LeD4ZoItrfEnqBtVRK9Y-f6bMccgS8wC..vJzRxG9eh8Zl9oN4Li63sfRu7kHPvf54fXvv-nMXJZcC * tools/skia_goldctl/win: zp5Z6O5rpqU_hMlh5I1ScNM4EDY8nMpwX0uaMUAVPxcC..Uc9sbdhlwsqNbi5Q4fAmKXKL665j5gsdf3Ifpe4qnr0C No update to Clang. Bug: angleproject:3686 Tbr: geofflang@google.com Change-Id: Id32de4b284a7c105c8052b855a790b27e31aec60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804065 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 2f22157a 2021-04-05T18:19:51 Fix Restricted Traces README.md jq command The restricted traces README.md has some errors in the shell commands related to using `jq`. Bug: angleproject:5811 Change-Id: Id105d83ee041e236c3b14cd83500f08a1deb56b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2806551 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 78dde332 2021-03-29T17:31:52 Move restricted traces to CIPD. All traces are now stored as DEPS entries in CIPD. The auto-generation script generates the DEPS entries. Note that we don't include DEPS in the list of generated outputs to simplify other rollers. Also we update auto-generation to include full sources list to allow 'gn analyze' to work successfully. Usees a trace fixture for common code. This will enable a more compact trace without as much repeated code. We must land a set of re-trace traces to avoid breakage. Also includes a python script for uploading new traces to CIPD. The script first checks if traces are already present in the cloud, and if so it skips the upload. It will take a while to complete as the number of traces grows larger as it takes a few seconds per trace. The traces in this patch are also re-traced to use the common fixture code instead of including duplicated code in each trace. They now form a simple common interface and the autogenerated cpp is now simply a list of properties. I've also updated the capture/replay tests to use the simpler common entry point integration. There is less auto-generated glue code now. We now use a new serialized string query extension instead of calling directly into ANGLE's internals. Also includes a docs update. The capture/replay sample is broken and we'll need to update it in a follow-up CL. Also includes a few necessary fixes to the retracing script. Bug: angleproject:5811 Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill f7019e45 2021-04-05T11:42:30 infra: Add builder group to CI properties. The builder group is necessary for recipe scripts. A first preliminary step towards standalone testers. Note on naming: Chromium bots use "chromium.X". WebRTC and V8 use "client.webrtc" etc. Going with just "angle" for simplicity. Bug: angleproject:5114 Change-Id: Ie0e47aa28eaeab4ebe8d13900c1b68cad8a7a1a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2805892 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 323c5f24 2021-03-29T17:47:53 Validate PPO sampler uniforms "Command & Conquer: Rivals" uses PPOs and was hitting the following assert: angle::Result ContextVk::updateActiveTextures(const gl::Context *context) { ... for (size_t textureUnit : activeTextures) { gl::Texture *texture = textures[textureUnit]; gl::TextureType textureType = textureTypes[textureUnit]; ASSERT(textureType != gl::TextureType::InvalidEnum); This is the same assert that is generated by the test ProgramPipelineTest31.DifferentTextureTypes which is currently being skipped since it's known to fail. This CL refactors sampler validation into the ProgramExecutable to allow PPOs to take advantage of the shared code and behave correctly, since the necessary data is already copied into the PPO's ProgramExecutable via ProgramExecutable::updateActiveSamplers(). This also takes advantage of the subject/observer pattern that's already established between programs and PPOs to ensure only the PPOs that the program is a part of are updated when a program's sampler uniforms are updated. Bug: angleproject:3570 Bug: b/182409935 Test: ProgramPipelineTest31.DifferentTextureTypes Change-Id: I3d34efd66dc85e7ff23a8422cb14d5f90a5f7085 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792862 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>