Log

Author Commit Date CI Message
Jonah Ryan-Davis 66e4850d 2019-04-25T10:49:05 Use EnumAdapters to properly detect primary GPU on Win EnumDisplayDevicesA returns the card that's connected to the display, but EnumAdapters return the adapter which the desktop primary is displayed at index 0. We can use this to determine the device used for graphics. Also cleans up the discrepancy between platforms on finding "primary" vs "active" GPU. Asserts that the GPU expected to run ANGLE commands is the active GPU, and deprecates the primary GPU to be equal to the active GPU. Bug: angleproject:3383 Change-Id: I422fba1bbe47d85b7c09e378d559eaebf89e2625 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584360 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c22ef61f 2019-04-09T09:55:14 Vulkan: Store fences instead of serials in SurfaceVK::SwapHistory Previous swaps may not have been submitted by the same context as the current swap and we can't safely wait on serials submitted by other contexts. BUG=angleproject:2464 Change-Id: Ibcb23171feae038fd45abdefb80c4e8a373744e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562521 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 37860a70 2019-05-06T07:01:06 Roll ./third_party/glslang/src 86c72c9486a9..c0640dabfddd (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/86c72c9486a9..c0640dabfddd Created with: gclient setdep -r ./third_party/glslang/src@c0640dabfddd The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=jmadill@google.com Change-Id: I5beb96c93380dab0fab809350ec5619b5ea938e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1596388 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 6f0c5b8d 2019-05-04T10:00:02 D3D11: Fix potential invalid VAO access in dispatch. In some instances running a dispatch call could lead to accessing an invalid VAO pointer. This seemed to be tied to switching Contexts. Fix the bug by invalidating the cache pointers on Context switch. Note that it seems this bug can only affect ES 3.1+ Contexts. Bug: angleproject:3349 Change-Id: Ib712bcc29215b3fd1c8b7eb0cbd70dea649b3cfc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594289 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 62742f9e 2019-05-01T16:14:50 Vulkan: Optimize shader source macro replacement @@ LAYOUT-xx @@ and @@ QUALIFIER-xx @@ macros are generated by the compiler when emitting Vulkan GLSL. These macros are replaced at link time in the Vulkan backend. Previously, this replacement was done through calls to angle::ReplaceSubstring, reiterating over the whole source on every replacement. This CL does a prepass on the input source and chunks it up in blocks. Search is optimized as only blocks of a certain type are string-compared (skipping large chunks of shader text). Replace is optimized as the whole shader is not shifted left or right on every replacement. Additionally, this CL modifies the layout macro to the following format: @@ LAYOUT-xx(extra, args) @@ This is used in a follow up CL to have the compiler provide additional layout qualifiers. Bug: angleproject:3220 Change-Id: I6367e781c3304d5f2e0a406e4fb4e6feb4c45f1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592070 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang be394bad 2019-05-02T13:41:19 Vulkan: Reset swap chain image dependency information when aquiring. If an image was used by a different context previously, it's stored serial is not relevent. We always know that any work involving the swap chain image has been completed by the time we aquire a new one. BUG=angleproject:2464 Change-Id: I0b12b9ff4b9a68593d661344d2d1e2c9d94e4755 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592043 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi e25ff9d8 2019-05-01T00:02:05 Vulkan: Fix qualifiers for varyings `out` variables in the vertex shader and `in` variables in the fragment shader were not decorated with `layout(location=?)` as they should according to the Vulkan GLSL spec. This change makes sure these decorations are present regardless of whether the compiler sees these variables as EvqVaryingIn/Out or EvqVertexOut/FragmentIn. Bug: angleproject:3412 Change-Id: I66473e876cb989a60b0c6d6a5850a8b2c763d8e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590694 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 58957f3d 2019-05-03T12:52:22 Add option to run each test config in a separate process. This CL adds a command line option to angle_end2end_tests that will iterate over all test configs. For each config it'll fork a new child process that will run only a single config. This will allow us to isolate each config to a specific child process. Hopefully this will reduce test flakiness due to driver issues with multiple configs. The command line option is "--separate-process-per-config". Note that there are about 25 configs right now. Bug: angleproject:3393 Change-Id: Ia117b371bbe159c1b0d28d82befffeb0f40467a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591428 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yi Xu 80147d11 2019-04-30T16:21:24 Add support for dynamically allocate initial stack for Angle By updating YYLTYPE_IS_TRIVIAL to true, YYSTACK_RELOCATE can be enabled, so we can dynamically allocate stack size based on needs. BUG=angleproject:3028 Change-Id: I1b9cc0768cd0c6955589695e703595c56d43f24a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593954 Commit-Queue: Yi Xu <yiyix@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 467f174f 2019-05-03T12:52:21 Remove EGLTest. Consolidate these tests into ANGLETest. Add a new parameter to PlatformParameters that lets us skip normal test setup. This removes the last 'configless' tests from angle_end2end_tests. Bug: angleproject:3393 Change-Id: I87186698ade90f95577534eb8ed1dfd4245f740e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590467 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 97f0affb 2019-05-03T12:52:21 Add command line option to filter by test config. This allows us to run angle_end2end_tests with a single config without using gtest_filter. It will also allow us to run each test config in a separate process. Bug: angleproject:3393 Change-Id: I09aaf9cfe55a117b0af8d79ecfd129f3d0f1d7c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591427 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 051b0896 2019-04-15T15:39:39 Vulkan: Fix layout substitution for struct varyings If the shader contains code such as the following: struct S { vec4 field; }; out S varStruct; The layout qualifier macro is defined as @@ LAYOUT-varStruct @@. However, the Vulkan backend was replacing @@ LAYOUT-field @@. Bug: angleproject:3220 Change-Id: Iae15003867e0bed2cc939159a6653429c7a431e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571389 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 989bc9a3 2019-05-02T13:31:24 Move ANGLE Platform Methods init to GetDisplay. Moving the Platform Methods init to GetDisplay allows us to override the platform methods as soon as possible. This lets Chromium override the methods via ANGLEGetDisplayPlatform. It also lets us reset the platform methods when making a new display. Note that because the methods pointer is global it's a bit tricky to manage between swapping configs in ANGLE tests. Using a separate test process for each config should help. Bug: angleproject:3393 Change-Id: I351f86422e53075563f6d8fce32efbd40023cd23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592045 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis 7d36b55e 2019-05-03T10:29:59 Consolidate 32/64 bit dEQP results on doc. These results are somewhat redundant. Don't need to be shown in the public doc. Bug: angleproject:3369 Change-Id: I4994cd5714e727afbfe63fb082dab074ed137d43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593959 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 3e251337 2019-05-02T16:12:54 Removed SizedFloat helper class from upload tests. This helper was redundant with the image utils library. Switch the test to use the existing methods. Doesn't affect test correctness. This removes more 'configless' tests from angle_end2end_tests. Bug: angleproject:3393 Change-Id: I49cfbd95c3713b2b4b25c4716a7a279d84ddf994 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591426 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yi Xu 926f1caa 2019-05-01T14:03:05 Add support for GCC Compilers Add support for GCC Compilers, so it can be build on Ubuntu. BUG=angleproject:3392 Change-Id: I2f5ac7355a40f52123bd465f86b1e966c59c943d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592062 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yi Xu <yiyix@chromium.org>
Jamie Madill 69f72b41 2019-05-02T16:12:54 Simplify ANGLE test config names. We don't need to use upper case. Lower case can be more readable. Skip a test on Linux/NV/Vulkan that became flaky after changing the test order. Bug: angleproject:3393 Change-Id: Ie027e08ddc9d47b9484cf5b1aaca72a05dd60517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574676 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll e421c05c 2019-05-03T07:01:18 Roll ./third_party/spirv-tools/src c8b09744c6a1..5fc5303eeceb (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c8b09744c6a1..5fc5303eeceb Created with: gclient setdep -r ./third_party/spirv-tools/src@5fc5303eeceb The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=jmadill@google.com Change-Id: I9885ba82ef201582c2b0496ba49438d7ce12192b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594474 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill ddc4d33a 2019-05-01T15:11:46 Remove several underused platform configs. * Removes D3D11 Warp and Reference configs from tests. * Removes several permutations of OpenGL back-end specific configs. * Removes FL 9_3 since it is no longer supported. * Removes present path "Copy" since it's redundant with normal D3D11. Reduces number of configs from over 60 to 25. Bug: angleproject:3393 Change-Id: Ia5a23de3c4865b17ee50673a4066757b901a4b5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574675 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3928567b 2019-05-02T12:59:21 Remove fuchsia_x64 from CQ. This test was failing due to patch errors. This could be because the bot uses DEPS ANGLE instead of ToT. Removing the bot because it was causing valid CLs to fail on the CQ. Bug: angleproject:3146 Change-Id: I7b8b120160fe435832cba919c256ce185ade4d90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592602 Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 565441b1 2019-05-02T07:01:19 Roll ./third_party/spirv-tools/src 32af42616abe..c8b09744c6a1 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/32af42616abe..c8b09744c6a1 Created with: gclient setdep -r ./third_party/spirv-tools/src@c8b09744c6a1 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=jmadill@google.com Change-Id: Ibb2108c988ea4b27108da68498b5a51e72ff0f0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593015 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 3089f92e 2019-05-01T15:11:46 Move EGL Display config into EGLPlatformParameters. This CL moves all of the EGLDisplay configuration into an EGL platform struct. Consolidating display configuration in the struct allows us to move configuration out of the test constructor. Then when we filter test configs we don't need to wait for the individual test setup. Bug: angleproject:3393 Change-Id: I5bd06dcdc9f2867ebc43c1d4984077ada35cafc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574674 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang ca49e6dc 2019-05-01T14:20:36 Reset the default framebuffer if ContextImpl::onMakeCurrent fails. Context has the invariant that if it is not current anywhere, mCurrentSuface is null. If makeCurrent fails in ContextImpl::onMakeCurrent, the surface is not reset, breaking this invariant. BUG=angleproject:3414 Change-Id: Icb13c8e2d1edd98d87a8af091a3fbacebadb395c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592064 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3c6a36b0 2019-05-01T15:02:52 Fix link to dirty bit diagram. Also add a missing arrow from VertexArray to Context. Bug: angleproject:3002 Change-Id: I2a30df0bb1c9681b4cf5178b75f1264ddf4ca2e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592065 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2b2b4d9f 2019-05-01T13:05:40 Add diagram illustrating dirty bit flow. The diagram source is available as a Google Driver document. It can be opened with the draw.io web app. Bug: angleproject:3002 Change-Id: Ic7885c8da1aacac5082eea05d0562d3d62f801ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592252 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi fc0be049 2019-04-18T09:44:06 Fix GL_MAX_COMBINED_UNIFORM_BLOCKS query This was previously returning maxCombinedTextureImageUnits instead of maxCombinedUniformBlocks. Fixing that exposed a bug in the GL backend where the combined values were sometimes capped to vertex+fragment values and sometimes not capped at all. The reasoning for such capping was that the combined limits as queried from GL contains stages not available in GLES (such as tessellation). However, the capping failed to take geometry shader limits into account. This change adjusts such capping to vertex+fragment+geometry. It also applies the cappping to all combined limits, rather than a select few. Bug: angleproject:2099 Change-Id: I7231058b5d7f80b1b2452d9f87d4b0ab6e1cdb17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572487 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill b8149075 2019-04-30T16:14:44 Clean up ANGLE test extension functions. None of these functions needed to be member functions. Also make the naming more consistent. Bug: angleproject:3393 Change-Id: I7aafe2269a48af703a87bd9a8cf4cfab9e177dd3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574673 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis ed4feb35 2019-04-29T10:06:28 Add generated dEQP charts to the ANGLE doc. Also clean up the comments formatting for generate_stats.py Bug: angleproject:3369 Change-Id: Ifaa26cb898915038cf47e88341db5057b59dd937 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1588315 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 0659c991 2019-04-30T16:14:43 Set swap interval explicitly. The swap interval can be changed independent of the Surface config. Thus it makes more sense to set it explicitly in test setup. This simplifies the test config. Also updates some of the API for GLWindowBase. Return an explicit error from makeCurrent. Bug: angleproject:3393 Change-Id: Ic62b33018e872bc0e38f2848e2427ed898b60749 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574672 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8f39cd83 2019-04-10T13:58:08 Roll Chromium DEPS (April 30, 2019). Required a few build tweaks because GN check does not understand #ifdef includes. Bug: angleproject:3411 Change-Id: I1aa7b97626767e3dc973bfa55f5b2a511c806ec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589148 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0f861bd8 2019-04-26T16:00:23 Vulkan: Don't present on surface destruction. The the user hasn't called SwapBuffers explicitly, we should not write to the window surface. This is especially a problem when the native window has already been destroyed. BUG=angleproject:2464 Change-Id: Ib4289de471ba2ad10e5cc21a8c2af946642f138c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1586355 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 3fb957a0 2019-04-30T07:01:19 Roll ./third_party/spirv-tools/src 736376dbf989..32af42616abe (6 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/736376dbf989..32af42616abe Created with: gclient setdep -r ./third_party/spirv-tools/src@32af42616abe The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=jmadill@google.com Change-Id: I89036ebd9c06aeb79b7b5b358636f5adb4176548 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589164 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
shrekshao 15ce8227 2019-03-18T19:25:21 Fix error report when active color buffer has no fs output Also modify or remove some tests to sync up with the expected behavior stated in spec. Related to https://github.com/KhronosGroup/WebGL/pull/2780 If any draw buffer with an attachment does not have a defined fragment shader output, draws generate INVALID_OPERATION. Also remove Framebuffer masking for inactive outputs. This workaround is no longer necessary as the WebGL spec has changed. It also was never fully working and had bugs with certain orders of calls. Bug: angleproject:2872 Bug: chromium:927908 Bug: chromium:943538 Change-Id: I73715a6ab851ae3db7096f49ea0a9fdd6f576703 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530018 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 28383fb2 2019-04-26T16:00:06 Vulkan: Wrap aquire semaphore in a vk::Scoped If vkAcquireNextImageKHR fails, the aquireImageSemaphore would be leaked, wrap it in a vk::Scoped so it is always cleaned up. BUG=angleproject:2464 Change-Id: Ic4a0e16c89ea7c35cf060e5601760422e673c080 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585318 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 82133763 2019-04-02T16:58:37 Vulkan: Add an unMakeCurrent for contexts. This allows contexts to flush and update state when they are no longer going to be current. BUG=angleproject:2464 Change-Id: Ie577475a94090631a0208542b32a12a239bdeb75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553824 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 1ad7a072 2019-04-26T14:05:25 Clean up unexpected passed/failed test behavior for generate_stats The lists of tests can't be added to the sheets if more than 50,000 lines. Since the goal is to get rid of all unexpected passes/failures, it's reasonable to clip the lists by length. Other formatting changes too. Bug: angleproject:3398 Change-Id: Ice461862fb4266e0ad1280f20de85224fc6d7e97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585612 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 6f691fbb 2019-04-25T11:01:52 Port the WebGL2 framebuffer-texture-changing-base-level test to native A nearly direct port of the https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/framebuffer-texture-changing-base-level.html test for easier debugging. BUG=angleproject:2291 Change-Id: Ibc8a7e77629f1ea3f15e92ea93f1210fa850c524 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584361 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shrek Shao <shrekshao@google.com>
Jonah Ryan-Davis 51ac37ee 2019-04-25T13:32:16 Print unexpected passed/failed tests with formatting for generate_stats The stats generation should pick up a list of unexpected failed/passed tests, so the tests should be printed with the format used by this script. Bug: angleproject:3398 Change-Id: I96a8eba6c2e294f64ca59ec60042cc688d1133c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584363 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang fb6fbdbc 2019-04-12T15:16:30 Return that polling queries have completed after context loss. KHR_robustness says that certain queries that poll such as GetSynciv with SYNC_STATUS should still generate errors after context loss but also return that the result is available. BUG=angleproject:3379 Change-Id: Ibf61f8481bc7c3d1b4fa8979dc404d0ca3952fcd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566142 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis cddf6416 2019-04-24T14:30:39 Clean up generate_stats.py script Add more explicit comments and change some behavior slightly. Bug: angleproject:3369 Change-Id: I76f9054564e8d33127e8ff8233b317e82e06c7de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582760 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 5a0f64b6 2019-04-23T16:06:47 D3D: Require cube completeness to create render targets TextureD3D_Cube::isFaceLevelComplete skips checks for the base level because it assumes that isCubeComplete has already been called to verify the base level. This assumption is not correct for some cases like glCopyTextureCHROMIUM which attempts to create a render target from cube maps that may not be complete. This caused us to create render targets from incomplete cube maps and then fail to upload data to the cube faces because the sizes or formats did not match between the images and render target. TEST=conformance/more/conformance/quickCheckAPI-S_V.html BUG=angleproject:3384 Change-Id: Iceb9415debfa07436fea1eb4bc23d0ec05679839 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578957 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Xinghua Cao 1b0acbb5 2019-04-23T15:17:56 Add cases with multiple draws and dispatches D3D11 cannot allow the same (sub)-resource bound as both a SRV and an UAV at the same time. If render pipline and compute pipeline access the same texture, must unset conflicting SRVs and UAVs before drawing and dispatching on D3D backend. Currently, these cases could not pass on D3D11 backend. Bug: angleproject:3152 TEST=angle_end2end_tests.ComputeShaderTest.* Change-Id: I3ed19d7586625aac7fe9f46f86341d136d148019 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578131 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Tobin Ehlis 47b5b1c2 2019-04-22T13:32:31 Vulkan:Improve white box test documentation Add target for angle_white_box_perftests to DevSetup.md Android build instructions. Generously comment the test source to clarify various tests and how to run them. Bug: angleproject:3136 Change-Id: Ie4f0ec6951d354ebac861f727c9d550a93ad48c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1577740 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Geoff Lang 1f6eb0cd 2019-04-24T16:32:00 D3D: Re-mark StreamDraw buffers as dynamic. The StreamDraw usage flag was changed to a static type in http://crrev.com/50eb1e6f77b3b0ad89d2cd00efc0d1d673365296 but it appears to have regressed performance in several Chrome benchmarks because Skia uses it as a usage flag for buffers that change data frequently. BUG=angleproject:3366 BUG=953788 BUG=954028 Change-Id: Ib6805d94714bcd1679f3c9c49f1b70574f0b658a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582786 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 3c369d19 2019-04-17T18:13:42 Add Sheets generation to dEQP visualization script. Script will parse the output from bb and format it and append to a Sheet. The sheet ID can be set with the 'spreadsheet' arg, or it defaults to a shared sheet on go/angle-status-generated. The user credentials must be pointed to with the 'auth_path' arg. Bug: angleproject:3369 Change-Id: Iafc9f3f96610f2ea01a9802526282cf5f14e1b2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572482 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 8cbd321c 2019-04-23T13:25:20 Android: Clean up the ANGLE APK * Rename the APK package name to reflect that it is from Chromium build. * Rename the application to reflect it is no longer used on Android system image. * Remove code supporting multiple APKs, since we only have one now. * Remove the placeholder icon, which is no longer needed. * Remove the ANGLE_FOR_ANDROID intent, since this APK is not built in. * Remove the java code since since it was only in support of the intent. * Remove most apps from the rules file. Bug: angleproject:3396 Change-Id: Ic6a2fd03e5686026ab4650fc0c25adb298af03c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579389 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jan Beich c9a9cfcc 2019-04-23T16:25:18 `environ` needs to be declared for (at least) FreeBSD. Declaring it unconditionally seems to build fine on all other platforms. Change-Id: I4c587d6ec47989f0d22588aca8883c4ef68f91c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579917 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll cb8f677c 2019-04-24T07:01:35 Roll ./third_party/spirv-tools/src 7aad9653f9a3..736376dbf989 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7aad9653f9a3..736376dbf989 Created with: gclient setdep -r ./third_party/spirv-tools/src@736376dbf989 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=geofflang@google.com Change-Id: I577adeb8867e21259dd7ac1413a18e684d8267e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1580781 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
David Worsham 62e274e8 2019-04-23T09:17:03 [scenic] Remove dangling viewsv1 reference Clean up the includes and imports for this module as well. BUG: angleproject:2475 TEST: Built cast_runner, web_runner Change-Id: Id283c265a4ec9d2ca74e3a0132e82f051b8864f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579219 Reviewed-by: Michael Spang <spang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Cody Northrop 83740f97 2019-04-22T11:56:56 Android: Add ANGLE version to logcat We need addtional info in logcat to diagnose ANGLE issues. Before this, only Vulkan version and hardware details are reported: ANGLE : Vulkan 1.1.87(Adreno (TM) 540 (0x05040001)) After this, we also get the ANGLE version: ANGLE : Version (2.1.0.bc20af89d498), Renderer (Vulkan 1.1.87(Adreno (TM) 540 (0x05040001))) Bug: angleproject:3395 Change-Id: I4b67fe5ce389d3d2d641a4cc8b2e0b67649dc70d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579044 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll cff6f150 2019-04-22T07:01:10 Roll ./third_party/glslang/src 0e5d1bb66ad3..86c72c9486a9 (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0e5d1bb66ad3..86c72c9486a9 Created with: gclient setdep -r ./third_party/glslang/src@86c72c9486a9 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: I3a4e8fc6e516f7e6357e7330872a068b7f5a8cef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1576824 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Michael Spang c467f7b5 2019-04-17T20:20:30 Compute usage from format properties cache in glTexStorageMem2DEXT Per issue 13 in the EXT_external_objects spec, we should request all of the usage flags that are supported for the format. Bug: angleproject:3289, angleproject:3389 Change-Id: I5ef9906061af0fd619f580a9f603dd43be162932 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573218 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
angle-autoroll fcc3ec31 2019-04-19T07:01:09 Roll ./third_party/glslang/src 805b09f92203..0e5d1bb66ad3 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/805b09f92203..0e5d1bb66ad3 Created with: gclient setdep -r ./third_party/glslang/src@0e5d1bb66ad3 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: Icee4418f0116ec73f8e204df29b18499d796a54f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575407 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4906e8f0 2019-04-19T07:01:35 Roll ./third_party/spirv-tools/src ac878fcbdd64..7aad9653f9a3 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ac878fcbdd64..7aad9653f9a3 Created with: gclient setdep -r ./third_party/spirv-tools/src@7aad9653f9a3 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: I088d283f1e042003064be7c5c52c15aafa1c8be6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575408 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 51386f4a 2019-04-11T21:55:20 Reland "Define and expose EGL_ANGLE_power_preference extension." This is a reland of ac58e63295f093b7518535bdd060ff832025b0c5 The original CL was reverted in a rush because I thought there was an uninitialized variable bug, but upon later re-review this turned out to not be the case. Original change's description: > Define and expose EGL_ANGLE_power_preference extension. > > Allows application to select the integrated or discrete GPU on > dual-GPU macOS systems. > > Tested by modifying the example program at: > https://github.com/grorg/ANGLEIOSurfaceTest > > and verifying that both integrated and discrete GPUs can be selected. > (The changes to that program will be upstreamed once some build issues > are resolved.) > > Bug: 2813 > Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: 2813 Tbr: geofflang@chromium.org Tbr: cwallez@chromium.org Change-Id: Iea000dd718f4f4b4f57237adb1dc44381b10106b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575419 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kai Ninomiya 145ec7fa 2019-04-19T01:50:34 Revert "Define and expose EGL_ANGLE_power_preference extension." This reverts commit ac58e63295f093b7518535bdd060ff832025b0c5. Reason for revert: Revert on kbr's request: "has an uninitialized variable bug" Original change's description: > Define and expose EGL_ANGLE_power_preference extension. > > Allows application to select the integrated or discrete GPU on > dual-GPU macOS systems. > > Tested by modifying the example program at: > https://github.com/grorg/ANGLEIOSurfaceTest > > and verifying that both integrated and discrete GPUs can be selected. > (The changes to that program will be upstreamed once some build issues > are resolved.) > > Bug: 2813 > Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,kbr@chromium.org,cwallez@chromium.org Change-Id: Icb936d91eec70deb825585da3ff8835ca2794736 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 2813 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575134 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Kenneth Russell ac58e632 2019-04-11T21:55:20 Define and expose EGL_ANGLE_power_preference extension. Allows application to select the integrated or discrete GPU on dual-GPU macOS systems. Tested by modifying the example program at: https://github.com/grorg/ANGLEIOSurfaceTest and verifying that both integrated and discrete GPUs can be selected. (The changes to that program will be upstreamed once some build issues are resolved.) Bug: 2813 Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 85a239d0 2019-04-18T15:47:52 Vulkan: Write docs on format tables. Bug: angleproject:3372 Change-Id: Ib6cae7975484f4789f3d244adcb158e49892a246 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574619 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0631e19b 2019-04-18T16:09:12 Vulkan: Rename Vulkan "Texture" format to "Image" Also adds some comments to vk_format_utils.h. Bug: angleproject:3372 Change-Id: I529b9b189e4cdfd400c3c981a47139727d9954ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565062 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 3b775865 2019-04-18T15:59:15 Skipped tests not accumulated in dEQP stats output. The sSkippedTests is not incremented in the kGpuTestSkip check in runTest, when it should be. Bug: angleproject:3390 Change-Id: I4aca73ba1bbe3060fc3c0cd27679c2276a30a741 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574620 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov d18c048a 2019-04-04T19:56:43 Remove Nexus 5X Vulkan test suppressions. SimpleStateChangeTest.DrawArraysThenDrawElements TextureUploadFormatTest.All VertexAttributeTest.UnsignedByteNormalized VertexAttributeTest.ByteNormalized EXTMultisampleCompatibilityTest.DrawAlphaOneAndResolve was skipped on all Android for unspecified reason in https://chromium-review.googlesource.com/c/angle/angle/+/451877 seems to be passing now. Make some suppressions OpenGL ES specific: MultisampleCompatibilityTest.DrawCoverageAndResolve RobustResourceInitTest.TexImageThenSubImage RobustResourceInitTest.ReadingPartiallyInitializedTexture RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly RobustResourceInitTest.MaskedDepthClear RobustResourceInitTestES3.MaskedDepthClearBuffer RobustResourceInitTest.MaskedStencilClear RobustResourceInitTestES3.MaskedStencilClearBuffer TransformFeedbackTest.OffsetResetOnBeginTransformFeedback Bug: angleproject:3262 Bug: angleproject:3124, angleproject:2657, angleproject:2797 Change-Id: I3ed7a3f0ebbb4598bff75e2b3bd8b3b0630779f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572484 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Michael Spang f02a767d 2019-04-09T18:45:23 Vulkan: Implement glTexStorageMem2DEXT This implements support for creating textures that alias vulkan images allocated inside external memory. Bug: angleproject:3289 Change-Id: Iad071f353a217793102ae737647c7cd572f7b0ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Shahbaz Youssefi 422c94bd 2019-04-12T13:37:19 Vulkan: Enable ES3 fragment output attribute locations GLSLTest_ES3 end2end tests are enabled for Vulkan, though with suppressions for other features that are missing. Bug: angleproject:3199 Change-Id: Ie744e160eab2df9a5a4f2c67ea5acf4b865ea5bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565058 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 2a7de6b7 2019-04-18T07:01:34 Roll ./third_party/spirv-tools/src 3aad3e9228b3..ac878fcbdd64 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3aad3e9228b3..ac878fcbdd64 Created with: gclient setdep -r ./third_party/spirv-tools/src@ac878fcbdd64 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: Ibd95960e4fa17658c31bcfa7da3f371e34c3c8f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573346 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5eb1a0b5 2019-04-18T07:01:10 Roll ./third_party/glslang/src 0527c9db8148..805b09f92203 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0527c9db8148..805b09f92203 Created with: gclient setdep -r ./third_party/glslang/src@805b09f92203 The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: I73619434cb093091c3a6d3a29784759e182b603b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573345 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
jchen10 82bcffa7 2019-04-17T10:45:25 Disable parallel compile for d3d11 compute To observe whether the flaky issues still show up with the feature disabled. Bug: angleproject:3349 Change-Id: I0eae861ad76212fb4a65b57c1e1b5e8c583d6a3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571027 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Jonah Ryan-Davis e3c7134c 2019-04-16T17:12:03 Add script to collect information from tests running on bots. Add scripts/generate_deqp_stats.py, which takes in a bot name and prints out a struct with the number of tests run/passed/failed/etc for each test suite that ran on the bot. Bug: angleproject:3369 Change-Id: Ie8086e1d0fb6b141afa388ad44711a798a3bbcd1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570111 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jonah Ryan-Davis 0f7a2330 2019-04-17T11:13:41 Modify test result output from dEQP tests for visualization script. Test results will now be prepended with [TESTSTATS], and there are two new outputs added for unexpected passes and unexpected failures. Bug: angleproject:3369 Change-Id: Iec4dafe695531dcf56d496083036ccf1e286ead7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571388 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 057b76e1 2019-04-12T14:48:59 Implement GL_CHROMIUM_lose_context. This is useful for testing context lost behaviour. BUG=angleproject:3379 Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 95c0fae6 2019-04-16T22:46:08 Vulkan: Clear surface images if emulated format This was done for renderbuffers but was missing for surfaces. Bug: angleproject:2722 Change-Id: I019805d6ca43eef86d2d46e7c72c1013803f2139 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570149 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 3b2c6bfd 2019-04-16T17:19:50 Vulkan: Implement glImportMemoryFdEXT Allow importing opaque file descriptors into memory objects on linux. Currently this just holds onto the file descriptor rather than calling vkAllocateMemory immediately. The latter will be easier once we have support for suballocation (anglebug.com/2162). Bug: angleproject:3289 Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 20a71631 2019-04-17T07:01:35 Roll ./third_party/spirv-tools/src 3335c61147d7..3aad3e9228b3 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3335c61147d7..3aad3e9228b3 Created with: gclient setdep -r ./third_party/spirv-tools/src@3aad3e9228b3 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: I9f5b217d748244b82001189f743c70de2d26a77e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571180 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jonah Ryan-Davis c832cdd7 2019-04-15T14:53:01 dEQP test_expectations parser should output an error on unused lines. dEQP test_expectations parser should allow nested overrides. When an expectation line is not used for any test, it's likely duplicated or misspelled, or the test was removed. The parser should output these errors to make it easier to keep the expectations up to date. Also necessary to allow longer/more specific expectations to override shorter ones, so the scenario where you FAIL one set of tests across platforms, and SKIP a subset of that group on one platform will still be allowed. Bug: angleproject:3368 Change-Id: If0470cb6fb12f8d3daa97df0c701185fa086668c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564725 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Sunny Sachanandani b8a8ffd3 2019-04-11T21:09:37 Add support for RGB10A2 in eglCreatePbufferFromClientBuffer Bug: chromium:937108 Change-Id: I689562ebff9f9f85ecb8af918bbb788b16b0f91b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565420 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Michael Spang e0da9cef 2019-04-16T14:34:51 Pack handle type enum for glImportMemoryFd & glImportSemaphoreFd Bug: angleproject:3289 Change-Id: Ic20b1d55641494b46622e1e28d93e2ca30655ea6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566143 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Sascha Kolodzey 50eb1e6f 2019-04-16T12:18:35 D3D: Update dynamic BufferUsage flags. Changed the mapping between gl::BufferUsage flags and D3DBufferUsage flags. Only gl::BufferUsage::DynamicDraw gets mapped to D3DBufferUsage::DYNAMIC now. This reflects a better mapping between GL and D3D. BUG=angleproject:3366 Change-Id: I5062f91fdb3664339e2c259b399d5f47401675d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569465 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mingyu Hu 7d64c486 2019-03-12T14:27:40 GL_ANGLE_multiview has been renamed to GL_OVR_multiview2. changes include: 1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change 2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported 3) WebGL 2 (ES3) is required for multiview Bug: angleproject:3341 Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez e02ad4d3 2019-04-16T14:12:37 Suppress tests crashing on teardown on Win Intel D3D11 BUG=angleproject:3349 Change-Id: Ib86f8b87d719919c980240d3220521a3c7f8a942 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569466 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
angle-autoroll bb1e670b 2019-04-16T07:01:35 Roll ./third_party/spirv-tools/src 102e430a88db..3335c61147d7 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/102e430a88db..3335c61147d7 Created with: gclient setdep -r ./third_party/spirv-tools/src@3335c61147d7 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=cwallez@google.com Change-Id: I0b0e3294b65fe060cf5f68c7b11a4c672d808522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1568762 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Qin Jiajia e7da32f1 2018-12-27T15:31:47 Fix the failure in UpdateImageTextureInUse If we update the texture data between two dispatch calls, ReadPixels can't get right result after the second dispatch call. The failure reason is that after the first dispatch, ReadPixels will sync framebufer state which will update color render target. Finally, TextureD3D::ensureRenderTarget is reached. However, we are in compute pipeline. mTexStorage->isRenderTarget() will be false. That results the current texture will create a new render target storage. But the UAV is still bound with the previous texture storage. If there is no texture dirty bit between these two dispatch calls, applyTexturesForCompute won't be called. After the second dispatch, readPixels will read data from the new texture storage which is not updated. Bug: angleproject:3015 Change-Id: Ib2494ab8bf6e12faefc0a7370719d383526c36ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1390710 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jonah Ryan-Davis ccd91316 2019-04-12T14:13:22 Use primaryGPUIndex over activeGPUIndex when determining the system GPU. Mac OPENGL/AMD dEQP test suppressions were being ignored because in SystemInfo the activeGPUIndex was used when the primaryGPUIndex should have been used. Bug: angleproject:3373 Change-Id: I2664049b956bf8903c6d7094ec27646766e7ce16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565056 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi d3ec341d 2019-04-10T11:37:07 Fix LineLoopStateChangeTest to actually draw square and hourglass The test claimed to be drawing an hourglass followed by a square. That is: ---- \/ /\ ---- followed by: ---- | | | | ---- With the end result being: ---- |\/| |/\| ---- However, in reality it was drawing two hour glasses with the same result. That is: ---- \/ /\ ---- followed by: |\/| |/\| Bug: angleproject:3361 Change-Id: I59a2930f78e6e448b6ccb2e5f70c73ff0f15a2ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561650 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 5646a7cc 2019-04-12T16:42:56 Uniform buffers not dirtied for gl_VertexID workaround on D3D11. Related to: https://chromium-review.googlesource.com/c/angle/angle/+/1520988 The program uniform buffers were dirtied for this edge case, but it should have been the driver uniform buffers. This CL fixes this and adds a tests case which catches this. Bug: 945903 Change-Id: I6142771e200513ed0251fc97cec68d371d39ec1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565059 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shrek Shao <shrekshao@google.com>
Jamie Madill 2664da8b 2019-04-08T16:26:52 Correct texImage uses of texture type -> target. Similarly to how the subImage calls were corrected. glTexImage and the family of related functions apply to a single texture target. This means we need a different TexImage call for each cube face. This is distinct from TexStorage calls which take a Cube map directly. Note this is mostly a refactoring change. But it does increase code consistency and should allow for more efficient code reuse. Bug: angleproject:3356 Change-Id: I252f8983cdda3a8f0223c44cbbe8d8e2dd319a88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558673 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang ba9a21af 2019-04-15T09:25:25 Update suggested reviewers documentation. BUG=angleproject:1944 Change-Id: I17becf44a86969c0929e51b548cf90220027fb75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565060 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 639729c3 2019-04-15T07:01:35 Roll ./third_party/spirv-tools/src 98b3f26c2f1f..102e430a88db (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/98b3f26c2f1f..102e430a88db Created with: gclient setdep -r ./third_party/spirv-tools/src@102e430a88db The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=ynovikov@google.com Change-Id: I367824273259bd2a34cce14d89d67354496b9c15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1567286 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 065f8dc3 2019-04-11T12:56:00 Vulkan: Set appropriate GL conformant bit for returned configs The Khronos conformance tests only test configs that have the conformant bit set. ANGLE is currently targetting OpenGL ES 2.0 conformance, so this change is setting the EGL_OPENGL_ES2_BIT bit to indicate this. ES 2.0 conformance reporting is being restricted by ANGLE_VULKAN_CONFORMANT_CONFIGS_ONLY for official builds, but ES 3.0 conformance will be reported for builds without ANGLE_VULKAN_CONFORMANT_CONFIGS_ONLY enabled. Bug: angleproject:3374 Test: CQ Dry Run Change-Id: Ie31f63c3ea3b7bddfceec80ebc28f079ffd363df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564717 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Courtney Goeltzenleuchter 8f0210f7 2019-04-10T10:44:10 Always enable NPOT for Vulkan backend Vulkan natively supports non power-of-two textures so indicate that support for front-end. Bug: angle-project:3239 Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_texture_completeness_2d_npot_t_repeat --use-angle=vulkan Change-Id: Id9058b6e9afd1d43e5d74612f808ce39beafd35f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561963 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ben Wagner 1e064014 2019-04-12T14:10:17 Fix 'not all control paths return a value' and add to extra_warnings Bug: angleproject:3356 Change-Id: I9831b2035bc1e887c6d5a68a444e69e2bf5aa60a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565055 Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 23667b7e 2019-04-10T12:49:56 Update test result output from ANGLE dEQP gtests. * prints lines for total, passed, failed, not supported, skipped, and exception results. * prints unexpected passed and failed tests each individually using the dEQP name of the test. * moves skipped test detection into the test loop. skipped tests will now print a message that they've been skipped. Bug: angleproject:3369 Change-Id: Idbfc0154a658eda3f52b5bfd30fbff0860a00133 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561970 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6c85037d 2019-04-12T12:49:29 Move ANGLE CQ to linux-angle-rel and mac-angle-rel. This will allow mac_angle_rel_ng and linux_angle_rel_ng to be removed. Bug: chromium:822310 Change-Id: I259f84c195ed4cfde17a441bf13d812a477537d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565053 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4877ef35 2019-04-12T10:36:00 Ensure deleteTexture preserves correct texture cache. Also adds a test contributed by jgilbert@mozilla.com. Bug: angleproject:3375 Change-Id: Ibd52daa074bf53b2b213193ccf5a612705a89c67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565052 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0e30681d 2019-04-10T15:09:53 Vulkan: Add design docs on line segment raster. The docs are based on an internal google document available at go/vangle-line-rasterization. The link won't work for non-Googlers. Also cleans up the format of the markdown file somewhat. Bug: angleproject:3344 Change-Id: Ic466c44099e25f12b9afc4565bbd0fe37097af9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561969 Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill df5ae9f6 2019-04-11T14:49:23 Vulkan: Write design doc explaining SPIR-V generation. The two-pass approach first uses ANGLE's shader translator followed by glslang. The doc explains it in more detail with links. Bug: angleproject:3345 Change-Id: I04fd31993e3cd62ac409f2696e18f7ec39e5c6ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560252 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov a95940c6 2019-04-12T10:54:05 Suppress flaky dEQP 3.1 test functional.shaders.builtin_functions.uniform.findLSBMinusOne.highp_compute on D3D11 Bug: angleproject:2619 Change-Id: Ia7a83429d03b871967d2d6c5ecd3ce82111b98fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565427 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 9af10e8a 2019-04-11T16:20:57 Incorrectly placed extension directive is an error The ESSL 1.00 spec states "...the extension directives must occur before any non-preprocessor tokens." This change makes the occurance of an extension directive after non-preprocessor tokens a compilation error. Bug: angleproject:3285 Change-Id: I9f8631366151c92fb6d8b4408596917012d9a3e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565411 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Nico Weber 0de5b648 2019-04-11T22:11:13 Remove explicit -Wextra-semi, -Winconsistent-missing-override flags. They're enabled via the chromium_code config already these days. No intended behavior change. Bug: chromium:926235,chromium:428099 Change-Id: I6927d6e3ec85f40454da61969d7a22dfabef1bde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564781 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
angle-autoroll e6f4515a 2019-04-12T07:01:35 Roll ./third_party/spirv-tools/src 82ebbbba15c2..98b3f26c2f1f (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/82ebbbba15c2..98b3f26c2f1f Created with: gclient setdep -r ./third_party/spirv-tools/src@98b3f26c2f1f The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=ynovikov@google.com Change-Id: I6b754fbe2656eca4ceb730919a47206fb7eb5b60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565771 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill cfc73cc1 2019-04-08T16:26:51 Correct subImage uses of texture type -> target. Texture "types" are the same as texture "targets" except for cube maps. Cube map targets specify a single face. Cube map types specify a whole cube map. The subImage functions should take a target instead of a type. We were using both in different places. This CL corrects all uses in subImage calls to "target". It also adds a helper for getting a target texture from a target. And clarifies the naming of the texture query methods. Bug: angleproject:3356 Change-Id: I06eb5c5666eec9b8934becf2ba57a066d5cdabde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558672 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov e29b61e6 2019-04-11T17:02:42 Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms Flaky on Win NVIDIA D3D11 Bug: angleproject:3359 Change-Id: I56a0e4266f1cd0913852a43852666dee055a8e00 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564562 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>