Log

Author Commit Date CI Message
angle-autoroll ed489d17 2020-10-23T10:01:13 Roll SPIRV-Tools from 6fac705e7616 to 69f07da41b3b (24 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/6fac705e7616..69f07da41b3b Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from 3fdabd0da293 to 05836bdba63e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@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: jonahr@google.com Change-Id: I702e8cfb0b2fd10f06e5c58ccf526e64c5d24884 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495102 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d54a551e 2020-10-23T07:01:47 Roll Chromium from cb0c1533ad91 to e203e4bcf072 (25 revisions) https://chromium.googlesource.com/chromium/src.git/+log/cb0c1533ad91..e203e4bcf072 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 jonahr@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 dependency * testing: https://chromium.googlesource.com/chromium/src/testing/+log/064aaa8346..d41923d558 No update to Clang. Bug: angleproject:5124 Tbr: jonahr@google.com Change-Id: Ie523a00c7b4f15c7975e7bec00162df50d64bd86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493925 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll adc753db 2020-10-23T04:10:12 Roll Chromium from 8832c373d22b to cb0c1533ad91 (272 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8832c373d22b..cb0c1533ad91 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 jonahr@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/d76cb5ed61..a9415691b8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8c8e6c1928..064aaa8346 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3da11e35c1..9fb31b93b1 No update to Clang. Bug: angleproject:5124 Tbr: jonahr@google.com,jmadill@google.com Change-Id: Ibe3526562c15cb5ed6fe286148cebae43033634c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493924 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Courtney Goeltzenleuchter 097f307e 2020-10-22T10:26:19 Vulkan: Fix segv referencing contextVk Tests dEQP-EGL.functional.fence_sync.* can cause SyncHelper::clientWait to be called with a null contextVk which we were trying to deference to get to the renderer. We have a pointer to the renderer already so just use that. Bug: b/154030730 Change-Id: If64ec2c960f39b893d2e47a11638d16f830aecfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493181 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott e89c8f7c 2020-10-22T13:16:29 Add run-time check in EVENT() to disable debug markers To avoid a large performance impact from adding Vulkan debug-util markers for every GLES entrypoint, the EVENT() macro needs a run-time check that avoids constructing a ScopedPerfEventHelper object. Test: angle_perftests -v --local-output --gtest_filter="TracePerfTest.Run/*nba*" Bug: b/170249632 Change-Id: I422111cdf6f6f713800e7ac587e66582bd00359f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491009 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexis Hétu fbec291e 2020-10-21T19:32:38 Allow rendering to half float in ES2 contexts when possible According to the EXT_color_buffer_half_float spec: "Dependencies on OES_texture_half_float If OES_texture_half_float is not supported, then all references to RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and half should be ignored. If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable." This fixes 4 viz_unittests when running with SwANGLE: All/GLI420ConverterPixelTest.ScaleAndConvert/0 All/GLI420ConverterPixelTest.ScaleAndConvert/1 GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture GLScalerPixelTest.ScalesWithColorManagement The original attempt at landing this change (https://chromium-review.googlesource.com/c/angle/angle/+/2489726) was reverted due to dEQP failures on the Metal backend. After some investigation, it was decided to simply disable the 2 offending tests for now. Bug: angleproject:5174 Change-Id: Id1e382b72d91109e4718c729cc6c5f0a0f413d7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491930 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
angle-autoroll 88c6218c 2020-10-22T16:06:26 Roll Chromium from 72a62c652dc1 to 8832c373d22b (1033 revisions) https://chromium.googlesource.com/chromium/src.git/+log/72a62c652dc1..8832c373d22b 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 jonahr@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/2c9bdffb45..d76cb5ed61 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/31fa90f083..8c8e6c1928 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/9c0fc6713c..fde3620a8a * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/4135c061fb..151bbd685f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/9b04f810d4..3da11e35c1 * tools/skia_goldctl/linux: Chou-EJOehSH7VP2sMHb5CcVaudNGgiqt2COC7NHh74C..STGouE9nmPhPvUv1KVauwIovsjIba4yq1HobYOsm2moC * tools/skia_goldctl/mac: nws_KpUBlR5-sGre16ugsXYgccD6ySMcUkozwiyzoa4C..zglqXfuaXqShJjRK_8fR8Fo2N-hczeJASDUh4Vy2s4gC * tools/skia_goldctl/win: 7thhl6meG4eUWxxLq14JUg9yW0VQ2TTwYwWaZxkp3E8C..uchtgU5o7fKP3pU3wO7xE_MCNW7vkUEfaG4V2ehVOv4C No update to Clang. Bug: angleproject:5124,angleproject:5196 Tbr: jonahr@google.com,jmadill@google.com Change-Id: Ie96d86434c610f79cb4292e987a3849019ceab54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491108 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 9c8da026 2020-10-22T10:46:00 Revert "Tests: Add FIFA Mobile trace" This reverts commit 2e1091e0ef699a39662f210abcb5af69750dcb38. Reason for revert: Potentially flaky results, http://anglebug.com/5215 Original change's description: > Tests: Add FIFA Mobile trace > > Test: angle_perftests --gtest_filter="*fifa_mobile*" > Bug: b/171421051 > Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279 > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Cody Northrop <cnorthrop@google.com> TBR=jmadill@chromium.org,syoussefi@chromium.org Bug: angleproject:5215 Change-Id: I6a332b126c6c54f189fd451725957d288ab6b76b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491113 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 0f2542e1 2020-10-21T00:38:40 Vulkan: Validate SPIR-V transformer at link time Using an ASSERT, the SPIR-V transformer is run at link time to catch bugs in tests that link but don't draw. Bug: angleproject:4249 Change-Id: Icbeeb6e968f9901ba003918b1dd1d2eef0792469 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488227 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Xiaoxuan Liu 883276cc 2020-10-21T16:20:35 Fix end2end tests VertexAttribute* failure VertexAttributeTests used 'mediump' precision to sample ushort with 65533/65534/65535 which exceed the range defined in ESSL Spec. (Spec "4.5.2 Precision Qualifiers") Change precision of attribute 'test' and 'expected' to 'highp' for numbers that exceed the minimum range. Bug: angleproject:5211 Change-Id: I01e5c999ec43d17a7390835d2ac88ce2bc0b4c5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491621 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c550e3a2 2020-10-22T10:01:06 Roll Vulkan-Loader from 970c132746b1 to 91ce213a1d88 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/970c132746b1..91ce213a1d88 2020-10-20 xantares09@hotmail.com Fix vulkan link to on cfgmgr32 case-sensitive fs 2020-10-20 rverschelde@gmail.com CMake: Fix libdir in pkg-config file, dehardcode includedir 2020-10-19 cstout@google.com Add Fuchsia support If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC jonahr@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: jonahr@google.com Change-Id: I06493f2d3d9c5b4803c5f6f8468b6e92d99d8a79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491806 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5641e3c1 2020-10-22T10:01:56 Roll SwiftShader from 84f5eeb6dd9b to e02d8938821a (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/84f5eeb6dd9b..e02d8938821a 2020-10-21 bclayton@google.com LLVMJIT: Fix memory leak 2020-10-21 natsu@google.com Update SwiftShader VK AHB to support generic gralloc 2020-10-21 amaiorano@google.com Fix when built against latest LLVM (11) 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 jonahr@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: jonahr@google.com Change-Id: I9c0ae692a1a5a2cc3f27aa79e31c70033642bb8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491807 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 1c7f0284 2020-10-21T01:40:08 Vulkan: Fix invalid clamping of ES3 clear stencil values Added 3 new end2end tests Bug: angleproject:5202 Change-Id: I95f9ffd989105f5bd3283676d6fa46e904503369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488481 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi d7475437 2020-10-20T15:04:18 Vulkan: Support vertex attribute aliasing for matrix types This change builds on vertex attribute aliasing SPIR-V tranformation for non-matrix types to add support for matrix attribute types. This is done by turning every matrix attribute declaration into multiple vector attribute declarations, and reusing the same mechanism for resolving aliasing between non-matrix types. Take the following example: attribute mat4 a; // location 0 attribute vec3 b; // location 1 attribute mat3 c; // location 1 attribute vec4 d; // location 2 The shader is modified as such: attribute vec4 a_0; // location 0 attribute vec4 a_1; // location 1 attribute vec4 a_2; // location 2 attribute vec4 a_3; // location 3 attribute vec3 c_0; // location 4 attribute vec4 d; // location 5 attribute vec3 c_2; // location 6 mat4 a; mat3 c; and in the beginning of main(), the following code is inserted: a = mat4(a_0, a_1, a_2, a_3); c = mat3(c_0, d.xyz, c_2); The shader continues to use a and c as before. Bug: angleproject:4249 Change-Id: Idfcb8c6037ca0c1f21de8203d7e2a1b66fed6e7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488128 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 2e1091e0 2020-10-21T14:53:40 Tests: Add FIFA Mobile trace Test: angle_perftests --gtest_filter="*fifa_mobile*" Bug: b/171421051 Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop ad222d1c 2020-10-20T16:29:08 Tests: Add KartRider Rush+ trace Test: angle_perftests --gtet_filter="*kartrider_rush*" Bug: b/171337677 Change-Id: I9a248ecf51e296a2b894b0951538842a7efde046 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490277 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3fb490a7 2020-10-19T23:33:47 Vulkan: Faster check for vertex attribute aliasing In preparation for matrix attribute aliasing support, where CalculateAliasingAttributes would get a bit more complex. This change adds a fast-check function to determine if there is any aliasing at all. Bug: angleproject:4249 Change-Id: Ib2aa08b2da29a194baa905ba8f9aa2cdef0ae2c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488127 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 8feb5c82 2020-10-20T15:49:13 Tests: Add Marvel Contest of Champions trace Test: angle_perftests --gtest_filter="*marvel_contest_of_champions*" Bug: b/171334313 Change-Id: Ia1195a5647ad2805e3cabd23c15719eb1ebc3534 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2487764 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Alexis Hétu 032431a1 2020-10-21T19:32:38 Revert "Allow rendering to half float in ES2 contexts when possible" This reverts commit 1dc0d3945e7f11506b9e3239bba7189d66a25a50. Reason for revert: Causes a failure on the bots. See: http://anglebug.com/5206 Original change's description: > Allow rendering to half float in ES2 contexts when possible > > According to the EXT_color_buffer_half_float spec: > > "Dependencies on OES_texture_half_float > > If OES_texture_half_float is not supported, then all references to > RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and > half should be ignored. > > If OES_texture_half_float is supported, textures created with: > > <internalformat> = RGBA > <format> = RGBA > <type> = HALF_FLOAT_OES > > are renderable." > > This fixes 4 viz_unittests when running with SwANGLE: > All/GLI420ConverterPixelTest.ScaleAndConvert/0 > All/GLI420ConverterPixelTest.ScaleAndConvert/1 > GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture > GLScalerPixelTest.ScalesWithColorManagement > > Bug: angleproject:5174 > Change-Id: If8623b1edbc8f0bac83513ea202ef49ad388101c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489726 > Commit-Queue: Alexis Hétu <sugoi@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=sugoi@chromium.org,geofflang@chromium.org,sugoi@google.com Change-Id: Iab2df8ac563661fcf270425408b17e7bbe48a255 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490820 Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Geoff Lang 25bbf5d7 2020-04-03T11:58:13 GL: Use ANGLE_GL_TRY when setting pixel pack and unpack state. Bug: angleproject:3020 Change-Id: Ifd36973d66c850d0d0520d9721ab9e5294489b39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134424 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Alexis Hetu 1dc0d394 2020-10-21T10:09:10 Allow rendering to half float in ES2 contexts when possible According to the EXT_color_buffer_half_float spec: "Dependencies on OES_texture_half_float If OES_texture_half_float is not supported, then all references to RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and half should be ignored. If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable." This fixes 4 viz_unittests when running with SwANGLE: All/GLI420ConverterPixelTest.ScaleAndConvert/0 All/GLI420ConverterPixelTest.ScaleAndConvert/1 GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture GLScalerPixelTest.ScalesWithColorManagement Bug: angleproject:5174 Change-Id: If8623b1edbc8f0bac83513ea202ef49ad388101c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489726 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 089ef0fa 2020-10-14T11:31:56 Expose glGetTexLevelParameter{if}v before ES 3.1. Add a new extension, ANGLE_get_tex_level_parameter which allows users to query texture size and format information before ES 3.1. This is very useful for re-using existing textures instead of re-allocating. Bug: chromium:1132514 Change-Id: I71f6bad8bdacb91875cc81b4884d4c3099235f3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469959 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill cd88bccf 2020-10-21T08:44:32 Test Runner: Command line sharding args override env. Previously ANGLE would error out when both the enviornment and the command line args are specified at the same time. Because the perf bots use both at once we need to handle the conflict in the same way as the prior test runner does. In this case the command line takes precedence over the environment. Bug: angleproject:5124 Change-Id: I1ba765b4e75759922bf9fe2db9f153cfc5995f85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489722 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis fb44e93b 2020-10-20T10:54:48 Disable TransformFeedbackTest.NonExistentTransformFeedback* This test hase begun failing consistently on the Arm based Apple DTK. This adds a skip to the test for that config. Test: TransformFeedbackTest.NonExistentTransformFeedbackVaryingWithGLPrefix:/ES3_OpenGL Bug: chromium:1140113 Change-Id: I97612a073db20c99883908a19ac0013101061da0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486100 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis 188a1fc7 2020-10-21T10:59:43 Add dlopen_fuchsia.h as exception in export_targets.py This was breaking the Vulkan-Loader autoroller after a Fuschia related change. Bug: chromium:1140531 Change-Id: I502bcf67c014a9c543cacc35b6e21b366aae1e1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490340 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 6029e464 2020-10-21T10:01:05 Roll glslang from 3ead01191215 to ea52b3c2d270 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/3ead01191215..ea52b3c2d270 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC jonahr@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: jonahr@google.com Change-Id: Ia998ea27c8a1c50edba8b2fe1f2544b1d5849def Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489170 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 99f9277c 2020-10-21T10:01:56 Roll SwiftShader from df17a76102df to 84f5eeb6dd9b (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/df17a76102df..84f5eeb6dd9b 2020-10-21 amaiorano@google.com Fix Android build 2020-10-20 amaiorano@google.com Subzero: workaround bad codegen for Windows x86 at Om1 optimization level 2020-10-20 bclayton@google.com LLVM: Replace legacy ORC JIT with new API 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 jonahr@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: jonahr@google.com Change-Id: Id127c462bd81fa6f7e6298f572fa622ee8624350 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489171 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya 553726a4 2020-10-20T11:29:17 Vulkan: Add OES_shader_multisample_interpolation extension Addition of 'sample' qualifier keyword and 'interplateAt*' fragment shader builtin functions with autogen Bug: angleproject:3589 Change-Id: If358eb371fbcefffa715c8da4ba5e96eefaf6f52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477904 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop d591ddff 2020-10-08T10:36:21 Tests: Add Free Fire trace Test: angle_perftests --gtest_filter="*free_fire*" Bug: b/168049517 Change-Id: Ide772454fe5c602d92bf9c476d33da420b9dfa14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461350 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill e2147a58 2020-10-20T09:07:22 Add missing condition_variable include. This was breaking the ANGLE build in Skia. Bug: angleproject:5195 Bug: angleproject:5168 Change-Id: I931150922114df5b381e6d226e3fcaab4c15c2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485580 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9091de43 2020-10-17T00:33:57 Vulkan: Support vertex attribute aliasing for non-matrix types Initial implementation that supports float and vecN types. In this case, every attribute occupies a single location. When two attributes alias, they are either the same size, or one is bigger than the other. Take the following example: attribute vec3 a; // location 0 attribute vec3 b; // location 0 attribute vec4 c; // location 1 attribute vec2 d; // location 1 The shader may access either a or b (but not both). Similarly, it can access either c or d (but not both). The shader can be modified such that: - f(b) is replaced with f(a). - g(d) is replaced with g(c.xy). - b and d are removed As a result, there are no longer any aliasing attributes. In other words, when attributes alias, the larger attribute can be retained and the other attributes can be replaced by selecting the appropriate number of components from the retained attribute. Bug: angleproject:4249 Change-Id: I7c5461f777d659c92977e2572091a8ce5e422704 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482286 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill 26cd1cc6 2020-10-18T11:44:27 Perf Tests: Add stdout printing arg to bot mode. This can be useful for debugging and also for perf tests. The perf tests output gets scraped from stdout. Bug: angleproject:5124 Change-Id: Id5005df3f2b66be9497a9ba422abd47b95a1a330 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486097 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 9d160b0b 2020-10-16T08:31:18 Tests: Add Brawl Stars trace Test: angle_perftests --gtest_filter="*brawl_stars*" Bug: b/171043467 Change-Id: Ide04fbbfd69145554c6dbb544d6ee4daa51df9cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481154 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 637786a9 2020-10-15T16:23:12 Tests: Add Arena of Valor trace Test: angle_perftest --gtest_filter="*arena*" Bug: b/170994774 Change-Id: I44c81c539da975fefcf085d6fc12f8508826277f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477440 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang d8529380 2020-10-20T13:55:23 Generate CONTEXT_LOST errors on every GL call. The robustness spec states that all GL calls should generate context lost errors when the context is lost. This behaviour was lost due to some context lookup optimizations but can be re-added at no cost by updating the autogenerated entry points. Updated the ContextLostTest to cover the repeated error generation behaviour. Bug: chromium:1137241 Change-Id: I0b8d1cf4d2a37f13c466c8dd0e66edfe852f7e59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488180 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 32f0dd6a 2020-10-15T10:08:51 Add Queries and Setters for resource initialization state. There are cases where we know that the next draw operation will fully initialize a texture/renderbuffer and we can save the robust resource init cost. Default all resource init state to Initialized, any redefinition will set it back to MayNeedInit. After setting an individual texture image to initialized, check if all images are now initialized and update the TextureState::mInitState to match. The cost of this check is only performed after initializing an image and allows future init checks to be faster. Bug: chromium:1132514 Change-Id: Ia23664ae162559d1614f1eb5643e24a491d87f7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475456 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter ed876984 2020-10-03T11:00:36 Vulkan: functionally complete worker thread Working on enhancing worker thread to completely own primary command buffers. This will include not only processing SCBs from main thread into a primary, but also submitting those command buffers to the queue. The CommandProcessor is a vk::Context so it can handle errors in the worker thread. When the main thread submits tasks to the worker thread it also syncs any outstanding errors from the worker. Include asynchronousCommandProcessing feature that will control whether the worker thread task does it's work in parallel or not. If false, we wait for the thread to complete it's work before letting the main thread continue. If true, the thread can execute in parallel with the main thread. Bug: b/154030730 Bug: b/161912801 Change-Id: I00f8f013d6cbb2af12a172c4f7927855db2f0ebf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2328992 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2882e1af 2020-10-20T09:45:23 Fix missing validation cache update on VAO binding. Bug: chromium:1139398 Change-Id: I85a0d7a72bc2c97b07ebc5f86effd8e36aefd544 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485581 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6e125937 2020-10-20T10:30:14 Suppress timing out GLES 31 tests on GL/Linux. dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset_multiple_invocations Bug: angleproject:5197 Change-Id: I379799565850fd2002c1f708bfa58d1e886c7fba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485284 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 1bf0b917 2020-10-16T12:13:24 Vulkan: Pull generic SPIR-V transform functionality into base class This is in preparation for adding another transformation for vertex attribute aliasing. This transformation is not merged with the existing one, because in practice vertex attribute aliasing is rare so this transformation would be rarely done. This makes sure the efficiency of the main transformer is not affected, and avoids complicating it further. Bug: angleproject:4249 Change-Id: I9c3f6cefbec99a355596579f4471d7ada810927e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482285 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c55cd6b4 2020-10-14T23:06:27 Vulkan: Remove dead path in clear If the clear is not mid render pass, clearWithLoadOp was used to either: - modify the current render pass loadOps, assuming no rendering has been done, or - defer the clears by staging them in the attachment images. The former path however is dead code. It's impossible to start the render pass without recording any commands. In other words, if the render pass has already started, the clear must be mid RP. Bug: angleproject:4836 Change-Id: Idb1cb37b8a0e56b897ac69cf435f9a52be4bd2f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2473764 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen c90faa71 2020-10-18T20:38:54 Metal: Auto detect parent layer's contentsScale change Currently when user passes a CALayer to create WindowSurface, Metal back-end will create a child CAMetalLayer to render to. However, when this CALayer's contentsScale is changed, the CAMetalLayer's contentsScale wasn't updated accordingly. This CL fix this. Bug: angleproject:2634 Change-Id: I20411aa8b81a30c6353e595680f1de00a4a24da7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482407 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Alexey Knyazev 3d6df964 2020-10-19T14:38:23 Metal: Skip redundant clamp of stencil ref value Bug: angleproject:2634 Change-Id: I36b2303366f67dc7d35489dc44c495db4ab530c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483844 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen ba12a1d3 2020-10-18T17:20:58 Metal: Remove no longer needed precompiled shaders Bug: angleproject:5186 Change-Id: Ic5a029ba20852843b909cec26517c03eb738bff5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482406 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
angle-autoroll b1ac88b6 2020-10-20T10:01:13 Roll SPIRV-Tools from 7e1825a59619 to 6fac705e7616 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7e1825a59619..6fac705e7616 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC jonahr@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: jonahr@google.com Change-Id: I81a39ce366e82029cba4cebd323b4a08d4d58c67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2487062 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1c6ca340 2020-10-20T10:01:05 Roll glslang from f4f1d8a352ca to 3ead01191215 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f4f1d8a352ca..3ead01191215 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC jonahr@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: jonahr@google.com Change-Id: Ia020f2809067789d51858f820c741438df578c26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2487061 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0c84d564 2020-10-20T07:01:25 Roll Chromium from 7501f2454376 to 72a62c652dc1 (438 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7501f2454376..72a62c652dc1 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 jonahr@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/c44d024474..2c9bdffb45 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/3a89edfa61..31fa90f083 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3a982adabb..4135c061fb * tools/skia_goldctl/linux: VmHdV6-yVqwj-ADGTGWTpbP4nIDpDzLHKgQq-B7KKCQC..Chou-EJOehSH7VP2sMHb5CcVaudNGgiqt2COC7NHh74C * tools/skia_goldctl/mac: aaumPfBnl9wmnaRNjWDmktxWKk7iB7h3VYDlC8nRGXIC..nws_KpUBlR5-sGre16ugsXYgccD6ySMcUkozwiyzoa4C * tools/skia_goldctl/win: tNDNsPkF0Z-epC61GUCYNBjIMrq1IwzBctk8W1ySG2YC..7thhl6meG4eUWxxLq14JUg9yW0VQ2TTwYwWaZxkp3E8C No update to Clang. Bug: angleproject:5124 Tbr: jonahr@google.com Change-Id: Iff9a84056c2594df80a13bc9a4739b9313def69e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485454 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop f0dcaca2 2020-10-08T22:44:22 FrameCapture: Image Texture binding in MEC Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: If5890638dfc6a8cc07aece584a5742b055007db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462164 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 1323e2fd 2020-10-17T18:17:33 FrameCapture: Implement Gen/DeleteVertexArraysOES Test: FIFA Mobile MEC Bug: angleproject:4048 Change-Id: I9725c9b9aba98a10ef2fa11b05f0459b3d8cc9d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486404 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8061002b 2020-10-16T11:24:04 Perf tests: Bump replay ES version to 3.1 Required to run traces of newer apps. Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: Ie135fc1ce461460e1bc0978ceca4ba8c9cff68e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481153 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0d3b84ef 2020-10-17T17:56:52 FrameCapture: Fix GLSync creation for MEC on 64-bit GLSyncs created during MEC were getting garbage for the high order bits when when run on 64-bit applications. That's because the iterator is 32-bit and was being bitcast to 64-bit. This change zero extends the iterator before converting to a GLSync. Test: Lots of traces were hitting this Bug: angleproject:4048 Change-Id: Ia22da945e014de0caad2a3663a33f996bb781b19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 5eebf3a7 2020-10-18T11:44:27 Perf Tests: Call finish every step in calibration. Calibration is only supposed to take one second of warmup time. Instead we were queuing up a large amount of GPU work and then janking on the finish call at the end of calibration. Fix this by calling glFinish repeatedly during calibration. Bug: chromium:1136900 Change-Id: Idb2fefe17fcb9acbe688cff5a36f051732fc5b59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483462 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 8f57f60f 2020-10-08T22:38:25 Add ES 3.1 check to ValidateBindImageTexture This fixes a crash that occured in the Lego trace when run with an ES 3.0 context. * At the end of each frame it unbinds all the image units using glBindImageTexture, which is an ES 3.1 call. * During validation, we verify things using ANGLE's internals, but they are only set up when the context is >= ES 3.1. * This led to a crash. * The fix is to check the ES context early and bail, which aligns with other entry points. Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: I9aee2ee173436f5de5062758a70e0909f6fc9a7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462163 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
James Darpinian babce049 2020-10-16T16:32:17 iOS: Disable worker contexts, and use sized formats Kimmo Kinnunen made this change downstream in WebKit. https://bugs.webkit.org/show_bug.cgi?id=215908 Disable ANGLE workers until EAGL implementation is more complete. Current implementation fails to compile any shader, since the compilation happens in the worker thread and worker EAGL context which does not use the same sharegroup as the main context. The shader objects are created in the main context but the shader source setting and compilation happens in the worker context. EAGL needs a flush between state changes, and adding that correctly is a bigger change to be done later. Use sized formats when calling [EAGLContext -texImageIOSurface] from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface accepts parameters with glTexImage2D logic. On ES3, some of the internal formats must be sized formats. The EAGLContext instantiated by ANGLE is ES3, even if the ANGLE context would be ES2. No tests added since this should be caught with the many video related tests. It's unclear why this is not the case -- at least on real hw. This is to be investigated later, too. Bug: angleproject:5104 Change-Id: Iebf1a04488c5137d55a278d973a34511e8dc46bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481850 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
James Darpinian 3c8f582b 2020-06-19T17:39:08 Build fixes for MacCatalyst WebKit needs these preprocessor directives because they can't selectively compile files per platform. Bug: angleproject:4613 Change-Id: Ie549cd734c74b50666f3d7e142b885bc78077fc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2255701 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
James Darpinian 916ad955 2020-10-16T16:22:52 No need to check for Catalyst in the iOS build Dean Jackson made this change downstream in WebKit. https://bugs.webkit.org/show_bug.cgi?id=215249 Bug: angleproject:4938 Change-Id: Ic5abbf56dabbafdb88e9dae0ecffa36f75329abb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481617 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Jonathan Ross 4720cfb7 2020-10-19T19:02:56 Disable TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL This test hase begun failing consistently on the Arm based Apple DTK. This adds a skip to the test for that config. Test: TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL Bug: chromium:1140113 Change-Id: Ie9499f4f90327429c02b3e690d4059838ad835d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485296 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov 61ab3819 2020-10-19T14:50:38 Expand ProgramBinaryTest.SRGBDecodeWithSamplerAndTexelFetchTest skip Also Mac ARM64 GL and Nexus 6P GLES. Bug: angleproject:4991 Change-Id: Ie4b1e76c2a804256970829431e8d85a140b22387 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486091 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 2072ce50 2020-10-18T16:44:09 Rename "NonLinear" to "SRGB". In OpenGL parlance there are really only two color spaces: Linear and SRGB. Vulkan is much more complicated with linear and nonlinear SRGB, and multiple non-SRGB linear color spaces. Keep things simple by working with OpenGL nomenclature. Bug: angleproject:5176 Change-Id: Ia730a9a666a2b3325194b86dc588e7fd226c4183 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483466 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill e5590288 2020-10-18T12:40:14 Rename "texelFetchInvoked" to "texelFetchStaticUse". Technically more precise because something could be statically used and never invoked. Also more consistent with the spec. Bug: angleproject:5176 Change-Id: I70dd0787d67d9f046b7359abb24107cb430f5cae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483465 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jeff Vigil 00a49766 2020-10-14T10:27:56 EGL: Implement EGL_KHR_reusable_sync Add extension string and flags Add EGLReusableSync files to libANGLE and gni Test: angle_deqp_egl_tests --deqp-case=dEQP-EGL.functional.reusable_sync.* --deqp-case=dEQP-EGL.functional.fence_sync.* Bug: angleproject:5168 Change-Id: I967a10cf387047c9ee1963acfc854a8288325a8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477293 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5f7eeb93 2020-10-17T11:52:40 Add isSRGB flag to angle::Format. Bug: angleproject:5176 Change-Id: I85fc78206456439ba7dab55c093187fb94364823 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482290 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Geoff Lang 6d3d381e 2019-08-23T16:45:05 GL: Update BufferGL to use ANGLE_GL_TRY. Refactor the check for keeping shadow data into a feature so it's only initialized once. Bug: angleproject:3020 Change-Id: I45575c246afa7cd54e3a07d7a8464f4d4f45b3be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769064 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 556d812a 2020-10-18T11:48:45 Test Runner: Disable watchdog when debugger attached. Bug: angleproject:3162 Change-Id: I3685a4fe068b6e82b8bb04448c212788f563ab8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483463 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 6883db53 2020-10-19T10:01:56 Roll SwiftShader from 52c1a859d9eb to df17a76102df (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/52c1a859d9eb..df17a76102df 2020-10-16 srisser@google.com Make abort on LOG_TRAP opt-in 2020-10-16 cwallez@chromium.org MetalSurface: correctly handle the window resizing. 2020-10-15 amaiorano@google.com Add unit tests for arithmetic ops with constant args 2020-10-15 eholk@chromium.org Handle mul instructions with two immediates on x86-32 and x86-64 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 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 Bug: None Tbr: ynovikov@google.com Change-Id: I237b2220ffc3e0ed907db85e85927236c6cd91b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2484751 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f066e9ec 2020-10-19T10:01:12 Roll SPIRV-Tools from 5c64374dd6cb to 7e1825a59619 (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5c64374dd6cb..7e1825a59619 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC 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 Bug: None Tbr: ynovikov@google.com Change-Id: I6de05707fbba1f766d6bb7b610c459a7f98d19c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2484734 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2e3490f3 2020-10-19T10:01:17 Roll Vulkan-Headers from 04306fa5d673 to 320af06cbdd2 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/04306fa5d673..320af06cbdd2 2020-10-19 oddhack@sonic.net Update for Vulkan-Docs 1.2.158 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC 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 Change-Id: I0ca016f42bc32492ec609a9c5ca54ae4c604046b Bug: None Tbr: ynovikov@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2484334 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e2e37e74 2020-10-19T07:01:20 Roll Chromium from 7e36b15b99a7 to 7501f2454376 (405 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7e36b15b99a7..7501f2454376 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 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/0a3d03b92f..c44d024474 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/16f793c6e0..3a89edfa61 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/eef787ed93..9b04f810d4 * tools/skia_goldctl/linux: sEWxSos77EKQLWziVoCV6Sa52qijVB0fz9uN1EGoUd0C..VmHdV6-yVqwj-ADGTGWTpbP4nIDpDzLHKgQq-B7KKCQC * tools/skia_goldctl/mac: rp50J-ChpY5Dyvjwl71mK28FOzgevSspS8YE1qxgkrAC..aaumPfBnl9wmnaRNjWDmktxWKk7iB7h3VYDlC8nRGXIC * tools/skia_goldctl/win: 6eX8c167sU_avc61blSZpNkSEa5HwWNYfWCk-88QTNsC..tNDNsPkF0Z-epC61GUCYNBjIMrq1IwzBctk8W1ySG2YC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I35db172bfbebdf0a7fe3391b2033080ece2bbaab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2484198 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Qin Jiajia c69ef8bf 2020-10-14T10:30:38 Add the ES31 status on d3d11 document. Bug: angleproject:1944 Change-Id: Id1ca994c1dcebb851c68cec7d623ac96172aa56b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469605 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 2be35682 2020-10-18T10:37:52 Add sRGBOverrideFormats end2end test Addition of a new end2end test to verify that all supported formats can be overridden for the GL_EXT_texture_sRGB_override extension. Bug: angleproject:4561 Test: angle_end2end_tests --gtest_filter=SRGBTextureTestES3.SRGBOverrideFormats*Vulkan* Change-Id: I93c4eab0489a1daadeb27c70ba1f755ed2e58fc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483564 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 7bbe497a 2020-10-16T14:46:45 Vulkan: Implement EXT_texture_sRGB_decode Implement EXT_texture_sRGB_decode. This builds on the existing functionality from EXT_texture_sRGB_override, with 2 major edge cases: 1. sRGB_decode allows the texture state to be overridden by sampler state, which is implemented by forcing a a texture state sync during updateActiveTextures if a texture is bound to the same unit as a sampler with that state 2. texelFetch calls require us to reenable decoding, regardless of decode state. We add a new compiler pass (FlagSamplersWithTexelFetch) to mark samplers that are used with texelFetch in order to support this. This change also re-enables EXT_texture_sRGB_R8, which was disabled due to a dEQP bug that this change will bypass. Bug: angleproject:3609 Bug: angleproject:4503 Test: dEQP.GLES31/functional_srgb_texture_decode_skip_decode_* Test: GLES31/functional_state_query_texture_*_srgb_decode_* Test: GLES31/functional_state_query_sampler_*_srgb_decode_* Test: GLES31/functional_debug_negative_coverage_*_srgb_decode_* Test: GLES31/functional_android_extension_pack_extensions_ext_texture_srgb_decode Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan* Change-Id: I4a67e487dc82e2f57c8c87d4bcd8ef442b6fe220 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359481 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill e3a57381 2020-10-18T15:42:58 Fix VertexAttributeTest.DrawArraysWithBufferOffset. This test was reading past the end of a buffer into undefined data. Bug: angleproject:3951 Bug: angleproject:4163 Bug: angleproject:4258 Bug: angleproject:4269 Change-Id: I54ab9aa0cd1442184692e60c7f99f2139a855d63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483842 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 188d0fe6 2020-10-18T14:33:28 Make Metal shader-gen cross platform. This switches the generator script use the hermetic Clang instead of the system gcc/clang. It also uses common Python routines to manage the temporary file so that it works consistently on Win. Bug: angleproject:5186 Change-Id: I52906d1a708db8b925061a9d5578b3d54a6dc862 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483464 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 5b7c5b34 2020-10-18T17:19:51 Metal: don't precompile default shaders. Default shaders will be compiled from source at runtime, this is because they depend on ANGLE format table and there is currently no way to pre-compile metal shaders in a cross-platform manner. Using default shaders' source instead of pre-compiled form seems to reduce the libGLESv2's binary size. However, the startup time will be increased due to runtime cost of compilation, thus the compilation now will be done asynchronously. Bug: angleproject:5186 Change-Id: I0e1987d6c76692d5169255736fbb8e215185c33b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482405 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Jamie Madill 9047954c 2020-10-17T20:35:31 More Mac/AMD/GL dEQP suppressions. These tests became flaky with multi-process. Bug: angleproject:5172 Change-Id: I6ede6b33f8c2ddfb3970fbc2b7586c7622b79a09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482293 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 07ea804e 2020-10-17T08:57:28 Change Android atomic counter tests to skip. These tests were running into LowMemoryKiller issues on the Pixel 2. Disable them until we can switch to a newer OS/Device. Bug: angleproject:5185 Change-Id: Id33d0f6347961e216a471af2e3614f0fb18d28d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482288 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi da09d08f 2020-10-16T00:02:34 Regression tests for vertex attribute aliasing Tests for the upcoming implementation of vertex attribute aliasing in Vulkan. Bug: angleproject:4249 Change-Id: Ic87e44b1815b376da4cda5e8887dd3a05c9cc35f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477051 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 128ffe4a 2020-10-16T14:35:16 Roll VK-GL-CTS from 618e41c871d6 to 483a71c5130e (11 revisions) Suppress new dEQP-GLES3 tests on Nexus 5X: dEQP-GLES3.functional.transform_feedback.random_full_array_capture.* https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/618e41c871d6..483a71c5130e 2020-10-16 alexander.galazin@arm.com Update vk.xml revision 2020-10-16 lionel.g.landwerlin@intel.com Replace incorrect undefined->transfer-dst-opt layout transfers 2020-10-16 michal.m.pawlowski@mobica.com Add cube compat. to array image copy tests 2020-10-16 mikko.tiusanen@siru.fi Tests for pipeline laoyut early destroy 2020-10-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master 2020-10-09 mika.vainola@siru.fi Modify/add GLES XFB tests without element capture 2020-10-09 afdx@google.com Add a batch of GraphicsFuzz tests 2020-10-08 siglesias@igalia.com Fix wrong access flag for depth/stencil resolve 2020-10-08 lionel.g.landwerlin@intel.com Fix wsi tests using disallowed image usage 2020-10-08 siglesias@igalia.com Output depth image in case of failure 2020-10-08 karolina.palka@mobica.com Check SparseResidency flag before OpImageSparseRead If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC ynovikov@google.com,angle-bots+autoroll-info@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: angleproject:5184 Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com Change-Id: Ie46c0306830871d605b15cfcd3abc580989f104f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480002 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten 16102e8b 2020-10-17T01:15:05 Reland "Vulkan: Fold deferred clears into current clears" This reverts commit 37c400146e59f718b516eb58e16fa53c8a88bf21. Reason for revert: Need to clear the package cache when bisecting. Original change's description: > Revert "Vulkan: Fold deferred clears into current clears" > > This reverts commit e416c92a81c9ef01d633ec5c05e81c2551b6c5d6. > > Reason for revert: Reverted parent: > https://chromium-review.googlesource.com/c/angle/angle/+/2481612 > > Original change's description: > > Vulkan: Fold deferred clears into current clears > > > > If there are clears prior to a glClear() call, those clears were > > flushed (starting a new render pass) and then the clear call's clears > > would be applied (essentially modifying the loadOps of said render > > pass). > > > > The main downside of the above is that the current glClear() clears > > don't get a chance to be deferred. This was observed in Chrome which > > clears an attachment with an emulated format, then switches > > framebuffers. > > > > Additionally, if the render pass had already been started, the deferred > > clears could have become inlined instead of breaking the render pass. > > Although, it's unlikely for there to be deferred clears when the render > > pass is already open. > > > > This change first identifies which clears need to go through the draw > > path (scissored, masked or as workaround for driver bug). It merges the > > rest of the clears (that don't need the draw path) with the deferred > > clears. It then checks deferred clears and applies them by either: > > > > - vkCmdClearAttachments if mid RP > > - Start a new render pass and use loadOps, if any draw-based clear needs > > to follow. > > - Modify current RP loadOps / defer the clear > > > > Afterwards, the draw-based clears are applied. > > > > Bug: angleproject:4836 > > Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Reviewed-by: Charlie Lao <cclao@google.com> > > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:4836 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because this is a reland. Bug: angleproject:4836 Change-Id: I702cd510f39ee46feab27d4efbf61ae5da10d4e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481856 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill d3e7ed93 2020-10-16T21:30:58 Suppress Mac/AMD/GL GLES2 failures with standalone mode. Bugs due to test ordering. Bug: angleproject:5172 Change-Id: If7e0c93a470bf2338347d484735f1b3691dd9ad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482283 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 37c40014 2020-10-16T22:19:20 Revert "Vulkan: Fold deferred clears into current clears" This reverts commit e416c92a81c9ef01d633ec5c05e81c2551b6c5d6. Reason for revert: Reverted parent: https://chromium-review.googlesource.com/c/angle/angle/+/2481612 Original change's description: > Vulkan: Fold deferred clears into current clears > > If there are clears prior to a glClear() call, those clears were > flushed (starting a new render pass) and then the clear call's clears > would be applied (essentially modifying the loadOps of said render > pass). > > The main downside of the above is that the current glClear() clears > don't get a chance to be deferred. This was observed in Chrome which > clears an attachment with an emulated format, then switches > framebuffers. > > Additionally, if the render pass had already been started, the deferred > clears could have become inlined instead of breaking the render pass. > Although, it's unlikely for there to be deferred clears when the render > pass is already open. > > This change first identifies which clears need to go through the draw > path (scissored, masked or as workaround for driver bug). It merges the > rest of the clears (that don't need the draw path) with the deferred > clears. It then checks deferred clears and applies them by either: > > - vkCmdClearAttachments if mid RP > - Start a new render pass and use loadOps, if any draw-based clear needs > to follow. > - Modify current RP loadOps / defer the clear > > Afterwards, the draw-based clears are applied. > > Bug: angleproject:4836 > Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4836 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop 5a9827d2 2020-10-08T13:17:16 FrameCapture: Move shader and program source to shared cache These are local copies of source seen earlier in the trace. Centralize them so they can be tracked across contexts. Test: PUBG MEC Bug: b/165824228 Bug: angleproject:4048 Change-Id: If414826b0280c61507812c2fd92706b7f095cc4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462162 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 51ff0d05 2020-10-16T11:54:04 Trace Tests: Add vsync-limited mode with a GPU timer. Local testing on Linux shows that ANGLE and native have the same wall-time, and ANGLE has a 10 ms vs native 6 ms GPU time. Bug: angleproject:5183 Change-Id: I26da678b984af916bfb40e1db6416f5df4f85c08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480782 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill ecbac31c 2020-10-16T10:36:06 Perf Tests: Add offscreen mode. This lets the trace perf tests run configurable number of frames within a single swap. The offscreen config is similar to how gfxbench works. It renders to a user FBO (by overriding calls to BindFramebuffer) and then composits multiple frames into the real backbuffer. This allows us to get a perf measurement with less overhead from composition and display. Adds emulation for some APIs that operate on Framebuffers like BindFramebuffer, Invalidate, DrawBuffers and ReadBuffer. Bug: angleproject:4845 Change-Id: I1044c1d52c82f1c215a68a6c46d74c52ed0f3d2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300207 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
angle-autoroll 50348a8a 2020-10-16T10:01:16 Roll Vulkan-Loader from 14ad927e679a to 970c132746b1 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/14ad927e679a..970c132746b1 2020-10-12 shannon@lunarg.com build: Update known-good files for 1.2.157 header If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC 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 Bug: None Tbr: ynovikov@google.com Change-Id: Idc4988d80af175c57d8e4708235fb3a042adb19f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2479382 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e1d8dab2 2020-10-16T10:01:15 Roll Vulkan-Tools from 1abaced34b84 to ee0de094ddff (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1abaced34b84..ee0de094ddff 2020-10-15 shannon@lunarg.com build: Update known-good files for 1.2.157 header If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC 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 Bug: None Tbr: ynovikov@google.com Change-Id: I6708380b01fadca63cf95379ca583350de59df92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2479224 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 2402c336 2020-10-16T13:56:08 Suppress Mac/AMD/GL dEQP failures with standalone mode. These tests appear to flake based on different batch sizes. Disable them for now until we have time to investigate. See issue for more details. Bug: angleproject:5172 Change-Id: I90fff3b3400cbd5a5aa0d5e9a23364320fba7e4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480785 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5025d781 2020-10-16T08:50:56 Remove flaky check in TimerQueriesTest. We cannot guarantee that a shader with more instructions will always take more time than a smaller shader. Bug: angleproject:5178 Change-Id: Icf48a7b73ad482237cf3161667d75a25e36dd643 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2479682 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop d83f6792 2020-10-08T09:41:11 Capture/Replay: Fix GL_HALF_FLOAT_OES vertex attrib type name The string for VertexAttribType::HalfFloatOES was missing. The output would contain GL_INVALID_ENUM instead of GL_HALF_FLOAT_OES. Detected when capturing Free Fire. Test: Free Fire MEC Bug: b/168049517 Bug: angleproject:4048 Change-Id: Ib9efbb8cee1ae9f679ff20f4182f7dd428000d5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461349 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill b620ca9e 2020-10-16T13:10:28 Suppress fragment out int tests on Intel/Mac/GL. These tests started failing when run in larger batches. The test order caused determimnistic failures. See the issue for more details. Bug: angleproject:5172 Change-Id: If5be66b843c1e0fccba962ff55e5064cbee60859 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480784 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 09ac7d90 2020-10-16T16:57:19 Roll Chromium from 20073b8681d2 to 7e36b15b99a7 (145 revisions) https://chromium.googlesource.com/chromium/src.git/+log/20073b8681d2..7e36b15b99a7 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 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/53ad43e619..0a3d03b92f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/14abbc061e..16f793c6e0 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Idc9a99a2569a244b8e0305978f5ea96b7e33e65e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480987 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen 119d867c 2020-09-26T18:27:39 Metal: autogen blit & clear shaders for integer textures Bug: angleproject:2634 Change-Id: I20d0bf3fca354a7964ce5893a605ab72a8a9012d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433328 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 46f8db4b 2020-10-16T07:00:52 Roll Chromium from 312a2b1c9d05 to 20073b8681d2 (419 revisions) https://chromium.googlesource.com/chromium/src.git/+log/312a2b1c9d05..20073b8681d2 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 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/d6e2fedeed..53ad43e619 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a990bf47a4..14abbc061e * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/66b870c3b1..9c0fc6713c * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/26211a5a8e..8cd0fc1ed5 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d4827bfe10..3a982adabb * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d3ce77fdae..eef787ed93 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Icc812bec41ee938d95725e9763823526e83422ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2478071 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen 27e7e446 2020-09-27T00:00:35 Metal: Support 2D array textures and base & max levels. Bug: angleproject:2634 Change-Id: If9e50cec46bdf5f472f1e58c6e82a67b524e2408 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433327 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b4fb7cc9 2020-10-15T08:58:06 Test Runner: Print reproduction steps on a batch failure. This prints out a large gtest_filter of the tests in a batch. Makes reproducing a particular failure much easier. In the future we could potentially look at using an encoding to reproduce a specific batch: e.g. a flag that acceps a batch / shard number and runs those tests based on using the same internal counts. Bug: angleproject:5172 Change-Id: Iefad8f5ca23761417ad1ceb11fd664c9cf23c8be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475455 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 78822603 2020-10-14T20:54:49 Add priority to trigger.py jobs. Use a default priority of 30 to match CQ jobs and not starve. The user can also carefully add a higher priotity for small tasks. Bug: angleproject:5177 Change-Id: I8e8460f096102423429b19e2107673f58d73805a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475454 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 2aaa38e9 2020-10-15T23:29:34 Roll Vulkan-Headers from 94ff600cc862 to 04306fa5d673 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/94ff600cc862..04306fa5d673 2020-10-12 oddhack@sonic.net Update for Vulkan-Docs 1.2.157 2020-10-12 oddhack@sonic.net Update for Vulkan-Docs 1.2.157 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC 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 Change-Id: I8efa0f86caea1b6cb1abfcfa93f9cb21b28c2639 Bug: None Tbr: ynovikov@google.com Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477443 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 089eac22 2020-10-11T12:40:07 Perf tests: remove redundant null naming. Bug: None Change-Id: I9e3e0d8b160a438c9001d9dbd4bb067355b9e562 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475457 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e416c92a 2020-10-06T23:29:02 Vulkan: Fold deferred clears into current clears If there are clears prior to a glClear() call, those clears were flushed (starting a new render pass) and then the clear call's clears would be applied (essentially modifying the loadOps of said render pass). The main downside of the above is that the current glClear() clears don't get a chance to be deferred. This was observed in Chrome which clears an attachment with an emulated format, then switches framebuffers. Additionally, if the render pass had already been started, the deferred clears could have become inlined instead of breaking the render pass. Although, it's unlikely for there to be deferred clears when the render pass is already open. This change first identifies which clears need to go through the draw path (scissored, masked or as workaround for driver bug). It merges the rest of the clears (that don't need the draw path) with the deferred clears. It then checks deferred clears and applies them by either: - vkCmdClearAttachments if mid RP - Start a new render pass and use loadOps, if any draw-based clear needs to follow. - Modify current RP loadOps / defer the clear Afterwards, the draw-based clears are applied. Bug: angleproject:4836 Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jonah Ryan-Davis 96a49a48 2020-10-06T13:34:09 GLX, EGL: Support NV_robustness_video_memory_purge Chrome is showing rendering issues on Linux/Nvidia after returning from the lock screen. This could be related to the fact that Nvidia drivers are not able to guarantee conformance after certain events. By exposing this extension, we can instruct Chrome to reinitialize contexts after they are purged by the driver. If this is not explicitly requested, we can still generate an UnknownContextReset to tell apps to discard the invalid context anyway. Bug: chromium:1113040 Change-Id: Ie99b6356cc27fea33643d61b1d74f4f68a271d70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453689 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>