src/tests


Log

Author Commit Date CI Message
Tim Van Patten bd276beb 2021-02-12T10:58:43 Vulkan: Don't wait on unflushed sync objects without a Context The app "Car Parking Multiplayer" issues a ClientWaitSync() command without having already flushed the sync object and without an active context. We should return TIMEOUT immediately rather than attempting to wait on the sync object, since we can't flush it and it'll never be signalled. Bug: angleproject:5613 Bug: angleproject:5656 Test: MultithreadingTest.NoFlushNoContextReturnsTimeout Change-Id: Ieaf675ca9144f9c851c73b9ca399daaf4ed1cd0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693375 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 7ae8531b 2021-02-17T15:20:07 Vulkan: Fix crash with 0-sized element buffer VertexArray::syncState syncs all dirty bits, including DIRTY_BIT_ELEMENT_ARRAY_BUFFER even for draw calls that don't use this buffer, such as glDrawArrays. If the element buffer is given 0 size, this caused a crash in the Vulkan backend. Bug: chromium:1172577 Change-Id: I02d78c9660c07b896f7403867b648901478251fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2701831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 436b43a6 2021-02-16T14:28:06 Add comprehensive memory barrier tests Optimizing glMemoryBarrier can get very tricky. This change adds tests for every glMemoryBarrier bit in different scenarios for a total of about 1500 tests. With the current implementation, there are no syncval errors running these tests. Bug: angleproject:5070 Change-Id: I5358bfeed84f586a67c90ba5ab0fe624db6820b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698288 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 907a3cee 2021-02-17T08:07:45 Vulkan: Add support for EXT_shader_framebuffer_fetch_non_coherent EXT_shader_framebuffer_fetch_non_coherent is implemented using subpass input attachments. The extension will be enabled in a follow up change that adds required changes to the Vulkan translator. Bug: angleproject:5454 Test: FramebufferFetchNonCoherentES31.*Vulkan Change-Id: Ic73c66a476c4a21db5269431166a198841f1dc0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598059 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 82337b00 2021-02-17T16:47:48 Add suppressions for failing tests on Linux Nvidia GL The following failing without a clear reason (asides from PartitionAlloc changes in Chromium maybe). This CL suppresses them while we find what the issue is. TBR=syoussefi@chromium.org Bug: angleproject:5651 Change-Id: I6cba67351dfba37fd6d86a07ac748b7998665361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2700511 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Tim Van Patten 64b5b3d3 2021-02-12T17:31:58 Vulkan: Further restrict enabling LINE_RASTERIZATION_MODE_BRESENHAM The app "Car Parking Multiplayer" enables GL_SAMPLE_ALPHA_TO_COVERAGE, which leads to a VVL error when LINE_RASTERIZATION_MODE_BRESENHAM is also enabled: VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766: The Vulkan spec states: If the lineRasterizationMode member of a VkPipelineRasterizationLineStateCreateInfoEXT structure included in the pNext chain of pRasterizationState is VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT or VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT and if rasterization is enabled, then the alphaToCoverageEnable, alphaToOneEnable, and sampleShadingEnable members of pMultisampleState must all be VK_FALSE. This CL adds the additional checking to GraphicsPipelineDesc::initializePipeline() to ensure those conditions are met before setting lineRasterizationMode to VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT. Bug: angleproject:5613 Test: StateChangeTest.AlphaToCoverageEnable Change-Id: Ie2286078f6916c01a19ae6f932321a86619bd4e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2694094 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop 0fa6c307 2021-02-04T11:23:06 Enable ES 3.2 in ANGLE's loader Test: Capture and replay ES 3.2 apps Bug: angleproject:5652 Change-Id: I2dac84d3cf6534ee1b10889ba1312ae247ae8f62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698391 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Corentin Wallez c7ae5d28 2021-02-17T15:57:37 Suppress ClearThenMaskedClearFramebufferTest on Linux AMD VK The test has been failing on that configuration since it was introduced. TBR=syoussefi@chromium.org Bug: angleproject:5655 Change-Id: If852bcd574fa0cd4018220b7d6749b95a717a7c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698117 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Shahbaz Youssefi e8c0aa81 2021-01-26T23:40:36 Vulkan: Clean up transform feedback extension pause/resume 1. The xfb counter buffer barrier issued was wrong, following a typo in the spec. This barrier is now correctly issued using the usual barrier APIs. 2. A mechanism was added to automatically pause/resume transform feedback when a program pipeline needs to be rebound. This is incorrect as it misses the xfb counter buffer barrier. The render pass is broken instead if transform feedback is active/unpaused and the program pipeline is changed. 3. The transform feedback counter buffers are now disposed of when transform feedback is ended. This avoids an unnecessary barrier that this change would have otherwise incurred (and hence render pass break) in Manhattan which repurposes the same transform feedback object. Bug: angleproject:5528 Change-Id: I1ffe8b4b8975645ba43afd70e9cdbb0765529da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2651647 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d7037aa2 2021-02-11T14:35:30 Vulkan: noop glMemoryBarrier(CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT) CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT requires a memory barrier: shader buffer write -> host read. According to the spec, the data is only available after a call to glFinish or wait on sync: > The application must call MemoryBarrier with the > CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT set and then call FenceSync with > SYNC_GPU_COMMANDS_COMPLETE (or Finish). Then the CPU will see the > writes after the sync is complete. When a buffer is written to by the GPU, ANGLE calls onHostVisibleBufferWrite(), which ensures a "memory write -> host read" barrier is issued at the end of the command buffer. Additionally, persistently mapped buffers use VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, so there's no need for a call to vkInvalidateMappedMemoryRanges. As a result, there's nothing necessary in ANGLE to do for this barrier bit. Note that should persistenly mapped buffers start using non-coherent memory, this barrier should imply a call to vkInvalidateMappedMemoryRanges for the persistently mapped buffers. Bug: angleproject:5070 Change-Id: Iaeae019dadfa659a47d2dac41c0c09f1c15e584b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689380 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 30622479 2021-02-16T12:33:40 Vulkan: Fix crash with deferred clears and MSRTT The following scenario was mishandled: - MSRTT draw with an unresolve operation (i.e. has two subpasses) - Deferred clear - Flush deferred clear with MSRTT framebuffer not needing unresolve (i.e. has one subpass) Bug: chromium:1178693 Change-Id: If3548e99897d698d61dfafbe9f86193723d06e5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697648 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 91b6c3b1 2021-02-16T11:14:18 Revert "Link angle_util statically into angle_system_info_test" This reverts commit 804226dffd9b35f88c4a64672fea2cd29c2bc6e8. Reason for revert: breaks compilation on android-archive-dbg. See https://ci.chromium.org/ui/p/chromium/builders/ci/android-archive-dbg/7802/overview (seems the egl symbols can't be found?) Original change's description: > Link angle_util statically into angle_system_info_test > > Otherwise ANativeActivity_onCreate is not found in component build. > > Bug: angleproject:4483 > Change-Id: Ic4a9f66e5b7d150a3740529f866de9995550ea68 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689370 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. TBR=ynovikov@chromium.org Bug: angleproject:4483 Change-Id: I7f16f77979f7d8b1e5e5f61e48b379b910f3a743 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697067 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Corentin Wallez 65f2f302 2021-02-16T12:59:57 Suppress Bus Simulator Indonesia on Linux AMD GLES too. Bug: angleproject:5629 TBR=ynovikov@chromium.org Change-Id: Iafae8a8022b1c3de7b6ff52be9889ba96a1fc865 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697069 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 21cced7f 2021-02-16T12:20:34 Fix suppression for a SimpleStateChangeTestES31 on Linux AMD It should be suppressed on Desktop GL and not GLES TBR=syoussefi@chromium.org Bug: angleproject:5649 Change-Id: I9752e0219e39cc9a8f3c1b90e15525d7e0384a91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2697068 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 14ec0d2c 2021-02-15T17:14:08 Suppress a SimpleStateChangeTestES31 on Linux AMD GLES SimpleStateChangeTestES31.DrawThenSampleWithCompute was failing since it was introduced. TBR=syoussefi@chromium.org Bug: angleproject:5649 Change-Id: I46f531724bd4f12c760675de5038f2345eb21aac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2692816 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Shahbaz Youssefi 031dd5c5 2021-02-11T14:56:43 Vulkan: Add fast path for pack buffer copies When vkCmdCopyImageToBuffer is possible, it is used to implement glReadPixels with PBO instead of a CPU readback. A few tests are added to verify synchronization between pack/unpack and compute shader writes. Bug: angleproject:5070 Change-Id: Ia5da0feb31348f6b52d164b973ff95e2a0510582 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2691466 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 2b15062b 2021-02-11T12:52:39 Allow more formats as texture attachments in GLES 1 This change allows all formats in the GLES 1.1 spec, table 3.4 to be used as a texture attachment. Also normalize values passed into glColorPointer if the format is of type GL_UNSIGNED_BYTE. These changes are needed for the android app, Kick the Buddy to render correctly. Bug: angleproject:5599 Tests: *DrawTextureTest.ColorArrayDifferentTypes* *FramebufferObjectTest.TextureObjectDifferentFormats* Change-Id: Ie9d27fc24d94106651262cf9b2080dd3f05af1c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690920 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 545d0051 2021-02-11T13:59:08 Add a number of glMemoryBarrier tests Bug: angleproject:5070 Change-Id: I835a4e936cb50d3f4b1187bebbe1d1adc49d0b52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689366 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Mohan Maiya 12990d73 2021-02-11T11:37:03 GetBitSet now uses BitSetArray instead of IterableBitSet Remove the now unused IterableBitSet class. Bug: angleproject:3877 Change-Id: I161e5d062c8183e30a7eb9040f3018116fe6e69e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683494 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Sullivan a2fad5ea 2021-02-11T22:49:33 Mark uninstantiated tests This problem was discovered by attempting to roll googletest past CL 315255779, which causes test binaries to fail when they include test suites / parametrized tests that are not instantiated, and when they include empty test suites. This CL uses the GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST() macro to annotate the suites / tests that are causing test failures. This is necessary to get googletest rolled past CL 315255779. Bug: chromium:1163396 Change-Id: I17c7cae1121079219f632cbbcf8cfc65a27bfdb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2691459 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten baf64903 2021-02-03T14:02:55 Allow small compressed mip level copies Update ValidateCopyImageSubDataBase() to take into consideration if the entire mip level is being written, even if the size of the mip level is smaller than the compressed block size. This also uncovered a bug in ImageHelper::initializeNonZeroMemory() where the image extents are not at least as large as the compressed format block size: VUID-vkCmdCopyBufferToImage-imageExtent-00207 This CL adds isAllocateNonZeroMemoryEnabled() to allow skipping the test when that feature is enabled while that bug is chased. Bug: angleproject:5592 Bug: angleproject:5634 Bug: angleproject:5643 Test: Texture2DTestES3.CopyCompressedImageMipMaps Change-Id: I0381e0d3490fb148604b61dc3bae8f96ba8b5f8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673069 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 0a99bc39 2021-02-12T14:33:02 Remove dEQP expectations for tests removed from masterpass In https://chromium-review.googlesource.com/c/angle/angle/+/2690142 https://github.com/KhronosGroup/VK-GL-CTS/commit/7630a653d152f5da673e3992c0a1597d605c955f Bug: angleproject:5648 Bug: angleproject:3466, angleproject:3317, angleproject:4235 Change-Id: Ic4ee1d8b69319e839dbed192ce74811d0281b60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2692513 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill cf8c71de 2021-02-11T16:32:00 Supress failing capture/replay test. StateChangeTest.DrawAfterFlushWithNoStateChange/* Bug: angleproject:5530 Change-Id: I8e9365219a617b8c6dd6d5c767e40ecde100a76d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689378 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 804226df 2021-02-11T14:53:43 Link angle_util statically into angle_system_info_test Otherwise ANativeActivity_onCreate is not found in component build. Bug: angleproject:4483 Change-Id: Ic4a9f66e5b7d150a3740529f866de9995550ea68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689370 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Austin Sullivan bae53d96 2021-02-10T16:28:14 Only define test suites when TEST_Ps defined The EXTClipCullDistanceForVertexShaderCompileFailureTest and EXTClipCullDistanceForFragmentShaderCompileFailureTest test suites each contain only one test, which is defined iff ANGLE_ENABLE_VULKAN is defined. This results in UNINSTANTIATED_PARAMETERIZED_TEST errors. This problem was discovered by attempting to roll googletest past CL 315255779, which causes test binaries to fail when they include test suites / parametrized tests that are not instantiated, and when they include empty test suites. Bug: chromium:1163396 Change-Id: Ie1837bc2879c14ad9f51a4a757ee1edc7e603c61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686377 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 537cd0d5 2021-02-11T12:38:10 Capture Tests: Update path to capture/. Bug: angleproject:5530 Change-Id: Ibbabab2bcc03c196c6c51e5bf67d81df8bad4925 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2689364 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 807d1ad7 2021-02-10T23:30:56 Metal: fix incorrect default viewport size with contentsScale>1 The correct metal layer's drawable size should be calculated after mMetalLayer.get().contentsScale is set during initialization to allow initial viewport to be computed properly on front-end side. Bug: angleproject:2634 Change-Id: If278f40c0b6800bbe12fb5ea94986f728381bc00 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2687300 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll d0e8c636 2021-02-10T04:08:28 Roll VK-GL-CTS from 28d3d98b040d to fd70e387953e (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/28d3d98b040d..fd70e387953e 2021-02-05 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC syoussefi@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Change-Id: I8f160df11b65f88e79010c37aeb7a89aa70b84e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690142 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 45a493ea 2021-02-05T13:48:48 Vulkan: Use a dirty bit to start the render pass Some dirty bits need to run before the render pass starts. An upcoming change for example needs to break the render pass when the program pipeline is changed while transform feedback is active. Another upcoming change may need to do the same based on a preceding glMemoryBarrier. This change adds a new dirty bit to start the render pass after some dirty bits have already been processed. Bug: angleproject:5528 Change-Id: I993c9efefed4c8fee268b218a8dd66a582d4e7cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2678863 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 6fc10389 2021-02-10T11:20:16 Move Frame Capture to capture/ folder. This will make it easier to trigger the trace tests when these files are modified. Bug: angleproject:5530 Change-Id: I5f0c450595b380cd91b20c1477dc1845bee35dd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2686120 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill a8a2a71b 2021-02-01T17:18:18 Vulkan: Support y-flip with no driver support. We can reuse the surface rotation matrix code to do the y-flip. This requires the SPIR-V transformation support. Because not all rotations are encoded into the table we can only support rotation with the driver support for y-flip (currently). Includes some very minimal regression testing. This work is targeted towards supporting vk-portability implementations which are not as up-to-date with Vulkan features. Bug: angleproject:5596 Change-Id: I270fa1efc03267551d28df33ddac9972e1343d60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665892 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi bb062070 2021-02-09T15:30:04 Vulkan: Fix updates to element buffer If glBufferSubData results in a new vk::BufferHelper allocation, VertexArrayVk::mCurrentElementArrayBuffer needs to be updated. VertexArrayVk::syncState was working under the assumption that DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA cannot result in a vk::BufferHelper pointer change. This assumption was broken in https://chromium-review.googlesource.com/c/angle/angle/+/2204655. Bug: b/178231226 Change-Id: I969549c5ffec3456bdc08ac3e03a0fa0e7b4593f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2685439 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 60c3f404 2021-02-03T18:12:06 Tests: Add Bus Simulator Indonesia trace Bug: angleproject:5612 Test: angle_perftests --gtest_filter=TracePerfTest.Run/*bus_simulator_indonesia* Change-Id: I067795b237fc32406d63785e347324b423978768 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2674305 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi a7df19c8 2021-02-09T10:37:41 Roll VK-GL-CTS from b29bf0434c16 to 28d3d98b040d (82 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/b29bf0434c16..28d3d98b040d 2021-02-05 alexander.galazin@arm.com Remove GLES-only tests from the GL 4.5 package 2021-02-05 alexander.galazin@arm.com Support GL 4.5 in the Separate shader tests 2021-02-04 alanbaker@google.com VK_KHR_zero_initialize_workgroup_memory tests 2021-02-04 alexander.galazin@arm.com Update Vulkan headers 2021-02-03 alexander.galazin@arm.com Update glslang 2021-02-03 ari.suonpaa@siru.fi Change gradient generator for pipeline image tests 2021-02-03 gleese@broadcom.com Add tests for multisample texture size 2021-02-03 piotr.byszewski@mobica.com Fix memory scope in OpControlBarrier tests 2021-02-03 marcin.kantoch@amd.com VK_KHR_fragment_shading_rate pixel consistency 2021-01-29 ruoyu@amd.com Adjust texture data and threshold 2021-01-29 rgarcia@igalia.com Fix validation in mismatched format tests 2021-01-29 venni.ihanakangas@siru.fi Test descriptor set layout binding ordering 2021-01-29 ari.suonpaa@siru.fi Add descriptor update stress test 2021-01-29 antto.makinen@siru.fi Coverage tests for undefined values 2021-01-29 rgarcia@igalia.com Test attributes beyond static vertex stride 2021-01-28 gleese@broadcom.com Check for astc_sliced_3d extension in negative API tests 2021-01-28 rgarcia@igalia.com Disable dithering in nearest edge test cases 2021-01-28 rgarcia@igalia.com Check sparse image format support before creation 2021-01-28 rgarcia@igalia.com Additional conditional rendering tests 2021-01-28 estea@igalia.com Expand tests for image queries of null descriptors 2021-01-22 gleese@broadcom.com Stop dEQP-GL45 tests falling back to ES3.1 2021-01-22 apinheiro@igalia.com Add VariablePointerFeatures requirement for amber test requiring it 2021-01-22 apinheiro@igalia.com Avoid querying YCbCr combined sampler count in RGBA 2021-01-22 rgarcia@igalia.com Check unsupported formats with sparse AMD bias/lod 2021-01-22 mika.vainola@siru.fi Add command line option for filtering by runner 2021-01-22 antto.makinen@siru.fi Fix a Graphicsfuzz coverage test not to depend on an undefined value 2021-01-22 antto.makinen@siru.fi dEQP-VK.graphicsfuzz.cov-tail-duplicator-infinite-loops 2021-01-22 mika.vainola@siru.fi Add FrexpStruct comparison tests 2021-01-22 ari.suonpaa@siru.fi Use target environment for Amber shaders 2021-01-22 alexander.galazin@arm.com Add gitattributes 2021-01-22 piotr.byszewski@mobica.com Test negative depthBiasClamp values 2021-01-21 Kyle.Griffiths@imgtec.com Threshold Consistency for ES2 FBO Tests 2021-01-21 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the GetTexLevelParameter tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the multisample interpolation states tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Shader state query tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Stencil texturing tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in the Synchronization tests 2021-01-21 alexander.galazin@arm.com Support GL 4.5 in various multisample tests 2021-01-21 cheryl.wei@arm.com Fix ReadPixels format 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Texture buffer syncronization tests 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Texture Specification Tests 2021-01-20 alexander.galazin@arm.com Support GL 4.5 in the Query vertex attribute binding state tests 2021-01-20 greg@lunarg.com Add minimum nonUniform tests to descriptor indexing texts 2021-01-19 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Texture size tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Shader Image Load & Store Tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the gl_HelperInvocation tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the GL_EXT_shader_framebuffer_fetch tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Common function tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Opaque Type Indexing Tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Internal format queries tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Layout binding tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Integer state query tests 2021-01-19 alexander.galazin@arm.com Suppotr GL 4.5 in the sRGB write control tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Cube map array texture tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the base vertex extension drawing tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the indexed draw buffers tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the default vertex array object test 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the Boolean State Query tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the atomic operation with image tests 2021-01-19 alexander.galazin@arm.com Support GL 4.5 in the draw_indirect tests 2021-01-17 alexander.galazin@arm.com Notice of withdrawal of Vulkan CTS 1.2.1.x 2021-01-13 Alexander.Galazin@arm.com Merge "Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master" 2021-01-13 thomas.spurden@broadcom.com Add --force option to fetch_sources.py 2021-01-13 estea@igalia.com Fix checks for conditional rendering support 2021-01-13 slawomir.cygan@intel.com Check for VK_KHR_portability_subset extension before checking it's features 2021-01-13 estea@igalia.com Add striped 3D blitting tests 2021-01-11 estea@igalia.com Add tests for logical operations 2021-01-08 ruoyu@amd.com Disable-SeamlessCubeMap-In-Reference-ES2Context 2021-01-08 gleese@broadcom.com Test invalid Lods in the textureSize tests 2021-01-08 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-01-07 rgarcia@igalia.com Fix sync problems in conditional_rendering.draw_clear tests 2021-01-07 cwabbott0@gmail.com Don't access arrays out-of-bounds in robustness2 tests 2021-01-07 anholt@google.com pipeline statistics test: Fix compute shader setup in !GL4.3 case. 2021-01-06 rgarcia@igalia.com Clarify depth/stencil resolve write access sync 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the texture test utils 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the blend_equation_advanced tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in the 'negative' tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 in geometry/tesselation shader tests 2020-12-29 alexander.galazin@arm.com Support GL 4.5 context in the precision and draw tests 2020-12-29 alexander.galazin@arm.com First steps towards running ES3.1 functional tests on GL4.5 drivers If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC geofflang@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: angleproject:3687 Bug: angleproject:3688 Change-Id: I8de830ec9f56ab6a29218f83caaf96b86ceba648 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679296 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 224e3c14 2021-02-08T13:00:16 Support optimized bitsets that need more than 64bits For usecases that needed more than 64bits we were using std::bitset container. This has slower perf compared to the BitSetT container. Add a new class that can support large bitsets by wrapping an array of BitSet32/BitSet64 objects, depending on CPU bitness, as the container. Bug: angleproject:3877 Tests: angle_unittests.exe --gtest_filter=BitSetArrayTest* angle_white_box_perftests.exe --gtest_filter=BitSetIteratorPerfTest* Change-Id: I3f4a635f9e6974a99db7a4b592ab206aad754760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664733 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 41a1920e 2021-02-08T22:04:10 Tests: Reduce capture_replay_test exception list Remove some tests that no longer fail to compile. Test: capture_replay_tests.py --gtest_filter=*ES2_Vulkan_SwiftShader Bug: angleproject:5630 Change-Id: If04787494e58afad0a98d0ee7f37e00d2e77ec1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2683543 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 6b20e1c8 2021-02-07T14:42:54 Tests: Add Hill Climb Racing trace Test: angle_perftests --gtest_filter="*hill_climb_racing*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5626 Change-Id: I64a52a56569ef1e1a219c5d7e931620dcb438f4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2681837 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8dae4007 2021-02-07T14:18:22 Tests: Add Worms Zone io trace Test: angle_perftests --gtest_filter="*worms_zone_io*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5625 Change-Id: I38bf148409aec4ae15bdf0759676518f44a98359 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2681835 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0bb520ad 2021-02-05T11:53:11 Tests: Add Romancing Saga trace Test: angle_perftests --gtest_filter="*romancing_saga*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5622 Change-Id: I9f35fd0e0b9897e77f8d56547c2c134638b8b685 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679323 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang ab1f516d 2021-02-05T21:13:25 Skip happy_color trace on Windows AMD Vulkan Bug: angleproject:5623 Change-Id: I75338183c5c1321efd2516ac3a27a83d47c8d29b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679246 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop d3c00f95 2021-02-05T11:09:27 Tests: Add Rise of Kingdoms trace Test: angle_perftests --gtest_filter="*rise_of_kingdoms*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5621 Change-Id: I148d7ae0c23e0ce8ecf75d12affb4c8dfdc04e1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679221 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 3bb5f1ff 2021-02-04T22:45:33 Tests: Add Clash Royale trace Test: angle_perftests --gtest_filter="*clash_royale*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5620 Change-Id: I13eb10dc84deffa31f0e7fd1f0382e87bf69e46e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2677621 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop cf9ca55f 2021-02-04T21:28:17 Tests: Add Happy Color trace Test: angle_perftests --gtest_filter="*happy_color*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5619 Change-Id: I199c066c18412701b710eab66689107b07ec51f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2677219 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop ac8d7807 2021-02-04T20:24:35 Tests: Add Sniper 3D trace Test: angle_perftest --gtest_filter="*sniper_3d*" TBR: jmadill@google.com,timvp@google.com Bug: angleproject:5618 Change-Id: Ie190dea3d5f233fb7f7ed2b10aaab939da4b374e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676790 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 95143f11 2021-02-04T19:32:51 Tests: Add Coin Master trace TBR: jmadill@google.com,timvp@google.com Test: angle_perftest --gtest_filter="*coin_master*" Bug: angleproject:5617 Change-Id: Ief6b9cdb4bc3b52f4085ba08dc32e62db1f8db8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676789 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill e5c5efc0 2021-02-05T02:39:55 Revert "Test Runner: Pick single/multi-process mode automatically." This reverts commit 573d7f34a462fa5b2ca767dd84773ae6fa460d8a. Reason for revert: Breaking ANGLE roll. No-try: true Original change's description: > Test Runner: Pick single/multi-process mode automatically. > > This enables multi-process when running with more than one test > config. This saves developers from remembering to add the arg. > It can also simplify our test configurations by allowing us to omit > the default arguments. On Android by default we stay with single > process. It also changes the --bot-mode flag into --single-process > and --multi-process which override the default behaviour. > > Bug: angleproject:5585 > Change-Id: I3dd885a8a8e6604c224693c546ff5d15224e016e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664246 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=kbr@chromium.org,syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org,jonahr@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5585 Change-Id: I11ee1034c301aa246c4b03e29ff9b56235a1005c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676247 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop af70ceac 2021-02-04T15:55:43 Tests: Add Fallout Shelter Online trace The trace includes calls to glDrawElements with zero count, but since that causes erros on QCOM, we have commented them out. To see them, grep for the following: glDrawElements(GL_TRIANGLES, 0, Test: angle_perftests --gtest_filter="*fallout_shelter_online*" Bug: angleproject:5615 Change-Id: I7e6a7d99f614884104df7d87dab082bef6d179e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676208 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 4e8a848d 2021-02-03T14:59:16 Tests: Add Shadow Fight 2 trace TBR: jmadill@google.com,timvp@google.com Test: angle_perftests --gtest_filter="*shadow_fight_2*" Bug: angleproject:5610 Change-Id: I80c6c44e19d77124096ed5970f99fbb6157bf03b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2674482 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop fff0a72e 2021-02-03T14:03:57 Tests: Add Hay Day trace TBR: jmadill@google.com,timvp@google.com Test: angle_perftests --gtest_filters="*hay_day*" Bug: angleproject:5608 Change-Id: Ib0e259f193ed08ac80f1ae7b1a738c62a235d572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673070 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 63e7ab8d 2021-02-03T13:05:41 Tests: Add One Punch Man trace Full app name is: ONE PUNCH MAN: The Strongest (Authorized) Test: angle_perftests --gtest_filter="*one_punch_man*" Bug: angleproject:5607 Change-Id: Ib887fb06e53238e56ff5b3e2d45e5d37522a87e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673881 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 2dfb3fcd 2021-02-03T10:55:58 Tests: Add 8 Ball Pool trace Test: angle_perftests --gtest_filter="*eight_ball_pool*" Bug: angleproject:5606 Change-Id: Ied7392ecb5148280e1b4cee65c7c63a0baee24fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673064 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2c685a41 2021-02-03T11:20:20 Fix the perf test runner calibration. This path was broken for the white box unit tests. Also adds argparse handling to the runner so we can more flexibly override command line arguments. Previously the broken calibration was causing some of the tests to run only a single test iteration when measuring. This could lead to low quality measurements. Bug: angleproject:5573 Change-Id: Ic1cb2b2553774a361325f290440c40b2ff90db5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2672702 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 573d7f34 2021-02-01T10:36:56 Test Runner: Pick single/multi-process mode automatically. This enables multi-process when running with more than one test config. This saves developers from remembering to add the arg. It can also simplify our test configurations by allowing us to omit the default arguments. On Android by default we stay with single process. It also changes the --bot-mode flag into --single-process and --multi-process which override the default behaviour. Bug: angleproject:5585 Change-Id: I3dd885a8a8e6604c224693c546ff5d15224e016e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2664246 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop ffb36559 2021-02-03T10:22:43 Tests: Add Temple Run 2 trace TBR: jmadill@google.com,timvp@google.com Test: angle_perftests --gtest_filter="*temple_run_2*" Bug: angleproject:5605 Change-Id: I4b60b5f258e57dda44df9186c981764d4633a277 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2673063 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop ad985fcd 2021-02-02T21:35:04 Tests: Add Minecraft trace Test: angle_perftests --gtest_filter="*minecraft*" Bug: angleproject:5603 Change-Id: I8befbbb49762a14beea1863f4bb76e676cde0d8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2669959 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 4e1aa85e 2021-02-02T16:51:39 Tests: Add RAID: Shadow Legends trace Test: angle_perftests --gtest_filter="*raid_shadow_legends*" Bug: angleproject:5602 Change-Id: I4df06d09db57bb3d6ab0dcaf86e84f418c248a0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2668066 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Brandon Schade 6cc845bb 2020-12-07T18:14:50 Vulkan: Add support for EXT_blend_func_extended This implementation utilizes vulkan's dualSrcBlend feature. Expose this extension if the underlying vulkan backend allows the use of this feature. Test: angle_end2end_tests --gtest_filter=EXTBlendFuncExtendedDrawTest* Bug: angleproject:5074 Change-Id: I7d2f611df89d65e5cac35158cb5f41a0ebd58aae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593151 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 43e39e1e 2021-01-29T13:41:56 Tests: Add Manhattan 3.1 trace Note: This trace is longer than most at 100 frames. This is to help get more accurate data on how transform feedback is behaving. It also allows us the opportunity to trim to smaller sections if we wish, and get more reliable results on unstable systems. Test: angle_perftests --gtest_filter="*manhattan_31*" Bug: angleproject:5589 Bug: angleproject:5591 Change-Id: I76db8a56832d04ea4d335bd81ff98ba1679add5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2659850 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 7e81056a 2021-02-01T11:16:14 Vulkan: Support integer type incomplete texture Support both signed and unsigned integer type incomplete textures. Bug: angleproject:5502 Bug: angleproject:4432 Tests: IncompleteTextureTestES3.*IntegerType* dEQP.KHR_GLES31/core_sample_variables_mask_rgba8*i_* Change-Id: Ic8c972aac0ca8589b26333b66dd0cc5fb5134043 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2613245 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 729139c9 2021-02-01T13:32:07 Fix gn check on iOS for dEQP and trace targets Bug: angleproject:5417 Change-Id: I0e445eb4c5f3a88fbaea4599fa3d2f87b8632fb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665267 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten 0d175f30 2021-01-20T16:34:40 Tests: Add eFootball PES 2021 trace Test: angle_perftests --gtest_filter=TracePerfTest.Run/*efootball_pes_2021* Bug: angleproject:5564 Bug: angleproject:5517 Change-Id: I9738876b6a6c365984cecce01f2f09e0260b41cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2656989 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 85efb9d5 2021-01-26T14:39:19 Log dEQP QPA files as test artifacts. This adds artifact output to the test runner. We add a fake test at the start of a test run that owns the artifacts. Bug: angleproject:5236 Change-Id: Ice8001bf1f2aafbd8123fee76e0e7fcc3e5a8a0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2657535 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 62387fc6 2021-01-27T13:58:01 Vulkan: Enable geometry/tessellation deqp KHR 3.2 tests Preliminary triaging is done for the failing tests. Additionally, the tests are only enabled for windows for now, due to failures on the Android and Linux bots, likely due to old drivers. Locally, the failures on Linux match the expectations for windows. Bug: angleproject:5557 Bug: angleproject:5579 Change-Id: I72d998097fad495c21414917ef09e132274f7c8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2653913 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Peng Huang a5ab7974 2021-01-28T12:32:10 Turn on vulkan backend for android ndk level < 26 Fixes two issue for build Vulkan backend for android ndk level < 26, * Disable Vulkan validation layers for android ndk level < 26 * Share vulkan memory allocator implementation with chrome to avoid duplicated symbols link errors. * Only run vulkan backend test with Android P or newer Note: This change will break android-binary-size try bot, we need to update expected_static_initializer_count to 4 at [1] while rolling this change into chromium. [1] https://source.chromium.org/chromium/chromium/src/+/master:chrome/android/static_initializers.gni;l=19?q=expected_static_initializer_count&ss=chromium%2Fchromium%2Fsrc Bug: chromium:1170339 Change-Id: Idb9238d8f339724c4d8f9ac136305b95ff06fae4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2656980 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell b4fd4628 2021-01-27T15:56:58 Revise WebGL's shaderSource validation. Per discussion in the WebGL working group, shaderSource no longer generates INVALID_VALUE for sources containing characters outside the ESSL character set. Compilation and/or linking is still specified to fail when illegal constructs are used. With this change, https://github.com/KhronosGroup/WebGL/pull/3206 passes with the passthrough command decoder. Revise WebGL compatibility tests to follow the new rules. Bug: chromium:1171506 Change-Id: Id132e0b64fa94b373f2732acf2a7071f38f0d4ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2654264 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Mohan Maiya 74f7be6d 2021-01-28T14:04:47 Vulkan: Rectify typo in EXT_texture_format_sRGB_override The extension string for EXT_texture_format_sRGB_override was missing the "format" substring. Bug: angleproject:4561 Change-Id: I19788191b589b64639b036d2bb54508077fca7e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2658355 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott e419222d 2021-01-28T17:14:02 MSAA PreRot: Make MultisampleTest use rectangular window This will make it easier to fix/prevent bugs with MSAA-swapchain windows, which are not currently pre-rotated properly on Android. Bug: b/175793022 Change-Id: Ia51446db62c8ec94313ae75fd87ad8e9477f76e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2656997 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 4ec7021c 2021-01-27T16:41:45 Report angle_restricted_trace_gold_tests as interrupted on Exception Otherwise step is reported as failed but build as succeeded Bug: chromium:1153299 Change-Id: Id21d7ceafd04553634463be5acb64c070d251abb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2653859 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten badcf3bd 2021-01-27T17:14:43 Vulkan: Enable fbo.invalidate.whole.unbind_blit_msaa_[color|stencil] These test failures were fixed with a recent SwS CL: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52088 Bug: angleproject:5044 Test: dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color Test: dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil Change-Id: I36034c72e28fc07ecff0eaca31745c97f054b77e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2654526 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill f6925344 2021-01-25T13:13:33 Trace Tests: Update expectations. Bug: angleproject:5530 Change-Id: I48a6dc5753406e6dd6cd1845f1f28fcbfc485e34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2647871 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi de53e308 2021-01-26T12:44:04 Metal: Fix XFB failures on ARM. Metal back-end needs to generate 2 versions of XFB shader: - one version without XFB emulation code for rasterized draw. - one version with XFB emulation code for draws with rasterization disabled. Based on a change by le.hoang.q@gmail.com Bug: chromium:1167763 Change-Id: I2858859e15b18701fadff09092bb08778c4a7e64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2648636 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c38413f8 2021-01-26T15:04:38 Make glmark2 benchmark output parsing more resilient On Linux, the following info messages are being output which are seemingly harmless: INFO: EGL CRITICAL: eglQueryString: display is not initialized. INFO: EGL ERROR: eglGetPlatformDisplayEXT: Bad platform type. These lines are now parsed and forwarded to output. Bug: angleproject:3139 Change-Id: Ia9feb2aef4c1809283588d6e5fc1b6a51ae8812b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2648641 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 9bbcd86a 2021-01-25T10:52:35 Capture/Replay: Fix instanced array client data. Enables a bunch of self-tests. Bug: angleproject:5530 Change-Id: Idd14574ba0f3d44124e153ccb32fec7318baf217 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2647745 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill cfb9c30c 2021-01-25T10:54:09 Capture/Replay: Apply skips correctly on SwS. The skips listed currently were explicitly for ES2_Vulkan instead of applying to both desktop and SwS Vulkan implementations. This CL swaps the expectations to use wildcards so they will work for both. Bug: angleproject:5530 Change-Id: Iae83207411296cb819bb0a25d2247cb4af863adb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2645723 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3623868e 2021-01-22T12:24:50 Trace Tests: Add xvfb command line option. This will enable running the tests on Linux. Bug: angleproject:5530 Change-Id: I7cd2155fac89d395a8bebacb2f1a44be0e7d3739 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2644723 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 3c3b82ab 2021-01-21T20:21:34 Tests: Add Hearthstone trace Test: angle_perftests --gtest_filter="*hearthstone*" Bug: angleproject:5571 Change-Id: Idc6535bbf817cd62d34aa9e684604be068455520 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2644143 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Yuly Novikov 3846cff3 2021-01-21T16:37:12 Suppress headers includes privacy checks on iOS shared libraries are hidden inside ios_framework_bundle, so technically we are not allowed to include headers from them. Ignore this check since everything works fine besides "gn gen --check". All ANGLE headers are considered public, so we don't need this check. Bug: angleproject:5417 Change-Id: I6b621132dfe85e0fb1bea4ae2b93097945a8801a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2643859 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill e60ce3da 2021-01-21T16:42:17 Capture/Replay: Allow testing with multiple versions. This embeds the context version and device type info into the replay. The self-tests then can create the correct display and context types. This fixes testing against SwiftShader which is necessary for the bots. Bug: angleproject:4759 Change-Id: If9da6bfdc1c2b315ccd7e453872fc84063277054 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2643363 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b745f6df 2021-01-21T14:41:00 Capture/Replay tests: Fixes for goma & depot tools. Adds the depot tools path to be specified via the command line. This will allow the bots to specify working directory locations. Also adds quotes around the goma path in the gn args. Bug: angleproject:5530 Change-Id: I1291a8cdf4e36e55786403b4d9a6ce8565093352 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2642894 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Steven An ff5f715e 2021-01-19T16:46:04 Properly fail upon program binary version mismatch Return angle::Result::Stop instead of Incomplete when Program::deserialize detects version mismatch. This causes the caller, Program::loadBinary, to stop trying to load it. At least with the Vulkan backend, trying to load it results in a crash. Added test case to ProgramBinariesAcrossPlatforms which exhibits the old crash. Bug: angleproject:5567 Change-Id: I2ebb27cee0aa895855504f758992b4dfec3f4aa3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2639078 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Steven An <stevenan@google.com>
Cody Northrop 70f493d6 2021-01-20T14:22:14 Tests: Add Subway Surfers trace Note this differs from the previous trace for the app, "subway_surfer_500". The previous trace is no longer compatible with the replay harness and could not be re-recorded due to using Vulkan at the time. Test: angle_perftests --gtest_filter="*subway_surfers*" Bug: angleproject:5569 Change-Id: If941a3f0e88e3e1aee7fb7db736e623f66a65de6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2641098 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Tim Van Patten 535d4783 2021-01-20T14:14:02 Vulkan: Flush if sync object is pending during SyncVk::getStatus() When a glGetSynciv() is performed for GL_SYNC_STATUS, we should flush any pending commands if a sync object is pending a flush, since the caller is interested in the status of a fence. This will guarantee that the work is submitted to the hardware and eventually completes. This is accomplished by moving mSyncObjectPendingFlush from ContextVk to ShareGroupVk, so that any sync objects used by any contexts within the share group are submitted to hardware and the required work completes. Bug: angleproject:5306 Bug: angleproject:5425 Test: FenceSyncTest.BasicOperations Change-Id: I2e2681ad01fda429ba37f061c9bac5eb91f800fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2641095 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Sunny Sachanandani 137271ff 2021-01-13T14:34:12 Support specifying array slice for D3D11 texture EGLImage Client can specify array slice for creating the SRV/RTV with EGL_D3D11_TEXTURE_ARRAY_SLICE_ANGLE. Test: D3DTextureTest.TextureArrayImage* Bug: angleproject:5538, chromium:1116101 Change-Id: I81cb2823df2145f1d05ad1526b0e36d6a0724d5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628609 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Shahbaz Youssefi bb3adfa4 2020-12-01T15:43:13 Rename ShaderVariable::structName to structOrBlockName Bug: angleproject:3580 Change-Id: Ic53a5267972f153dad2e20948e493e9767a45d16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568247 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0ae61c25 2021-01-20T10:40:24 Capture/Replay tests: Use failure exit code. This will allow the test step to fail when run in CI. Bug: angleproject:5530 Change-Id: I7c156438ded82aa7191b8b597a9a52200c0efe57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2638989 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi ea71c6b6 2021-01-12T14:13:35 Vulkan: Emulate R32F images with R32UI GL requires that imageAtomicExchange be supported for r32f formats. However VK_FORMAT_FEATURE_STORAGE_*_ATOMIC_BIT is nearly unsupported everywhere without some Vulkan extension that brings in unnecessary support. This GL feature is emulated by transforming the shader to use r32ui for all images that originally specified r32f. floatToUintBits and uintBitsToFloat is used to maintain correct usage of the image* builtin functions. Bug: angleproject:5535 Change-Id: Ie607089935d3283b3ffa054f4b4385b81fb8f53d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2635453 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill a4d05638 2021-01-18T14:58:22 Capture/Replay: Don't serialize compile resources string. The resources string gets changed dynamically during capture. This breaks the regression tests because they were comparing for identity. Bug: angleproject:5530 Change-Id: I0734f735577a5ff4c9083adb8f25a37aad3c0e37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634830 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 186fe990 2021-01-15T15:49:30 Vulkan: Redo RewriteAtomicCounters With MonomorphizeUnsupportedFunctionsInVulkanGLSL and RewriteArrayOfArrayOfOpaqueUniforms transformations run, it is no longer possible to encounter array of array of atomic counters, or have any passed to functions. As a result, RewriteAtomicCounters is greatly simplified. Additionally, it is no longer necessary to pass binding/offset information for atomic counters around and they can use constants. This change removes dependency on the shaderStorageBufferArrayDynamicIndexing Vulkan feature. Bug: angleproject:3726 Bug: angleproject:3881 Change-Id: Ia43092a668f60d009eccbbceeed5deaf105a5895 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633687 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 64c89120 2021-01-19T21:51:23 Suppress incomplete texture tests on mac/arm Bug: chromium:1168370 Change-Id: I5f3e1b76b4efd21f3655d6995293ff4bbbebea17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2639273 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 08e385b4 2021-01-15T17:31:19 Tests: Add Klondike Adventures trace Test: angle_perftests --gtest_filter=TracePerfTest.Run/*klondike_adventures* Bug: angleproject:5548 Change-Id: I1bab7696f3db6cb3b3be9d1f3e241891586a9cc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634204 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Trevor David Black 192a0147 2020-10-08T16:47:35 Multithreading in D3D11 minimum viable product Bug: b/168046573 Change-Id: I676a148333cbf5e9ca508768503e62cb14d8eeb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2629618 Commit-Queue: Doug Horn <doughorn@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor David Black <vantablack@google.com>
Shahbaz Youssefi 7489bb2e 2021-01-19T14:35:59 Suppress failing tests on mac ARM Bug: chromium:1167763 Change-Id: I7f88bd60119dd630ea7733228baff97598bfd739 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636688 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill b912eec5 2020-11-27T11:08:41 Vulkan: Support GL_EXT_tessellation_shader. Shader translator changes done in http://crrev.com/c/2633936 Adds a new DIRTY_BIT_PATCH_VERTICES state to Context. Supportes state query and transform feedback. 4 test suppressions remain as follow-up fixes. Adds a new varying packing mode for a simple Vulkan rule set. Based on work by Mohan Maiya (m.maiya@samsung.com). Test: dEQP-GLES31.functional.tessellation.* Bug: angleproject:3572 Change-Id: I4cad2cca30adb754fd12c83027673906541f566a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568234 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya acf2985d 2021-01-19T10:33:14 Vulkan: Add integer type incomplete texture tests Add tests for both signed and unsigned integer texture types. Bug: angleproject:5502 Bug: angleproject:4432 Tests: IncompleteTextureTestES3.*IntegerType* Change-Id: I22e451424d19c3e525cd08ad4c16e1150d9d2467 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2613244 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop dd6ac664 2021-01-18T16:30:18 Tests: Add Asphalt 8 trace Test: angle_perftests --gtest_filter="*asphalt_8*" Bug: b/150484427 Change-Id: I6a5f1feec61466eae55c1a2464272aba797ed56c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636602 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi f45e625f 2021-01-18T21:56:46 Fix image bindings with an image after an image array of array The logic to calculate the image binding offset for each element of an array of array of images was incorrect, in that it used the arraySize accumulated so far to offset the next image's binding. Bug: angleproject:5535 Change-Id: I2dc3ce7bbf7b77302d1b56b4701bec2e990fdae1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2635452 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill feb470cc 2021-01-19T10:10:18 Test Runner: Prevent race by not resetting timeout. This instead only sets the timeout when tests start to run. That way the timeout should always be at least the default timeout and we won't get into a situation where the watchdog times out the test immediately when the test starts. Bug: angleproject:5562 Change-Id: I6b12bb8fe8edcf35f46ba4fb106fdf80ff9402a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2637182 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 6c5b766b 2021-01-16T11:33:00 Reland "Vulkan: Generate xfb support code in SPIR-V for extension path" This reverts commit d090627616641f7524655627bfd415de6f8af942. Reason for revert: Fixed parent CL Original change's description: > Revert "Vulkan: Generate xfb support code in SPIR-V for extension path" > > This reverts commit d06feeac1e79d6102e01c123a360bc9099d5bba3. > > Reason for revert: > Earlier CL breaks pre-rotation: > https://chromium-review.googlesource.com/c/angle/angle/+/2598584 > > Original change's description: > > Vulkan: Generate xfb support code in SPIR-V for extension path > > > > The only piece of code that's needed to be generated for the extension > > path is the following, at the right spot (right before depth correction > > and pre-rotation): > > > > ANGLEXfbPosition = gl_Position; > > > > The SPIR-V transformer already has gl_Position loaded for depth > > correction and pre-rotation, so this change simply adds an OpStore to > > ANGLEXfbPosition. > > > > As a result of this change, @@ XFB-OUT @@ is no longer emitted if > > the transform feedback extension is supported. With the above code now > > placed correctly for geometry shaders, transform feedback tests for > > geometry shaders are enabled. > > > > Bug: angleproject:3606 > > Change-Id: I13a7956ab62a1a6b4196ff999442b99b50226c0f > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617659 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Charlie Lao <cclao@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: I74fa9fafe3c922cdb7cd09ee6351534e38528da9 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3606 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634048 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because this is a reland. Bug: angleproject:3606 Change-Id: Ic49a0be10cdb58e2b47896554f272093e24f93b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633711 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi beea4050 2021-01-16T11:32:50 Reland "Vulkan: Generate gl_Position.z correction in SPIR-V" This reverts commit e3c357369f970a94759074418670de2ef131dcb8. Reason for revert: Fixed parent CL Original change's description: > Revert "Vulkan: Generate gl_Position.z correction in SPIR-V" > > This reverts commit 1e4f8b02ae0603e7034c37e0ff6cee39c38771a9. > > Reason for revert: > Earlier CL breaks pre-rotation: > https://chromium-review.googlesource.com/c/angle/angle/+/2598584 > > Original change's description: > > Vulkan: Generate gl_Position.z correction in SPIR-V > > > > Instead of having the translator output code to transform gl_Position.z > > to Vulkan clip space in the vertex stage, this change makes the SPIR-V > > transformer perform this operation on the last geometry stage. > > > > An alternative solution would be to generate this transformation in the > > translator in every geometry stage, each controlled by a separate > > specialization constant. This change avoids unnecessary modifications > > to earlier stages. Additionally, the transformer is already modifying > > gl_Position.xy for pre-rotation, so the addition of a small > > transformation of gl_Position.z in the same spot is rather trivial. > > > > Bug: angleproject:5479 > > Change-Id: Id971179ba47b206204bfdaf3b2b295ef97dd5117 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598585 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Charlie Lao <cclao@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: I3bdf3d6f743125eaf552608f2664b715bd6935c5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:5479 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634203 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because this is a reland. Bug: angleproject:5479 Change-Id: Id23052b8fc6bffa5bab20cb93eb21ea49a0f80d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633710 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi dfd9bdfd 2021-01-16T11:32:30 Reland "Vulkan: Generate gl_Position pre-rotation in SPIR-V" This reverts commit 3d39b7c5eab88c420d982155ffbb6181c678ceea. Reason for revert: Fixed interaction with the `forceDriverUniformOverSpecConst` workaround. Original change's description: > Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V" > > This reverts commit 0f86b196ffaffeeee3460e3188f20a7ac120796d. > > Reason for revert: > Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape. > > Original change's description: > > Vulkan: Generate gl_Position pre-rotation in SPIR-V > > > > Instead of having the translator output pre-rotation code in the vertex > > stage based on a specialization constant, this change makes the SPIR-V > > transformer perform pre-rotation of gl_Position on the last geometry > > stage. > > > > An alternative solution would be to generate pre-rotation code in the > > translator in every geometry stage, each controlled by a separate > > specialization constant. This change avoids unnecessary modifications > > to earlier stages. The generated shaders are also smaller, as they > > don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V > > transformer knows the pre-rotation at transformation time, so it can > > simply use swizzles to achieve the same results. > > > > This also ties in with upcoming changes which move gl_Position.z > > correction to the last geometry shader stage, which is trivially done > > piggy-backing on the infrastructure in this change. > > > > Bug: angleproject:5478 > > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Charlie Lao <cclao@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:5478 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Bug: angleproject:5478 Change-Id: I7c5eaeef03d9520abd36a1c4a766b6abbf4fdb45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633709 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>