src/tests


Log

Author Commit Date CI Message
Tim Van Patten 6a39c8cc 2020-11-12T11:29:54 Vulkan: Skip copy_tex_image_conversions.* on Pixel 2 The dEQP tests KHR-GLES3.copy_tex_image_conversions.* are crashing on Pixel 2 after outputting many VVL errors: VUID-vkAllocateMemory-maxMemoryAllocationCount-04101 Skipping the tests for now to unblock the VVL rolls. Bug: angleproject:5340 Change-Id: I8e7606da5262454bbc8c8658886e03f05265c24f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Charlie Lao 15ead5d5 2020-11-02T12:25:32 Reland "Vulkan: Let shader use rotation specialized constant" This is a reland of 47b3db22be33213eea4ad58f2453ee1088324ceb Original change's description: > Vulkan: Let shader use rotation specialized constant > > If use rotation specialized constant is enabled via compiler options, > this CL will use rotation specialized constant to generate flipXY, > rotation matrix and negFlipXY. This allows the driver to optimize for > the minimum instructions for rotation. > > Bug: b/171750979 > Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> Bug: b/171750979 Change-Id: I9efde40eb138bacb161cce483a30ec01fee0983b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533933 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e6a302a0 2020-11-07T10:49:15 Vulkan: Move vk::CommandQueue to RendererVk. This consolidates most of the command processor vs queue logic in one place. It also has a number of incidental changes related to fences: - syncs now do not store a shared fence. instead they call command apis to wait for a particular serial with a timeout. this is not yet fully implemented in CommandProcessor. - surface swap history stores a serial instead of a fence. because the RendererVk class stores the command batches, we no longer have to do messy things with ContextVk. - it is no longer possible to ask for a wait on a serial that isn't in the command queue. Also adds mutex synchronization around the RendererVk methods. Bug: angleproject:5217 Bug: b/172704839 Change-Id: I5faf0e24bb6ede79a927ab149b80bfa8baca4620 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill fb34c93d 2020-11-09T19:30:17 Perf Tests: Add mutex around trace events. This prevents a race where two threads try to write events simultaneously. Bug: b/172704839 Change-Id: Idd2f3b1c2a393488ea2270b91d579dc8630e59d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533496 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten e4acbac6 2020-11-12T15:57:52 Revert "Suppress RenderbufferBlitFramebufferTest" This reverts commit 4a74427ee30e0e0c9eaf0ddb1eb7dc7a6171d5a4. Reason for revert: Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311 Original change's description: > Suppress RenderbufferBlitFramebufferTest > > The test > MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is > generating VVL errors with the latest VVL roll: > VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter > > Suppressing the test rather than the VVL error, so the VVL can still > catch any new cases of this error while the test is investigated. > > Bug: angleproject:5331 > Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest > Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658 > Commit-Queue: Tim Van Patten <timvp@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I70a869453c4a42106204e3d9a1b63e59d649b483 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535072 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten e5030b5b 2020-11-12T15:56:56 Revert "Suppress Additional MultisampledRenderToTextureES3Test" This reverts commit 3c3edc3b761e3ac6543827d41b97f7e0861ac75e. Reason for revert: Need to suppress VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter entirely: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2311 Original change's description: > Suppress Additional MultisampledRenderToTextureES3Test > > The following tests are generating the VVL error > VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter > > MultisampledRenderToTextureES3Test > - BlitFramebufferTest() > - RenderbufferUnresolveColorAndDepthThenTwoColors() > - RenderbufferUnresolveColorAndStencilThenTwoColors() > > Suppressing them for now. > > Bug: angleproject:5331 > Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710 > 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 Change-Id: I7a941acbf94cc9e4dab662aa32a236c09a7d021d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535071 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 3c3edc3b 2020-11-11T11:49:56 Suppress Additional MultisampledRenderToTextureES3Test The following tests are generating the VVL error VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter MultisampledRenderToTextureES3Test - BlitFramebufferTest() - RenderbufferUnresolveColorAndDepthThenTwoColors() - RenderbufferUnresolveColorAndStencilThenTwoColors() Suppressing them for now. Bug: angleproject:5331 Change-Id: Ia97def4a798677e0b5f663ba7679de61c673b0c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532710 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya 15d5965d 2020-11-10T15:59:37 Vulkan: Support VK_KHR_image_format_list for PbufferSurfaces PbufferSurfaces are now created with VK_KHR_image_format_list extension support enabled. Bug: angleproject:2514 Bug: angleproject:5281 Test: PbufferTest.ClearAndBindTexImageSrgb*Vulkan Change-Id: I8977484c958328d00f688faa7adffff85a37a3b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530535 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 4a74427e 2020-11-11T09:28:14 Suppress RenderbufferBlitFramebufferTest The test MultisampledRenderToTextureES3Test::RenderbufferBlitFramebufferTest() is generating VVL errors with the latest VVL roll: VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-parameter Suppressing the test rather than the VVL error, so the VVL can still catch any new cases of this error while the test is investigated. Bug: angleproject:5331 Test: MultisampledRenderToTextureES3Test.RenderbufferBlitFramebufferTest Change-Id: I473ee57fe16c1f5cf325004912ef2bc5b9ced0d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532658 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 89653b97 2020-11-11T09:23:18 Suppress VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad The test VulkanPerformanceCounterTest::DepthStencilTextureClearAndLoad() is flaky on the Windows AMD bots, so suppressing for now. Bug: angleproject:5329 Test: VulkanPerformanceCounterTest.DepthStencilTextureClearAndLoad Change-Id: I546cd18e319c0b73554fb3ce1e70c75be2168015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532703 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 38016632 2020-11-11T08:04:45 Vulkan: Enable async feature in end2end_tests. This adds a new async-command-queue-enabled config that we run against most of the GLES tests in angle_end2end_tests. The tests now test both with and without the threaded command queue. Bug: b/172704839 Change-Id: Ife75f8328f23ac150cddf8ad8a6c4b8fc2d83986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532655 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten c3607098 2020-11-11T16:06:51 Revert "Vulkan: Let shader use rotation specialized constant" This reverts commit 47b3db22be33213eea4ad58f2453ee1088324ceb. Reason for revert: Broke the ANGLE roll into Chromium: https://chromium-review.googlesource.com/c/chromium/src/+/2531069 [1875/27343] SOLINK ./libGLESv2.so FAILED: libGLESv2.so libGLESv2.so.TOC /b/s/w/ir/cipd_bin_packages/cpython/bin/python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm" --sofile="./libGLESv2.so" --tocfile="./libGLESv2.so.TOC" --output="./libGLESv2.so" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-soname="libGLESv2.so" -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort -m64 -Werror -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath=\$ORIGIN -Wl,--export-dynamic -Wl,-rpath=\$ORIGIN -o "./libGLESv2.so" @"./libGLESv2.so.rsp" ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFlipXYRef(sh::TVariable const*) >>> referenced by RewriteDfdy.cpp:134 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:134) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a >>> referenced by RewriteDfdy.cpp:200 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:200) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithoutRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a ld.lld: error: undefined symbol: sh::TranslatorVulkan::GetDriverUniformFragRotationMatrixRef(sh::TVariable const*) >>> referenced by RewriteDfdy.cpp:136 (../../third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp:136) >>> translator/RewriteDfdy.o:(sh::(anonymous namespace)::Traverser::visitUnaryWithRotation(sh::Visit, sh::TIntermUnary*)) in archive obj/third_party/angle/libtranslator.a clang: error: linker command failed with exit code 1 (use -v to see invocation) Original change's description: > Vulkan: Let shader use rotation specialized constant > > If use rotation specialized constant is enabled via compiler options, > this CL will use rotation specialized constant to generate flipXY, > rotation matrix and negFlipXY. This allows the driver to optimize for > the minimum instructions for rotation. > > Bug: b/171750979 > Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> TBR=ianelliott@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: Id3976259d1f4049aa62b679ad5b25c2ac337c92b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/171750979 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532702 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 246de6ba 2020-11-11T12:32:39 Revert "Created test and fixed texture storage bug in d3d11" This reverts commit 03f3ba5b1454ee7c15cd9391e77307cf1d274b48. Reason for revert: Suspected for causing Dawn tests failure: SharedImageGLBackingProduceDawnTest.Basic https://chromium-review.googlesource.com/c/chromium/src/+/2530246 Original change's description: > Created test and fixed texture storage bug in d3d11 > > Bug: b/172489285 > Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,vantablack@google.com Change-Id: Ic0be42e070c9b9b986b724d2aa74cfdeff375245 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/172489285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532654 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 47b3db22 2020-11-02T12:25:32 Vulkan: Let shader use rotation specialized constant If use rotation specialized constant is enabled via compiler options, this CL will use rotation specialized constant to generate flipXY, rotation matrix and negFlipXY. This allows the driver to optimize for the minimum instructions for rotation. Bug: b/171750979 Change-Id: I9851ac999d4d35b9f230f796e5445bca0dcb1e77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514773 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Trevor David Black 03f3ba5b 2020-11-04T13:16:31 Created test and fixed texture storage bug in d3d11 Bug: b/172489285 Change-Id: If7d88cf50d99da3380082c60fb3936ae0b20c4e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519876 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao b22f8e8e 2020-10-29T15:50:39 Vulkan: Add specialization constants for surface rotation This plumbing through the specialization constant for surface rotation from ContextVk to pipeline program creation. It has not been used yet, so expecting no real functional change. This CL also converts lineRasterEmulation to use the same specialization constant path as surface rotation. Bug: b/171750979 Change-Id: Ic08c4f8bb576424d1752015e874d0977a58d78bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508837 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 8305ebd4 2020-11-03T18:42:04 Add tests to show bad waitSync/flush behavior Add the following tests to show ANGLE's poor behavior with glWaitSync/glFlush leading to a vkQueueSubmit each time: FenceSyncTest::MultipleFenceDraw MultithreadingTestES3::MultithreadFenceDraw MultithreadingTestES3::MultithreadFenceTexImage Bug: angleproject:5306 Test: FenceSyncTest::MultipleFenceDraw Test: MultithreadingTestES3::MultithreadFenceDraw Test: MultithreadingTestES3, MultithreadFenceTexImage Change-Id: I16f653af028677e3c621c3b9a7fd5963fa03d656 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519092 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Mohan Maiya a391674c 2020-11-09T16:16:49 Vulkan: Support VK_KHR_image_format_list for RenderBuffers RenderBuffers are now created with VK_KHR_image_format_list extension support enabled. We only enable those tests where the EGL image's source is a RenderBuffer but not those tests where the EGL image's target is a RenderBuffer. There are some corner cases related to glReadPixles that need to be resolved to unblock those tests. Bug: angleproject:3756 Bug: angleproject:5281 Test: ImageTest.SourceRenderbuffer*Vulkan Change-Id: I643a9d74d14473cc7df59fa6e25acab7d1c9aad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2528475 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 98035e11 2020-11-09T17:55:39 Capture/Replay: Split into separate shared libaries. This will produce several smaller shared libs rather than one very large one. Involves moving the trace loader to its own shared module as well. Because the traces didn't have export labels on most of the affected functions I had to use a "force include" argument on the compiler. We can remove this once we re-capture. This is a first step towards testing one trace at a time on an Android device. Includes a complete set of new regenerated traces. Bug: angleproject:5133 Change-Id: If984de34af21fce48b0832401dbe5aa4b002ce95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506199 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 36787dcb 2020-11-04T23:06:47 Vulkan: Fix PBO assuming color images Bug: b/172354898 Change-Id: I777eaa33ddac853492d38a03c16caeddad0c2d16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520108 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Mohan Maiya 72001c7d 2020-11-07T12:33:01 Vulkan: Bug fix in texture respecification code When a target texture is created from an EGL image, respecification of the texture needs to take into account the fact that it din't own the ImageHelper. Refactor copy and stage code to account for this possibility as well. Bug: angleproject:3756 Bug: angleproject:5281 Test: ImageTest.Source2DTarget2DTargetTextureRespecify* Change-Id: I2e3bd5d1d64e85da521a841423cfe24673efe88f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524703 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 580b775f 2020-11-09T14:57:28 Traces: Use 4 download threads. This should significantly speed up checkout on dev machines. Bug: angleproject:5133 Change-Id: Iba20182c600ea8e17de47bb4e84b2e4191d301d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2527721 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 489f2c83 2020-11-06T17:24:28 Perf Tests: Trace multiple threads. This uses a little helper list to map thread IDs into simple serials that we output as 'tid' in our trace JSON file. We can use this to analyze the behaviour of the command processor thread. Bug: b/172704839 Change-Id: Ic1b5f3ec8427cb310833d1f589503daec4812681 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524542 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3806696c 2020-11-06T23:04:35 Fix expectations file for prerotation dEQP executables Bug: angleproject:4901 Change-Id: Ibc930a27887a3ba710168a9b122d46aac1530984 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523548 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 34130c2e 2020-11-07T15:11:14 Vulkan: Rewrite interpolateAtOffset to account for Y-flip In order to fully suppot OES_shader_multisample_interpolation rewrite interpolateAtOffset's offset parameter to account for Y-coordinate flip. Bug: angleproject:3589 Tests: dEQP-GLES31.functional.shaders.multisample_interpolation. interpolate_at_offset.*.default_framebuffer Change-Id: I6bf72ceb1c0466ff5d4a92b72d1ec9e2552d6f2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524711 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 06eaaac5 2020-11-06T16:33:13 Fix trace writing in angle_perftests. We can use this to produce AGI-like reports in standalone desktop. Bug: b/172704839 Change-Id: Ifc510232e3da81210e22429b6cea9800e2723e06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524540 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya a5e0a4bc 2020-11-08T11:10:12 Vulkan: Support VK_KHR_image_format_list for AHB backed EGL image AHB backed EGL images create the VkImage through external sibling images. Create those images with VK_KHR_image_format_list extension support enabled. Bug: angleproject:3756 Bug: angleproject:5281 Test: angle_end2end_tests.exe --gtest_filter=ImageTest*SourceAHB*Colorspace*Vulkan Change-Id: I28c22f9d2f2423daa9228e4d42772b380ab7b8b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525109 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 9217d49d 2020-11-08T09:18:33 Vulkan: Add EXT_external_buffer entry points Addition of the entry points for EXT_external_buffer extension. Bug: angleproject:5073 Change-Id: I5dc9f74dfd68c1e83e17ca15166df4cd4c20fca2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525104 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d4439824 2020-11-08T16:17:20 Gold Trace Tests: Fix JSON output with empty test set. Previously we would leave an empty test suite name with no tests run. According to the JSON test results spec this is likely a malformed output and we should instead include just an empty "tests" key. Bad: "tests": { "angle_restricted_trace_gold_tests": {} } Good: "tests": {} Bug: angleproject:5299 Change-Id: I459da593df150d804130f9c63e05d031e77a16a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525147 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 18fcb4ad 2020-11-06T07:22:17 Vulkan: Enable a subset of ImageTest colorspace tests This patch does the following - 1. Expose EGL_KHR_image_gl_colorspace only if the underlying ICD supports VK_KHR_image_format_list extension 2. Create VkImageViews from EGLimage's format 3. Fix bugs in ImageTest colorspace tests Bug: angleproject:3756 Bug: angleproject:5281 Test: angle_end2end_tests.exe --gtest_filter=ImageTest*Colorspace*Vulkan Change-Id: I618ae009e83d0a6b27a0a50165f736784717e404 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523670 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 21eb41ac 2020-11-05T16:54:25 Generate executables for prerotation deqp tests This change generates angle_deqp_gles*_rotate*_tests executables which choose the appropriate mustpass file. Bug: angleproject:4901 Change-Id: Ie6ac4b80d480b0f590b5baf1fa244fd601b5beed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522415 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 43acf3ba 2020-07-31T15:43:57 GL: Compiler changes for GL_OES_texture_buffer This extension is core in GLES 3.2 This CL enables the extension, added 412 new dEQP tests for texture buffer. 410 of these tests pass, but there are two tests that fail, detailed in anglebug.com/4933 Also includes a fix for completeness checks. Based on a CL by Jonah Ryan-Davis. Bug: angleproject:3573 Bug: angleproject:4933 Change-Id: I45759d765c88c64f21b592eab01d910dc4bc8da3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521239 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 4323ed0c 2020-11-06T12:45:12 Perf Tests: Fix test time with max steps performed. This lets the default test time be 10 minutes when using a maximum steps value. This will prevent the current 10 second limit from kicking in and aborting. Also changes the --test-time override to be more clearly a calibration time, and adds a new --test-time that lets the user override the actual trial test time. Bug: b/172480147 Change-Id: I630aa8d3c9e118bb5f0100b38f37e717e12f3538 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523371 Reviewed-by: Paul Thomson <paulthomson@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 6507c1ed 2020-11-05T23:21:17 Tests: Add Clash of Clans trace Note: Hand edits required to compile this trace. ANGLE_REPLAY_EXPORT was removed from each of the entry points in the header. See build logs in patch set 1 of this CL for full output. Test: angle_perftests --gtest_filter="*clash_of_clans*" Bug: b/172626835 Change-Id: I63bab8f059a2c73c0a2fcd5b70fd92abf3bd4650 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521180 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Antonio Maiorano 940dc786 2020-11-05T13:54:56 Re-enable GLES31 test that is no longer flaky Fixed by: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50008 The specific flaky crash was reported here: https://bugs.chromium.org/p/angleproject/issues/detail?id=4482#c15 Bug: angleproject:4482 Change-Id: Ia77b4b094446d14866bee5fd461a0a4eea52491e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521237 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Jamie Madill af16c638 2020-11-06T09:50:51 Perf Tests: Add --max-steps-performed argument. This will limit the total number of steps run in the test. When using this argument we skip warmp & calibration. Renames the prior --steps argument to --steps-per-trial. Bug: b/172480147 Change-Id: Iae7cce26d66ca0bbdb21c1f511a6bfa246bd204e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519404 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi bb5848d8 2020-11-06T10:12:29 Vulkan: Remove vertex attribute aliasing suppressions Some suppresions on the GLES3 dEQP expectations file were not removed. Bug: angleproject:4249 Change-Id: Idcf2da50bb4ae4e6feb62fdb1d44d78aba9041a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522420 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2d964a47 2020-10-30T16:46:30 Vulkan: Defer clears even if following command is scissored Take the following scenario: 1. glClear 2. glScissor(half of framebuffer) 3. glDrawArrays The clear in step 1 is deferred. When FramebufferVk::syncState is called in step 3, the deferred clear was applied using vkCmdClearColorImage because the draw call is scissored. This causes loadOp=LOAD to be used after the clear because the render pass is started too small (the same size as the scissor). This change makes scissored operations also take advantage of loadOp=LOAD with deferred clears. A number of changes are made to this effect: - FramebufferVk::syncState no longer limits collecting deferred clears to no-scissor. - FramebufferVk::startNewRenderPass automatically expands the render area to full size if it's clearing any attachment. - A number of bugs are fixed where FramebufferVk::flushDeferredClears is called with the scissor area. Instead, flushDeferredClears now unconditionally uses the complete render area. Note that these bugs didn't have symptoms as "scissor" and "deferred clears" were mutually exclusive. Bug: angleproject:4988 Change-Id: I24fc3d88bf9c8998869b36c863692d0f0acce994 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2511371 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 56ea854e 2020-10-13T15:57:07 Metal: Allow unswizzled BC1 RGB Refine DXT1CompressedTextureTest.DXT1Alpha to pass on more configurations. Fix the test's payload so that all 16 pixels use code 3. Refine texture swizzling detection. Bug: angleproject:2634 Bug: angleproject:5049 Change-Id: If9e1ab63220170a54954234ea205e19583b0df0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2467896 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill c07bd2f2 2020-11-05T08:58:14 Ensure trace test failures are unexpected. This will make the names of the failures show up in Milo. Bug: angleproject:5310 Change-Id: I64e1f5ffff04ec70a44f8f3d0c339da2bca6b216 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2520539 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brandon Schade 1e494cae 2020-10-07T19:26:01 Vulkan: Add support for EXT_copy_image Add support for GL_EXT_copy_image which allows image data transfer between image objects. This is implemented by using the vkCmdCopyImage API call. Bug: angleproject:3593 Test: dEQP-GLES31.functional.copy_image.* Change-Id: I30a34a8711b5d2e5834064d7453e03d6ec0df478 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393955 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 658ede5d 2020-11-04T15:53:09 LuminanceWorkaroundTextureSwizzleBug test bug fix This test would create an sRGB format texture without checking for the GL_EXT_texture_sRGB extension. Skip the test if it is not supported. Bug: angleproject:5281 Change-Id: I491e874201c26c9f828772a0fbebaea307ab57a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519865 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang fa616931 2020-09-03T14:58:03 Mark uniform samplers in an array unused per element https://bugs.webkit.org/show_bug.cgi?id=215630 Fix an issue with the OpenGL backend where entire arrays of uniforms would be marked as unused if a single element was reported as unused by the driver. Bug: angleproject:5006 Change-Id: I9bbb75a5f113472393e8d9f1fb60a7865aa9529a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486540 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Shahbaz Youssefi a0e91016 2020-10-30T10:01:36 Vulkan: Don't break the render pass on scissor change Prior to this change, the render area was decided when the render pass was started, and remained fixed. If a small scissor was initially used, this created a render pass with a small area. If then the scissor region was expanded, the render pass was broken. This change instead expands the render area on scissor change to avoid breaking the render pass. If glInvalidateSubFramebuffer previously successfully resulted in storeOp=DONT_CARE, this optimization may need to undo that. As a result, the invalidate area is stored in the render pass and if the render area grows beyond that, invalidate is undone. Bug: angleproject:4988 Change-Id: I4e8039dec53a95a193a97cb40db3f71e397568d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508983 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6372a56f 2020-11-04T14:07:03 Gold trace tests: Add logging for filter misses. The prior fix still didn't work. Add logging to debug why. Bug: angleproject:5299 Change-Id: I758cfa87066e1cdf4a5d1289c030943e9bded58d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519400 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6ef8f848 2020-11-04T11:10:48 Trace Gold Tests: Fix filter name. Was incorrectly checking the individual test name instead of the full name including the test suite. Bug: angleproject:5299 Change-Id: I60df15bf1a748ce24d54f56b48ffe6eaca2ba54b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519396 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen ca8b58d7 2020-10-25T22:32:45 Metal: Enable dEQP GLES3 tests on AMD Bug: angleproject:2634 Bug: angleproject:4235 Change-Id: I159b635b9d02b019a2012da24801a4bdd090961e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497340 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 8a275449 2020-10-25T03:22:10 Metal: Add ES3_METAL to ANGLE_ALL_TEST_PLATFORMS_ES3 Bug: angleproject:2634 Change-Id: Iacc3aaf17565c7b16879897db4b9dac16826d829 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494526 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 9ff063e9 2020-10-25T03:08:25 Metal: fix max varyings, copyImage between mips, depth fmt - GLSLTest_ES3.MaxVaryingWithFeedbackAndGLline failed before because gl_Position takes up one slot from max varyings on Metal back-end. FIXED - Previously, copyImage() between mips of the same texture would fail. Due to the read RenderTargetMtl is released before the copy happens. FIXED - GL_DEPTH_COMPONENT24 texture data upload didn't work due to the source 32 bit depth data wasn't handled properly. FIXED - D24S8 format will be disabled on AMD for now, it will be converted to D32S8 instead. Bug: angleproject:2634 Bug: angleproject:5235 Bug: angleproject:5242 Change-Id: Ie7082f0545c0885ce5ec72df8a7ec4ee5d5de4b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494525 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen cb6176f3 2020-09-29T01:08:00 Metal: Support tri-fan & line-loop with primitive restart Triangle fan: - If primitive restart is NOT enabled and there is no active render pass, use Compute Shader to generate indices. - If primitive restart is enabled, use CPU to generate indices. Line loop: - If draw non-instanced without primitive restart, generate and draw only one additional last segment (fastest). - If draw instanced, primitive restart is NOT enabled, and there is no active render pass, use Compute Shader to generate indices (OK). - Otherwise, use CPU to generate indices (slowest). Also Disable OcclusionQueriesTest.ClearNotCounted failure on NVIDIA. Bug: angleproject:2634 Bug: angleproject:5307 Change-Id: Ia5529825807a964f5fcb2a4af8844778896cd42a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2435859 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 265c5fa9 2020-11-02T21:50:25 Vulkan: Fix scissor update in FramebufferVk::syncState A previous change [1] made FramebufferVk::syncState update scissor and rasterization samples only when the DRAW framebuffer is synced. This is incorrect as the READ framebuffer is synced before the DRAW framebuffer, and if the two are the same, the latter is discarded. Very few functions sync both READ and DRAW framebuffers when they are identical. A test is tailored to expose this bug. [1]: https://chromium-review.googlesource.com/c/angle/angle/+/2510013 Bug: angleproject:4988 Change-Id: I6123ac18dded938171bc90a04d4d81f1b42a1694 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515742 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 8afe3f17 2020-11-03T10:55:31 Vulkan: Fix use of uninitialized data in staged clears When depth/stencil data are staged, only the depthStencil field of VkClearValue is initialized. However, when comparing staged clears, memcmp is used which also compares the extra bytes in the aliasing color field. Bug: chromium:1144491 Change-Id: Ic384ba792e9fd199d8e9c3e534ccdc6ea65ee9b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517244 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 302f234d 2020-11-03T14:55:55 Gold Trace Tests: Handle test filter. This will allow the Chromium recipe retry mechanism to work properly. That in turn will let the recipe properly fail tests that pass without the patch and fail with the patch. Bug: angleproject:5299 Change-Id: Ic744e125779c6bc6a091e1ed89ac1be6b97fd942 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518172 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3e5b6f81 2020-10-31T12:33:28 Enable writing histogram-set-json-format. This uses the protobuf histogram functionality to build up a histogram set. The test suites then output the histograms to JSON. This is only implemented for angle_perftests. Bug: angleproject:5161 Change-Id: Ia5a7868e8d8dcf4f13d83115ae622828c63ef0d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482295 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 39adaeb0 2020-11-03T13:15:41 Don't print reuse warning when forcing new displays. Bug: angleproject:5274 Change-Id: I2c21a0f097398c508cc116217e3cb97d78a795b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518241 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Xiaoxuan Liu 61180d01 2020-10-12T16:40:13 Reland "Add support for Linux vulkan backend with VK_KHR_display" This is a reland of a7bb6a9b15ddeb8497523f8871deb25de2676d9f Original change's description: > Add support for Linux vulkan backend with VK_KHR_display > > Implement Linux simple display mode with vulkan backend > through VK_KHR_display. > > Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for > attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify > the new simple display mode. Also reserved > EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode. > > How to enable: > Add > > ``` > use_x11=false > angle_vulkan_display_mode="simple" # default value > ``` > > into args.gn, then compile with linux vulkan args. > > Bug: angleproject:5214 > Change-Id: I1247585b9de8b55df106aba99322281f1c183203 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:5214 Change-Id: I3921f6cb292c86658f39e739a878baad1ef64dba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515327 Commit-Queue: Xiaoxuan Liu <xiaoxuan.liu@arm.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c06a424f 2020-11-02T21:13:39 Test Runner: Robustly handle unexpected crashes. This adds the ability for the test runner to parse unexpected crashes from the stdout. It also processes the stdout to determine which tests failed. Tests that run after the crash are re-tried in a follow-up child process. Will allow for the test runner to handle very crashy test suites and also processes crashes from win-asan and other configs where it is harder to intercept crashes. Bug: angleproject:5251 Change-Id: Iee03130622571580cb7910f4fb097fe3659d75ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513288 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Mohan Maiya 3fcf17e6 2020-11-02T12:51:35 Vulkan: Bug fix in sRGBDecode logic When a sampler's GL_TEXTURE_SRGB_DECODE_EXT state was toggled between GL_DECODE_EXT and GL_SKIP_DECODE_EXT VkImageViews of the TextureVk object were not being updated. Add sRGB_decode state as part of ImageViewSubresourceSerial so we retrieve the correct VkImageView from the texture cache. Bug: angleproject:3609 Tests: angle_end2end_tests --gtest_filter=SRGBTextureTestES3.SRGBDecodeSamplerParameterToggle*Vulkan Change-Id: I897e461957d408b5a5b4f03fefc05f2e9684c7b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514900 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 59fbb989 2020-11-02T13:27:52 Test Runner: Add ability to retry flaky tests. Bug: angleproject:5273 Change-Id: Ie89559bb0897a04213981aa8fe4e2f2bfe78959a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513287 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 924c3dab 2020-11-02T13:08:16 Expand suppression of new EGL test. This test fails on the older N6P device as well as the N5X. Bug: angleproject:5280 Change-Id: Ie1a2b3b3a296e2e4dbbed69ebff6ce325b46ce95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514638 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 7dc92430 2020-10-30T13:05:05 Noop clear of non-existing attachments. Bug: angleproject:4988 Change-Id: Ib6ff9756ec7ae5aa2b11f4d12932829fe05656d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2511369 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 807e6b33 2020-11-02T17:15:03 Revert "Add support for Linux vulkan backend with VK_KHR_display" This reverts commit a7bb6a9b15ddeb8497523f8871deb25de2676d9f. Reason for revert: Failing on Ozone builder, see bug. Bug: angleproject:5289 Original change's description: > Add support for Linux vulkan backend with VK_KHR_display > > Implement Linux simple display mode with vulkan backend > through VK_KHR_display. > > Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for > attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify > the new simple display mode. Also reserved > EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode. > > How to enable: > Add > > ``` > use_x11=false > angle_vulkan_display_mode="simple" # default value > ``` > > into args.gn, then compile with linux vulkan args. > > Bug: angleproject:5214 > Change-Id: I1247585b9de8b55df106aba99322281f1c183203 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=syoussefi@chromium.org,sunny.sun@arm.com,jmadill@chromium.org,xiaoxuan.liu@arm.com Change-Id: I3e2a2a044c220ed8d25be0d82184e5fba7b9c06a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5214 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514637 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 53aef103 2020-11-01T08:52:58 Tests: Print warning when we hit display reuse limit. This helps devs reduce test cases that are hit from test ordering. Bug: angleproject:5274 Change-Id: Ia4d2b5f3adffc73a2d4582e3a738fc194729a6ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513286 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 57f7c9b5 2020-10-29T16:31:46 Vulkan: Fix prerotation bug with glInvalidateSubFramebuffer The area passed to FramebufferVk::invalidateSub is not rotated, but was being compared with the rotated framebuffer dimensions / render area. Bug: angleproject:5264 Change-Id: I2de181bf77ad650418b757a3848395bbdab13d8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508978 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Amy Liu f34ba646 2020-10-30T14:40:22 Fix maxShaderAtomicCounters value. Set maxShaderAtomicCounters to zero when atomic operation is not supported. Some cts tests will only check maxShaderAtomicCounters instead of vertexPipelineStoresAndAtomics before run. Test: dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.*vertex Bug: angleproject:5272 Change-Id: Iceb4fc13eb26548ccbfaa430501d88f5ba3dfcc3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2507280 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xiaoxuan Liu a7bb6a9b 2020-10-12T16:40:13 Add support for Linux vulkan backend with VK_KHR_display Implement Linux simple display mode with vulkan backend through VK_KHR_display. Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify the new simple display mode. Also reserved EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode. How to enable: Add ``` use_x11=false angle_vulkan_display_mode="simple" # default value ``` into args.gn, then compile with linux vulkan args. Bug: angleproject:5214 Change-Id: I1247585b9de8b55df106aba99322281f1c183203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 97843bda 2020-10-30T17:03:36 Vulkan: Fix EGL Surface robust init. The error here was related to using a single cache variable for the robust init setting for all the surfaces in a DisplayVk. Fix this by passing down the robust init setting from the SurfaceVk to image init. Bug: angleproject:5274 Change-Id: I9bc9c20990268d1d5166411fb53f8f2593fd1971 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510694 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 6c618ce3 2020-11-01T16:39:36 Metal: Suppress UniformBufferTest.ManyBlocks on Intel Also slightly modified UniformBufferTest.ManyBlocks to add 2nd draw call with modified uniform buffer. Bug: angleproject:5283 Change-Id: Ib192a9143ce7c492537dfcfee7af2ae17220815a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2512625 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 8a50b42b 2020-10-24T19:29:12 Metal: Convert index & vertex format on GPU when possible. - When converting vertex buffer: - if there is no render pass active, use compute shader to convert. - if there is a render pass active and device supports explicit memory barrier then convert the buffer in vertex shader with direct buffer write and insert a memory barrier. - if there is a render pass active and device doesn't support explicit memory barrier then convert the buffer on CPU. Bug: angleproject:2634 Change-Id: I5346e3a2adb855f40e46a3912d9db404a4482e0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2434025 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Le Hoang Quyen ed23dc84 2020-10-24T19:12:32 Metal: default integer attribs & offset mod for idx conv. - Support default integer attributes. - When converting index buffer, use offset modulo instead of offset to reduce number of conversions if application uses many different offsets to the index buffer. Bug: angleproject:2634 Change-Id: I97aa9ea1826ffc9dbe5784fe5b5af2f99df63e2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494524 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 83539557 2020-09-27T16:27:16 Metal: Implement texture swizzle Only enabled on macOS 10.15 and iOS 13.0 for now. Bug: angleproject:2634 Change-Id: Ic44a245198e32f076e429312cae844c510e864d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433333 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Shahbaz Youssefi 09932e04 2020-10-29T00:31:49 Vulkan: Support emulated pre-rotation in dEQP testing Similarly to end2end tests, the window dimensions are swapped with emulated prerotation at 90 and 270 degrees, while maintaining to the application that dimensions are as requested. The following new command line argument can be used to select an emulated prerotation: --emulated-pre-rotation=90 --emulated-pre-rotation=180 --emulated-pre-rotation=270 For example: $ ./angle_deqp_gles2_tests --use-angle=vulkan \ --deqp-case=*draw* \ --emulated-pre-rotation=270 Additionally, the deqp test expectations can be marked with the following new tags to add suppressions for failing tests under prerotation: PREROTATION PREROTATION90 PREROTATION180 PREROTATION270 Bug: angleproject:4901 Change-Id: I7a68c1a1e7da4366cde981469c589d8d900c40c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506810 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 8f36b846 2020-10-29T15:13:55 Vulkan: Optimize glFramebufferSubInvalidate If glFramebufferSubInvalidate() is called with an area that covers the whole framebuffer, behave as if glFramebufferInvalidate() is called. This allows deferred clears to be removed for example, and attachment contents to be marked undefined. Bug: angleproject:4988 Change-Id: Iff3f291ea6c07abccc2740174d0451b432ac5da8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508977 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen aff43fa0 2020-10-25T16:12:59 Metal: prepare to run dEQP GLES3 tests Bug: angleproject:2634 Bug: angleproject:4235 Change-Id: I6618b9de94ce88f8cbf81a163d0821b25ab07186 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494528 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3fe652d0 2020-10-29T08:54:57 Add option to disable SwiftShader when retracing. Bug: angleproject:5133 Change-Id: I589252d7eb9648a37a98f896c2a14462b2b34c48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506492 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 257b9ad9 2020-10-29T12:40:33 Add a perf test for scissored draw calls Bug: angleproject:4988 Change-Id: I59facc66aaa2af216d3a6c6ef1e4efa934a45cb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506779 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 39b777c6 2020-10-29T16:55:06 Capture/Replay: Two cleanups. This changes from returning a vector to directly returning a pointer to the binary data for the serialized state. The second cleanup is to use a ContextID as a wrapped type which simplifies the output formatting code. Bug: angleproject:5247 Change-Id: Ieb8afdb9326a12968dd2d69c05e1ed811b93abff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506198 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 04d7be3f 2020-10-29T20:40:48 Skip InstancingTest.NonIndexed* with non-zero Offset on Mac Mini 8.1 Bug: angleproject:5271 Change-Id: I644b28670ce0501407797f7ae7e749a66a63d84e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508975 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 646cf5b2 2020-10-29T20:22:38 Skip EXTMultisampleCompatibilityTest.DrawAndResolve on Mac Mini 8.1 Bug: angleproject:5270 Change-Id: I11ec5f9eef3989ac99a618bf5ab707484710a254 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508972 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 655aca7b 2020-10-29T20:13:23 Suppress 2 DepthStencilFormatsTest.DepthStencilReadback on MacMini8.1 DepthStencilFormatsTest.DepthStencilReadback_Float/ES2_OpenGL DepthStencilFormatsTest.DepthStencilReadback_UInt/ES2_OpenGL Bug: angleproject:5269 Change-Id: I223c80d8c8ac47176d5a4ecdff34f6ce27286284 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508971 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov e77b7624 2020-10-29T19:36:05 Skip ReadPixelsTextureTest.*LayerAttachment*PBO on Mac Mini 8.1 Bug: angleproject:5267 Change-Id: I41a7c7c07701e0236a85becd93f2d23db2cdaa8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508538 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 2bb6a5d1 2020-10-29T20:00:06 Skip WebGLCompatibilityTest.EnablePixelBufferObjectExtensions Crashes on Mac Mini 8.1 Bug: angleproject:5268 Change-Id: I18cab39a8b6a8703e798cd8fb14d498a3a611eec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508969 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten fcd35965 2020-09-29T14:15:51 Vulkan: Make DescriptorPoolHelper a Resource Descriptor pools need to live as long as the descriptor sets that are allocated from them. Using Serials while building a command to judge a pool's lifetime is prone to errors, since a command's Serial value isn't known until the command is submitted, leading to deleting pools too early relative to when the descriptor set is actually used. This CL updates DescriptorPoolHelper to inherit from Resource, so the descriptor pools can be retain()'ed. This allows the Resource's counter to indicate that a pool is in use until the command's Serial is known and can be recorded to indicate when the command completes. This prevents descriptor pools from being destroyed before the command completes (while the descriptor sets are still in use), or even before the command has been submitted. Destroying a descriptor pool resets all of the descriptors that were allocated from it, which can trigger a variety of VVL errors depending on when it's erroneously performed. This CL also adds the necessary retain() calls for the descriptor pools. In particular, the pools need to be retained each time a cached descriptor set that was allocated from it is re-used. This is relatively simple with the current design, since we always clear the descriptor set caches whenever a new pool is allocated, so the descriptor pool binding is always accurate. Bug: angleproject:5030 Test: VulkanMultithreadingTest::MultiContextDrawSmallDescriptorPools() Change-Id: Iac9e7efef338f169a6bf8ac3b2140e03dd326641 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2504457 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Yuly Novikov 1070802c 2020-10-29T17:02:45 Skip Instanced MultiDrawTest.MultiDrawArrays on Mac Mini 8.1 Bug: angleproject:5265 Change-Id: I1d3f1802398472c0da2d00526bd7eb52f6596bea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508532 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill e77e3528 2020-10-29T16:55:06 Gold Tests: Include SHA1 files in trace inputs. This will force "GN analyze" to pick up changes in the gold tests when all that GN sees is a new SHA1 file. In effect a SHA1 change means all the sources in a trace have changed. Bug: chromium:1143507 Change-Id: Idf44045ebd5d2bda9380b339e95d336b6804ce8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508530 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya e895ced6 2020-10-29T09:06:00 Vulkan: Add OES_shader_image_atomic support Add support for shader builtins and enable the extension. Bug: angleproject:3578 Tests: dEQP-GLES31.functional.*image_atomic* Change-Id: Idd45b2ee62efe1474c6c5947c77da64ff2221bf6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2505540 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 30083024 2020-10-29T10:52:53 Remove include of nonexistant directory This would include "angle:angle_common" which is not a directory. Bug: b/171848471 Change-Id: Ic4f03b174a4cd4b81470862b3ed79a58b415ad04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2507630 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill cb1a3ce5 2020-10-29T10:13:40 Skia Gold: Fix Android stdout parsing. A recent change in Chromium broke how we were parsing stdout for capturing system info on Android. Fix the break and also update some helper scripts to work better when run manually. Bug: angleproject:5261 Change-Id: Iecc00bbe540461ab50ea31b5245b8b38a7250956 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2507633 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e3eaa60f 2020-10-29T01:40:22 Revert "Tests: Update COD:Mobile trace" This reverts commit 8442ea94eacf56eedf6f2f8046e1e93b4b09ea82. Reason for revert: GN messed up and missed the build. Gold wasn't run so this is likely breaking stuff. Original change's description: > Tests: Update COD:Mobile trace > > Updates to reflect changes in the application. > > Test: angle_perftests --gtest_filter="*cod_mobile*" > Bug: b/164426913 > Change-Id: I207102c10578abe8eb02fe5ce22aef10b6b1d6f9 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506076 > Commit-Queue: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> TBR=cnorthrop@google.com,courtneygo@google.com,jmadill@chromium.org Change-Id: I70fec773b7ff3b20eb4ce9d7545f1dc54233e8ab No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/164426913 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506501 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 8442ea94 2020-10-28T12:28:07 Tests: Update COD:Mobile trace Updates to reflect changes in the application. Test: angle_perftests --gtest_filter="*cod_mobile*" Bug: b/164426913 Change-Id: I207102c10578abe8eb02fe5ce22aef10b6b1d6f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506076 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 9f48c420 2020-10-27T20:37:56 Tests: Add PUBG Mobile Lite trace Test: angle_perftests --gtest_filter="*pubg_mobile_lite*" Bug: b/165824228 Change-Id: Iaa95b560da7834ff982bc29a2db22f3582d05513 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2504827 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang f02a6e0c 2020-10-26T14:35:14 Work around Mac glGenerateMipmap with missing levels bug. Some Mac GL drivers fail to generate mipmaps if level zero is not set before the texture is first used, all mipmap data is black. To work around this, whenever a texture level is allocated, ensure that level zero is also allocated with at least a 1x1 image. Bug: angleproject:5223 Change-Id: If1a728e017dec600c77a54f7ae185b719aaaae84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497569 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 77defeb0 2020-10-27T18:31:53 Add the ability to re-trace existing traces. This new script runs the ANGLE trace tests with capture enabled to generate updated replay cpp files. This allows us to update our traces files to a new file format in one step. Trace metadata (currently only the default FBO format) is preserved between re-traces. Currently only desktop-based retracing is supported. This means a couple traces that require specific extensions don't run on all platforms. Bug: angleproject:5134 Change-Id: I7c923d89e33c18285ab36a7cee91f2fb735758eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488130 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 04b7277e 2020-10-28T11:45:31 Fix unintialized data in VertexAttributeTest. The test was initializing an extra element at the end of a vertex buffer and never initializing it. I fixed this for one test but the bug was actually replicated into several. This fixes the bug by inializing the last vertex to the zero vertex value. Bug: angleproject:3951 Bug: angleproject:4163 Bug: angleproject:4258 Bug: angleproject:4269 Bug: angleproject:5258 Change-Id: I226406475340d756bfb7624d163abeca7b807f20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2505551 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 47e66f22 2020-10-28T14:24:37 Revert "Re-enable crash testing in angle_unittests." This reverts commit 21add1240950c2e2a6ec997f9a128005d84266b6. Reason for revert: Fails on Windows 7 x64 Chromium config. https://ci.chromium.org/p/chromium/builders/ci/Win%207%20Tests%20x64%20%281%29/73194 Original change's description: > Re-enable crash testing in angle_unittests. > > This is an experimental test to see if this works now. > Disabled on Win/ASAN because of conflicts with the > crash callback. > > Bug: angleproject:5239 > Change-Id: I280b18ab8846de79b561f26716df9ba374cfd9a5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496040 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5239 Change-Id: I83c150c2c2090b7d1aeb78e53e96115a167a7491 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2505479 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 46075937 2020-10-28T10:30:44 Expand DrawArraysWithAlignedAndUnalignedBufferOffset supression VertexAttributeTest.DrawArraysWithAlignedAndUnalignedBufferOffset/ES2_D3D11 flakes on all Windows platforms. Supressing the failure while we investigate. Bug: angleproject:5258 Change-Id: I25dbdd4201d02fe32d37c4ca9527f86093f1c243 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2505480 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 626a4185 2020-10-27T18:31:52 Trace Tests: Allow runs against SwiftShader. SwiftShader can allow for a platform-indendent replay. This is useful for re-tracing. By default disable the SwiftShader test configs unless we pass in --enable-all-trace-tests. Also disable the mock ICD trace tests by default. Bug: angleproject:5134 Change-Id: Ibf1f3ebd6c17f15123705b7d4d9ddd6308f873f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2502311 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Tim Van Patten f69fe097 2020-10-14T16:44:37 Create test Texture2DTestES3::ChangeTexSizeWithTexStorage() Create the test Texture2DTestES3::ChangeTexSizeWithTexStorage() which confirms that releaseImage() needs to be called by setStorageMultisample() to re-allocate the Image after ensuring the ImageHelpers has been created correctly. Bug: angleproject:5254 Bug: angleproject:5256 Test: Texture2DTestES3::ChangeTexSizeWithTexStorage Change-Id: I7ede9f7360b73bc445125b2a99efd60c9c4c110d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472999 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 85782968 2020-10-27T08:16:58 Fix extension requirement for "World of Tanks". GL_EXT_disjoint_timer_query was missing the "GL_". Bug: b/171446929 Change-Id: I6e11f18bfa3da18efc65691a94a6290fbcf16777 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2502309 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Xinghua Cao 59df1545 2020-10-21T17:04:46 Refactor uniform block test cases The patch refactors cases that test a uniform block only containing a large array member, which will be translated to StructuredBuffer on D3D backend. Bug: angleproject:3682 Change-Id: I3170a4c82896ce8895909db87c70b80656300383 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489482 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>