src


Log

Author Commit Date CI Message
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>
James Darpinian e70f6aa6 2020-10-19T16:49:48 ANGLE_platform_angle_device_context_volatile_* extensions Change from Kimmo Kinnunen downstream: https://bugs.webkit.org/show_bug.cgi?id=216106 Add two extensions for EAGL and CGL backends to declare the underlying platform context being "volatile". It means that the thread-global current context is being modified behind ANGLE. If ANGLE context is marked volatile for a particular API, it will sync the underlying context for every EGL function that needs the context. Most intuitive use is for the client to call eglMakeCurrent before calling any gl function if the client knowns the platform state might be dirty. Implement eglReleaseThread for EAGL and CGL backends. Releasing thread will unset the platform current context. Fix a bug of omitting EGL_ANGLE_device_eagl from being advertised. Bug: angleproject:5104 Change-Id: I1ec98ad35bc0caada23556ae8697fdef20f65b1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486548 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Ian Elliott 45881ab3 2020-10-26T16:15:16 Enable debug-util markers with an env var/property Enable the Vulkan debug-util markers by setting the ANGLE_ENABLE_DEBUG_MARKERS" environment variable to any 1+-character value. On Android, this is set with the "debug.angle.markers" Android property. Bug: b/170249632 Change-Id: I66503fac71397c59cc641dd903faad152e0ec449 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2500186 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 94900b69 2020-10-24T03:46:44 Vulkan: Remove VVL warning suppression for push constants Bug: angleproject:5191 Change-Id: Ic4a64ad0bf4cdf6b3ed8677dd45ee940d0da30d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496245 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 78c5b83d 2020-10-27T08:16:58 Capture/Replay: Move exported data to start of header. This will make scripts have an easier time parsing metadata. Bug: angleproject:5134 Change-Id: I4ee32374c8d54d8f91e7f5b8c69b4085e43d1832 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2500601 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: 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>
Shahbaz Youssefi bd966253 2020-10-22T14:55:49 Increase MAX_UNIFORM_BUFFER_BINDINGS to 72 This is the minimum Vulkan limit. Bug: angleproject:5212 Change-Id: I627a1446434c7abc2f53525cb71cb40a4927461c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491937 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b0db7cca 2020-10-23T17:37:41 Vulkan: Initial emulated prerotation support This is currently only supported for end2end tests (those which use ANGLETestBase, excluding those that use WithNoFixture) and Vulkan. Use WithEmulatedPreoration(*_VULKAN(), degree) where degree is either 90, 180 or 270. With emulated prerotation, the window dimensions are physically swapped if 90 and 270 degrees, while the width and height is still reported as requested by the test. In the Vulkan backend, the width and height are swapped after getting queried from the surface, and prerotation is assumed. Bug: angleproject:4901 Change-Id: I294436be4c7015d2a63463c4d61de7b67f38c95d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495544 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9a47fe71 2020-10-26T10:43:45 Use 4 colors in Checkered test shader This shader previously output red and green in a checkered pattern (with four regions). This makes it hard to verify that the output is not rotated / flipped. This change makes the shader output: +--------+--------+ | red | blue | +--------+--------+ | green | yellow | +--------+--------+ Bug: angleproject:4901 Change-Id: I02723306dec17d1419f11d9f76e96b1cefc3bf06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2498261 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 98c5ff6b 2020-10-25T16:26:55 BinaryStream: Preserve 64-bit integer data. Previously the code would truncate 64-bit data to fit in 32-bits. This ran into a serialization bug when expanding a 64-bit mask. The new blend state masks for extended range were out of range for the 32-bit promotion that was happening before. Also refactors how we capture bools and enums to be more consistent. size_t is now correctly saved and loaded as 64-bits. Bug: angleproject:5247 Change-Id: I452a98c1b0add4c0cf45493032e9310e7d8321b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497561 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 5cbf54da 2020-10-18T10:42:07 Vulkan: Fix exposure requirements for EXT_texture_format_sRGB_override Previously we were not checking for the correct format support to expose this extension. This change fixes that, and disables the extension if we do not support the formats we need for our implementation to function. This also adds an end2end test to check each possible format that can be used with this extension. Update GLES major version to 3 for TextureSampling perf benchmark Bug: angleproject:4561 Change-Id: Ic81bb28f02f9f36e1bc83a8eea376169de9e7735 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359482 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 1c53df78 2020-10-26T13:42:14 Capture/Replay Tests: Expand suppressions. Updates the suppression list to include Linux tests and other new failures. Also sort the test list output to make it more readable. Bug: angleproject:5134 Change-Id: I38b5d95ceab3270d1cab13e3fb3c19d3137d10dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497568 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 5d0458fa 2020-10-23T12:52:34 Vulkan: Add OES_shader_multisample_interpolation support Support OES_shader_multisample_interpolation extension if maxInterpolationOffset >= 0.5 Bug: angleproject:3589 Tests: dEQP-GLES31.functional.shaders.multisample_interpolation.* dEQP-GLES31.functional.state_query.multisample_interpolation.* Change-Id: I42997f10be82e3be8b63c56833cbbf791bf4be9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477905 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5c4c37dc 2020-10-25T15:55:45 Capture/Replay: Test improvements. Streamlines some arguments. Use a common subdirectory in out/. Show process name when logging. Clean up environment variable handling. Bug: angleproject:5247 Change-Id: I85eb5b8194a64f90691c4d03db3ee65c5e9b2313 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497560 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang a12072ca 2020-04-03T12:18:42 GL: Use ANGLE_GL_TRY for draw calls. Bug: angleproject:3020 Change-Id: Id3ff1828a9a63f4efe6e85dc938a22dc6a782a88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135926 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5dafe107 2020-10-25T20:05:03 Output nullptr pointer parameters correctly. Fix by piping all pointer value parameter output to const void *, which has a custom handler. This fixes a case where non-void pointers were being output as (nil) or other values. Fixes the Capture/Replay tests for many cases. Bug: angleproject:5249 Change-Id: I20c9e605d9c5a36e36e7a3d6c753a4e0de94ac4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497563 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 21add124 2020-10-25T15:55:45 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>
Jamie Madill d6d07359 2020-10-25T20:02:19 Fix uninitialize state in ProgramState. The variable mLocationsUsedForXfbExtension was never initialized which would give it an undefined value for the lifetime of a Program. This was causing the capture replay tests to be very flaky. Bug: angleproject:5248 Change-Id: Id8d61b88fb2ca2c6340acfe9d6e3720378528987 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497562 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 0cec8f74 2020-10-23T13:47:41 Tests: Add Fate/Grand Order trace TBR: jmadill@chromium.org,courtneygo@google.com Test: angle_perftests --gtest_filter="*fate_grand_order*" Bug: b/171582504 Change-Id: I09b421ee5a245474ed1c797e9049a2f379d8dc11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495542 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 29ca7186 2020-10-25T11:16:29 Tests: Add Dragon Ball Legends trace TBR: jmadill@chromium.org,courtneygo@google.com Test: angle_perftests --gtest_filter="*dragon_ball_legends*" Bug: b/171652453 Change-Id: I668232f3a1e7ca9663f481fb4246b44fb9333b4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497104 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 258f17d6 2020-10-23T10:39:25 Tests: Add World of Tanks Blitz trace Test: angle_perftests --gtest_filter="*world_of_tanks_blitz*" Bug: b/171446929 Change-Id: I028bfde50baa583f1ff7bf30ad77fe40026c7ca7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495486 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9e3eec54 2020-10-25T15:44:09 Revert "Vulkan: Make DescriptorPoolHelper a Resource" This reverts commit 5dcd29a6e532e4bd617af8767d488120b57f3b2c. Reason for revert: Breaking the ANGLE -> Chromium roller: https://chromium-review.googlesource.com/c/chromium/src/+/2496281 Original change's description: > 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: MultithreadingTest::MultiContextDrawSmallDescriptorPools() > Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5030 Change-Id: I0fd6d9a0e1b0989b22368ef98652281288699deb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497222 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2d6b6026 2020-10-25T13:15:09 Skip flaky tests on Win7/NVIDIA/GLES. CopyTextureVariationsTest.CopyTexture/ES2_OpenGLES__AToRGBFlipYUnmultiplyAlpha CopyTextureTest.CopyOutsideMipmap/ES2_OpenGLES Bug: angleproject:5246 Change-Id: I388df27c690d2a082741f2018690bf2fa24a7594 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497224 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4968245c 2020-10-25T12:58:15 Adjust TestSuite test timeout values. This should prevent flakiness in this test. Bug: angleproject:5245 Change-Id: I841de2cee093ea04b35763314f0a4f5497bcf778 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497223 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill acd15cae 2020-10-11T17:16:34 Re-land "Link C++ histogram support into angle_perftests." This is the first step in uploading histogram data instead of a gtest special format. We importing several new libraries: - tools/protoc_wrapper - third_party/protobuf - third_party/catapult (was already used for Android) No functional change. Only affects compilation. Protobuf support is disabled when not available. Bug: angleproject:5161 Change-Id: I64be0977648993b1012ff0d9e0439c5876697e36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497221 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 6422d3b4 2020-10-25T04:36:53 Metal: Fix 2D array texture's robust resource init 2D array texture's robust resource init didn't work due to mtl::InitializeTextureContents() expects one slice at a time, however TextureMtl::initializeContents() created entire layers index via GetZeroLevelIndex() before passing to mtl::InitializeTextureContents(). Fixed by changing to GetLayerMipIndex() instead. Bug: angleproject:2634 Change-Id: Ie8d80d927a987c2b393d913fda8288b6e06e97d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494527 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Le Hoang Quyen 9ff58e26 2020-09-27T15:27:12 Metal: Implement sampler object & shadow compare mode Note: GL_TEXTURE_COMPARE_MODE=GL_NONE is not supported on shadow sampler for now. Bug: angleproject:2634 Change-Id: I470bad6322e78ef1408e4334e1e778821df7cbf1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433332 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>
Mohan Maiya f037cdc4 2020-10-23T17:12:21 Check for precision match of uniforms only if there is static use There are legacy apps that have uniforms declared with different precisions across shaders. There is some wiggle room in the ESSL spec to accommodate such cases as long as the uniforms are not statically used in shaders. We choose this lenient interpretation since it allows for more apps to be compatible with ANGLE. This change allows BADLANDS to progress past a black screen. Bug: angleproject:4971 Tests: angle_end2end_tests --gtest_filter=GLSLTest_ES31.UniformPrecisionMatchValidation* Change-Id: Icdd2056c8415803eb34f2840b0758e1acf53c23a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495493 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 23c12db2 2020-10-24T16:43:27 Expand Mac XFB suppression. TransformFeedbackTest.RecordAndDraw/ES3_OpenGL Bug: angleproject:4992 Change-Id: I42118bba63e32901c3213f9a4ac5b87f2ab209f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495698 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9990a814 2020-10-24T16:11:54 Suppress failing Windows 7 test. ClearTestES3.ScissoredClearHeterogeneousAttachments/ES3_D3D11 Bug: angleproject:5237 Change-Id: I3f3c062e23d77b4621df13ea75f7910ed22ab983 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496144 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 259d14e5 2020-10-24T13:39:45 Disable timing out Vulkan GLES 1 test. This test is timing out on a Windows 7 config. Test: GLES1ConformanceTest.AmbLight/ES1_Vulkan Bug: angleproject:5234 Change-Id: I4c3ccdeb58d793952aaa44d4902dedf7ce192ec3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 37e84651 2020-09-27T13:47:36 Metal: Partially implement EXT_debug_marker Partially implemented to make it easier to debug. Only debug group is supported for now. Bug: angleproject:2634 Change-Id: I029dd4283790fb57a6964aad89c37d092e3378e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433331 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 1c881dad 2020-09-27T01:35:31 Metal: Implement glRenderbufferStorageMultisample(ANGLE) Bug: angleproject:2634 Change-Id: Ia4dd477cfbad298994036705b43f3a5877e3c9cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433330 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 80d4901a 2020-09-26T19:22:00 Metal: Support integer textures. Bug: angleproject:2634 Bug: angleproject:5154 Change-Id: Iffea26fe2c683557b4fa7c13fddf3523294b47d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433329 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 96714af8 2020-10-22T17:28:20 Vulkan: Dirty pipeline and desc set after mid-RP clear with draw If UtilsVk::clearFramebuffer issues a draw call on the currently open render pass (as opposed to starting one itself), ContextVk would be unaware of the fact that the graphics pipeline and descriptor sets have been changed. This change sets the necessary dirty bits for ContextVk to recover from a UtilsVk::clearFramebuffer call. Bug: chromium:1141040 Change-Id: I865220fb5b3b78bf4c6b6b2896e57d8a7490c270 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493184 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 62d010f9 2020-10-22T13:31:50 Vulkan: Assert that attributes in shader info map are active Attributes that are not active shouldn't have made it to the ShaderInterfaceVariableInfoMap of gl::ShaderType::Vertex. This change turns a few ifs to ASSERT in SpirvVertexAttributeAliasingTransformer. Bug: angleproject:4249 Change-Id: I3da4ea773eae20fe2f126b82f7790e9f2cab0bc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491929 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 2f7fc0f3 2020-10-23T09:58:56 Tests: Remove standalone duplication. Also cleans up some compiler warnings that crept in because of how we structured the test sources in GN. We also no longer need special handling for the test "main" files. Must land after http://crrev.com/c/2495003 rolls into ANGLE. Bug: angleproject:5124 Change-Id: I43ff91b5c8f00214886cd8ac2403702e5026a840 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495281 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 4953f03d 2020-10-23T22:57:43 Revert "Link C++ histogram support into angle_perftests." This reverts commit 7a0263547cda936b320d80c650b69d7522ee1a9f. Reason for revert: Breaks roll of ANGLE into AOSP: ERROR at //testing/test.gni:76:5: Assertion failed. assert(_use_raw_android_executable || enable_java_templates) ^----- See //third_party/catapult/tracing/tracing/BUILD.gn:35:1: whence it was called. test("histogram_unittests") { ^---------------------------- See //src/tests/BUILD.gn:262:17: which caused the file to be included. deps += [ "//third_party/catapult/tracing/tracing:histogram" ] ^------------------------------------------------- Original change's description: > Link C++ histogram support into angle_perftests. > > This is the first step in uploading histogram data instead of a gtest > special format. We importing several new libraries: > > - tools/protoc_wrapper > - third_party/protobuf > - third_party/catapult (was already used for Android) > > No functional change. Only affects compilation. Protobuf support is > disabled when not available. > > Bug: angleproject:5161 > Change-Id: Ie28d57d7e142c437ebd51463ce3e2cafd87468d1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482294 > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Brian Sheedy <bsheedy@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,bsheedy@chromium.org,jmadill@chromium.org Change-Id: I62c4b926cbe82d10e460b28b5f864521e2b1f8ee No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5161 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495549 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis 6a35cadc 2020-10-23T17:14:44 Suppress VUID-vkCmdDraw-None-02698 validation A bug in Vulkan-ValidationLayers is stopping changes from being rolled into ANGLE. Suppress this warning for now, until the root cause is addressed. Bug: angleproject:5191 Change-Id: I7c6cb65055bdc7b2eb3679f26f09530b1cff3775 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495543 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 31868665 2020-10-23T10:54:02 Test Runner: Only run watchdog in child processes. For single test execution we don't need to be running the watchdog thread. This only serves to cause timeouts in slow running tests. Adds a new method to keep the --batch-id argument in the list of parameters so other functions can process them. Bug: angleproject:5124 Bug: angleproject:5218 Change-Id: I958230149b7d79830802cd55f67f0190de607200 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495282 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e86b4257 2020-10-21T13:28:10 Vulkan: Refactor how finishToSerial() retires commands. This cleans up some of the logic around command completion. We no longer query each Fence in order after a finishToSerial call. Instead we clear out all the commands that have been completed up to the latest Fence. Also cleans up ordering code. Because we now have a linear ordering of Serials we can validate the ordering is "good". Attempt at solving a suspicious ASSERT firing on AMD Win7. Bug: angleproject:5198 Change-Id: I7750eff7f8d3aff397e7880f997ad86c9bf7d7a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490342 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi cb5c0b01 2020-10-21T00:12:57 Vulkan: Drop RelaxedPrecision from aliased attributes Take the following example: attribute mediump vec4 a; // location 0 attribute highp vec2 b; // location 0 f(b) This was previously translated to: attribute mediump vec4 a; // location 0 f(a.xy) That difference here is that b was previously highp, but a.xy is mediump. This change drops RelaxedPrecision from attributes so that they are all highp. Note that the temporary SPIR-V ids these attributes are loaded into still retain their RelaxedPrecision decoration (if any), and the precision of calculations in the shader is not increased by this change. Bug: angleproject:4249 Change-Id: Idca0fc667ad6e36ddf428b65ea03706272a9ed9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488131 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop de3a7180 2020-10-23T10:54:46 Vulkan: Reduce scope of clear workaround Forcing draw for clear only appears to be needed on Pixel 2. Test: angle_perftest --gtest_filter="*free_fire*" Bug: angleproject:4836 Change-Id: I4446adc04a8e5cf7b0bfef68ec70122e847755a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495484 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5ffd778e 2020-10-23T13:16:50 Make capture replay tests exectuable. This makes them runnable directly on Linux. Bug: angleproject:5134 Change-Id: Icf5ccf9d82b8cf09b16c5c60312e33752a9724e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495288 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 33e30205 2020-10-17T19:03:45 Vulkan: sRGB cleanups. A few fixes to how we check for the sRGB override in the TextureVk class. In at least one instance there was a potential edge case where in syncState we might not create the Texture with the mutable bit the second time through the function. Bug: angleproject:5176 Change-Id: I4f1ca6e469b10514c3a0de3120be9ade62568084 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482292 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a7c16c2d 2020-10-21T22:54:56 Trace Tests: Print trace download progress. As the hook runs, we'll now be printing each trace's progress. This uses some tricks with Python's subprocess. Bug: angleproject:5210 Change-Id: I4e776a89c2b3e06ba67f9a82969aa394b24208d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491104 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Tim Van Patten 5dcd29a6 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: MultithreadingTest::MultiContextDrawSmallDescriptorPools() Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 7a026354 2020-10-11T17:16:34 Link C++ histogram support into angle_perftests. This is the first step in uploading histogram data instead of a gtest special format. We importing several new libraries: - tools/protoc_wrapper - third_party/protobuf - third_party/catapult (was already used for Android) No functional change. Only affects compilation. Protobuf support is disabled when not available. Bug: angleproject:5161 Change-Id: Ie28d57d7e142c437ebd51463ce3e2cafd87468d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482294 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter cfd70489 2020-10-22T10:26:19 Re-enable dEQP-EGL.functional.fence_sync.* Tests appear to pass now. Going to be changing functionality in this area so prefer to have them enabled. Bug: b/154030730 Bug: angleproject:3271 Change-Id: I1c0ffe40b726943c146fa06aa16de79d434760bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493182 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill c8542d28 2020-10-22T14:10:32 Temporarily duplicate standalone tests. This switches 'angle_*_tests' to be identical to 'standalone_angle_*_tests'. Once rolled into Chromium we can then switch back to using 'angle_*_tests' and finally remove 'standalone_angle_*_tests' entirely. Must land after https://crrev.com/c/2490987 Bug: angleproject:5124 Change-Id: I1f4794d429733a43113dcba6aaaba0c047607e50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491932 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter 097f307e 2020-10-22T10:26:19 Vulkan: Fix segv referencing contextVk Tests dEQP-EGL.functional.fence_sync.* can cause SyncHelper::clientWait to be called with a null contextVk which we were trying to deference to get to the renderer. We have a pointer to the renderer already so just use that. Bug: b/154030730 Change-Id: If64ec2c960f39b893d2e47a11638d16f830aecfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493181 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott e89c8f7c 2020-10-22T13:16:29 Add run-time check in EVENT() to disable debug markers To avoid a large performance impact from adding Vulkan debug-util markers for every GLES entrypoint, the EVENT() macro needs a run-time check that avoids constructing a ScopedPerfEventHelper object. Test: angle_perftests -v --local-output --gtest_filter="TracePerfTest.Run/*nba*" Bug: b/170249632 Change-Id: I422111cdf6f6f713800e7ac587e66582bd00359f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491009 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexis Hétu fbec291e 2020-10-21T19:32:38 Allow rendering to half float in ES2 contexts when possible According to the EXT_color_buffer_half_float spec: "Dependencies on OES_texture_half_float If OES_texture_half_float is not supported, then all references to RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and half should be ignored. If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable." This fixes 4 viz_unittests when running with SwANGLE: All/GLI420ConverterPixelTest.ScaleAndConvert/0 All/GLI420ConverterPixelTest.ScaleAndConvert/1 GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture GLScalerPixelTest.ScalesWithColorManagement The original attempt at landing this change (https://chromium-review.googlesource.com/c/angle/angle/+/2489726) was reverted due to dEQP failures on the Metal backend. After some investigation, it was decided to simply disable the 2 offending tests for now. Bug: angleproject:5174 Change-Id: Id1e382b72d91109e4718c729cc6c5f0a0f413d7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491930 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Cody Northrop 9c8da026 2020-10-22T10:46:00 Revert "Tests: Add FIFA Mobile trace" This reverts commit 2e1091e0ef699a39662f210abcb5af69750dcb38. Reason for revert: Potentially flaky results, http://anglebug.com/5215 Original change's description: > Tests: Add FIFA Mobile trace > > Test: angle_perftests --gtest_filter="*fifa_mobile*" > Bug: b/171421051 > Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279 > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Cody Northrop <cnorthrop@google.com> TBR=jmadill@chromium.org,syoussefi@chromium.org Bug: angleproject:5215 Change-Id: I6a332b126c6c54f189fd451725957d288ab6b76b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491113 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 0f2542e1 2020-10-21T00:38:40 Vulkan: Validate SPIR-V transformer at link time Using an ASSERT, the SPIR-V transformer is run at link time to catch bugs in tests that link but don't draw. Bug: angleproject:4249 Change-Id: Icbeeb6e968f9901ba003918b1dd1d2eef0792469 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488227 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Xiaoxuan Liu 883276cc 2020-10-21T16:20:35 Fix end2end tests VertexAttribute* failure VertexAttributeTests used 'mediump' precision to sample ushort with 65533/65534/65535 which exceed the range defined in ESSL Spec. (Spec "4.5.2 Precision Qualifiers") Change precision of attribute 'test' and 'expected' to 'highp' for numbers that exceed the minimum range. Bug: angleproject:5211 Change-Id: I01e5c999ec43d17a7390835d2ac88ce2bc0b4c5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491621 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 1c7f0284 2020-10-21T01:40:08 Vulkan: Fix invalid clamping of ES3 clear stencil values Added 3 new end2end tests Bug: angleproject:5202 Change-Id: I95f9ffd989105f5bd3283676d6fa46e904503369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488481 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi d7475437 2020-10-20T15:04:18 Vulkan: Support vertex attribute aliasing for matrix types This change builds on vertex attribute aliasing SPIR-V tranformation for non-matrix types to add support for matrix attribute types. This is done by turning every matrix attribute declaration into multiple vector attribute declarations, and reusing the same mechanism for resolving aliasing between non-matrix types. Take the following example: attribute mat4 a; // location 0 attribute vec3 b; // location 1 attribute mat3 c; // location 1 attribute vec4 d; // location 2 The shader is modified as such: attribute vec4 a_0; // location 0 attribute vec4 a_1; // location 1 attribute vec4 a_2; // location 2 attribute vec4 a_3; // location 3 attribute vec3 c_0; // location 4 attribute vec4 d; // location 5 attribute vec3 c_2; // location 6 mat4 a; mat3 c; and in the beginning of main(), the following code is inserted: a = mat4(a_0, a_1, a_2, a_3); c = mat3(c_0, d.xyz, c_2); The shader continues to use a and c as before. Bug: angleproject:4249 Change-Id: Idfcb8c6037ca0c1f21de8203d7e2a1b66fed6e7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488128 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 2e1091e0 2020-10-21T14:53:40 Tests: Add FIFA Mobile trace Test: angle_perftests --gtest_filter="*fifa_mobile*" Bug: b/171421051 Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop ad222d1c 2020-10-20T16:29:08 Tests: Add KartRider Rush+ trace Test: angle_perftests --gtet_filter="*kartrider_rush*" Bug: b/171337677 Change-Id: I9a248ecf51e296a2b894b0951538842a7efde046 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490277 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3fb490a7 2020-10-19T23:33:47 Vulkan: Faster check for vertex attribute aliasing In preparation for matrix attribute aliasing support, where CalculateAliasingAttributes would get a bit more complex. This change adds a fast-check function to determine if there is any aliasing at all. Bug: angleproject:4249 Change-Id: Ib2aa08b2da29a194baa905ba8f9aa2cdef0ae2c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488127 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 8feb5c82 2020-10-20T15:49:13 Tests: Add Marvel Contest of Champions trace Test: angle_perftests --gtest_filter="*marvel_contest_of_champions*" Bug: b/171334313 Change-Id: Ia1195a5647ad2805e3cabd23c15719eb1ebc3534 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2487764 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Alexis Hétu 032431a1 2020-10-21T19:32:38 Revert "Allow rendering to half float in ES2 contexts when possible" This reverts commit 1dc0d3945e7f11506b9e3239bba7189d66a25a50. Reason for revert: Causes a failure on the bots. See: http://anglebug.com/5206 Original change's description: > Allow rendering to half float in ES2 contexts when possible > > According to the EXT_color_buffer_half_float spec: > > "Dependencies on OES_texture_half_float > > If OES_texture_half_float is not supported, then all references to > RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and > half should be ignored. > > If OES_texture_half_float is supported, textures created with: > > <internalformat> = RGBA > <format> = RGBA > <type> = HALF_FLOAT_OES > > are renderable." > > This fixes 4 viz_unittests when running with SwANGLE: > All/GLI420ConverterPixelTest.ScaleAndConvert/0 > All/GLI420ConverterPixelTest.ScaleAndConvert/1 > GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture > GLScalerPixelTest.ScalesWithColorManagement > > Bug: angleproject:5174 > Change-Id: If8623b1edbc8f0bac83513ea202ef49ad388101c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489726 > Commit-Queue: Alexis Hétu <sugoi@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=sugoi@chromium.org,geofflang@chromium.org,sugoi@google.com Change-Id: Iab2df8ac563661fcf270425408b17e7bbe48a255 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490820 Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Geoff Lang 25bbf5d7 2020-04-03T11:58:13 GL: Use ANGLE_GL_TRY when setting pixel pack and unpack state. Bug: angleproject:3020 Change-Id: Ifd36973d66c850d0d0520d9721ab9e5294489b39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2134424 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Alexis Hetu 1dc0d394 2020-10-21T10:09:10 Allow rendering to half float in ES2 contexts when possible According to the EXT_color_buffer_half_float spec: "Dependencies on OES_texture_half_float If OES_texture_half_float is not supported, then all references to RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and half should be ignored. If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable." This fixes 4 viz_unittests when running with SwANGLE: All/GLI420ConverterPixelTest.ScaleAndConvert/0 All/GLI420ConverterPixelTest.ScaleAndConvert/1 GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture GLScalerPixelTest.ScalesWithColorManagement Bug: angleproject:5174 Change-Id: If8623b1edbc8f0bac83513ea202ef49ad388101c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489726 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 089ef0fa 2020-10-14T11:31:56 Expose glGetTexLevelParameter{if}v before ES 3.1. Add a new extension, ANGLE_get_tex_level_parameter which allows users to query texture size and format information before ES 3.1. This is very useful for re-using existing textures instead of re-allocating. Bug: chromium:1132514 Change-Id: I71f6bad8bdacb91875cc81b4884d4c3099235f3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469959 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill cd88bccf 2020-10-21T08:44:32 Test Runner: Command line sharding args override env. Previously ANGLE would error out when both the enviornment and the command line args are specified at the same time. Because the perf bots use both at once we need to handle the conflict in the same way as the prior test runner does. In this case the command line takes precedence over the environment. Bug: angleproject:5124 Change-Id: I1ba765b4e75759922bf9fe2db9f153cfc5995f85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489722 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis fb44e93b 2020-10-20T10:54:48 Disable TransformFeedbackTest.NonExistentTransformFeedback* This test hase begun failing consistently on the Arm based Apple DTK. This adds a skip to the test for that config. Test: TransformFeedbackTest.NonExistentTransformFeedbackVaryingWithGLPrefix:/ES3_OpenGL Bug: chromium:1140113 Change-Id: I97612a073db20c99883908a19ac0013101061da0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486100 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya 553726a4 2020-10-20T11:29:17 Vulkan: Add OES_shader_multisample_interpolation extension Addition of 'sample' qualifier keyword and 'interplateAt*' fragment shader builtin functions with autogen Bug: angleproject:3589 Change-Id: If358eb371fbcefffa715c8da4ba5e96eefaf6f52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477904 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop d591ddff 2020-10-08T10:36:21 Tests: Add Free Fire trace Test: angle_perftests --gtest_filter="*free_fire*" Bug: b/168049517 Change-Id: Ide772454fe5c602d92bf9c476d33da420b9dfa14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461350 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill e2147a58 2020-10-20T09:07:22 Add missing condition_variable include. This was breaking the ANGLE build in Skia. Bug: angleproject:5195 Bug: angleproject:5168 Change-Id: I931150922114df5b381e6d226e3fcaab4c15c2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485580 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9091de43 2020-10-17T00:33:57 Vulkan: Support vertex attribute aliasing for non-matrix types Initial implementation that supports float and vecN types. In this case, every attribute occupies a single location. When two attributes alias, they are either the same size, or one is bigger than the other. Take the following example: attribute vec3 a; // location 0 attribute vec3 b; // location 0 attribute vec4 c; // location 1 attribute vec2 d; // location 1 The shader may access either a or b (but not both). Similarly, it can access either c or d (but not both). The shader can be modified such that: - f(b) is replaced with f(a). - g(d) is replaced with g(c.xy). - b and d are removed As a result, there are no longer any aliasing attributes. In other words, when attributes alias, the larger attribute can be retained and the other attributes can be replaced by selecting the appropriate number of components from the retained attribute. Bug: angleproject:4249 Change-Id: I7c5461f777d659c92977e2572091a8ce5e422704 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482286 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill 26cd1cc6 2020-10-18T11:44:27 Perf Tests: Add stdout printing arg to bot mode. This can be useful for debugging and also for perf tests. The perf tests output gets scraped from stdout. Bug: angleproject:5124 Change-Id: Id5005df3f2b66be9497a9ba422abd47b95a1a330 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486097 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 9d160b0b 2020-10-16T08:31:18 Tests: Add Brawl Stars trace Test: angle_perftests --gtest_filter="*brawl_stars*" Bug: b/171043467 Change-Id: Ide04fbbfd69145554c6dbb544d6ee4daa51df9cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481154 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 637786a9 2020-10-15T16:23:12 Tests: Add Arena of Valor trace Test: angle_perftest --gtest_filter="*arena*" Bug: b/170994774 Change-Id: I44c81c539da975fefcf085d6fc12f8508826277f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477440 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang d8529380 2020-10-20T13:55:23 Generate CONTEXT_LOST errors on every GL call. The robustness spec states that all GL calls should generate context lost errors when the context is lost. This behaviour was lost due to some context lookup optimizations but can be re-added at no cost by updating the autogenerated entry points. Updated the ContextLostTest to cover the repeated error generation behaviour. Bug: chromium:1137241 Change-Id: I0b8d1cf4d2a37f13c466c8dd0e66edfe852f7e59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488180 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 32f0dd6a 2020-10-15T10:08:51 Add Queries and Setters for resource initialization state. There are cases where we know that the next draw operation will fully initialize a texture/renderbuffer and we can save the robust resource init cost. Default all resource init state to Initialized, any redefinition will set it back to MayNeedInit. After setting an individual texture image to initialized, check if all images are now initialized and update the TextureState::mInitState to match. The cost of this check is only performed after initializing an image and allows future init checks to be faster. Bug: chromium:1132514 Change-Id: Ia23664ae162559d1614f1eb5643e24a491d87f7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475456 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter ed876984 2020-10-03T11:00:36 Vulkan: functionally complete worker thread Working on enhancing worker thread to completely own primary command buffers. This will include not only processing SCBs from main thread into a primary, but also submitting those command buffers to the queue. The CommandProcessor is a vk::Context so it can handle errors in the worker thread. When the main thread submits tasks to the worker thread it also syncs any outstanding errors from the worker. Include asynchronousCommandProcessing feature that will control whether the worker thread task does it's work in parallel or not. If false, we wait for the thread to complete it's work before letting the main thread continue. If true, the thread can execute in parallel with the main thread. Bug: b/154030730 Bug: b/161912801 Change-Id: I00f8f013d6cbb2af12a172c4f7927855db2f0ebf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2328992 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2882e1af 2020-10-20T09:45:23 Fix missing validation cache update on VAO binding. Bug: chromium:1139398 Change-Id: I85a0d7a72bc2c97b07ebc5f86effd8e36aefd544 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485581 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6e125937 2020-10-20T10:30:14 Suppress timing out GLES 31 tests on GL/Linux. dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset_multiple_invocations Bug: angleproject:5197 Change-Id: I379799565850fd2002c1f708bfa58d1e886c7fba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485284 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 1bf0b917 2020-10-16T12:13:24 Vulkan: Pull generic SPIR-V transform functionality into base class This is in preparation for adding another transformation for vertex attribute aliasing. This transformation is not merged with the existing one, because in practice vertex attribute aliasing is rare so this transformation would be rarely done. This makes sure the efficiency of the main transformer is not affected, and avoids complicating it further. Bug: angleproject:4249 Change-Id: I9c3f6cefbec99a355596579f4471d7ada810927e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482285 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c55cd6b4 2020-10-14T23:06:27 Vulkan: Remove dead path in clear If the clear is not mid render pass, clearWithLoadOp was used to either: - modify the current render pass loadOps, assuming no rendering has been done, or - defer the clears by staging them in the attachment images. The former path however is dead code. It's impossible to start the render pass without recording any commands. In other words, if the render pass has already started, the clear must be mid RP. Bug: angleproject:4836 Change-Id: Idb1cb37b8a0e56b897ac69cf435f9a52be4bd2f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2473764 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen c90faa71 2020-10-18T20:38:54 Metal: Auto detect parent layer's contentsScale change Currently when user passes a CALayer to create WindowSurface, Metal back-end will create a child CAMetalLayer to render to. However, when this CALayer's contentsScale is changed, the CAMetalLayer's contentsScale wasn't updated accordingly. This CL fix this. Bug: angleproject:2634 Change-Id: I20411aa8b81a30c6353e595680f1de00a4a24da7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482407 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Alexey Knyazev 3d6df964 2020-10-19T14:38:23 Metal: Skip redundant clamp of stencil ref value Bug: angleproject:2634 Change-Id: I36b2303366f67dc7d35489dc44c495db4ab530c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483844 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen ba12a1d3 2020-10-18T17:20:58 Metal: Remove no longer needed precompiled shaders Bug: angleproject:5186 Change-Id: Ic5a029ba20852843b909cec26517c03eb738bff5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482406 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Cody Northrop f0dcaca2 2020-10-08T22:44:22 FrameCapture: Image Texture binding in MEC Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: If5890638dfc6a8cc07aece584a5742b055007db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462164 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 1323e2fd 2020-10-17T18:17:33 FrameCapture: Implement Gen/DeleteVertexArraysOES Test: FIFA Mobile MEC Bug: angleproject:4048 Change-Id: I9725c9b9aba98a10ef2fa11b05f0459b3d8cc9d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486404 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8061002b 2020-10-16T11:24:04 Perf tests: Bump replay ES version to 3.1 Required to run traces of newer apps. Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: Ie135fc1ce461460e1bc0978ceca4ba8c9cff68e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481153 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0d3b84ef 2020-10-17T17:56:52 FrameCapture: Fix GLSync creation for MEC on 64-bit GLSyncs created during MEC were getting garbage for the high order bits when when run on 64-bit applications. That's because the iterator is 32-bit and was being bitcast to 64-bit. This change zero extends the iterator before converting to a GLSync. Test: Lots of traces were hitting this Bug: angleproject:4048 Change-Id: Ia22da945e014de0caad2a3663a33f996bb781b19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486403 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 5eebf3a7 2020-10-18T11:44:27 Perf Tests: Call finish every step in calibration. Calibration is only supposed to take one second of warmup time. Instead we were queuing up a large amount of GPU work and then janking on the finish call at the end of calibration. Fix this by calling glFinish repeatedly during calibration. Bug: chromium:1136900 Change-Id: Idb2fefe17fcb9acbe688cff5a36f051732fc5b59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483462 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 8f57f60f 2020-10-08T22:38:25 Add ES 3.1 check to ValidateBindImageTexture This fixes a crash that occured in the Lego trace when run with an ES 3.0 context. * At the end of each frame it unbinds all the image units using glBindImageTexture, which is an ES 3.1 call. * During validation, we verify things using ANGLE's internals, but they are only set up when the context is >= ES 3.1. * This led to a crash. * The fix is to check the ES context early and bail, which aligns with other entry points. Test: LEGO MEC Bug: b/161716126 Bug: angleproject:4048 Change-Id: I9aee2ee173436f5de5062758a70e0909f6fc9a7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462163 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
James Darpinian babce049 2020-10-16T16:32:17 iOS: Disable worker contexts, and use sized formats Kimmo Kinnunen made this change downstream in WebKit. https://bugs.webkit.org/show_bug.cgi?id=215908 Disable ANGLE workers until EAGL implementation is more complete. Current implementation fails to compile any shader, since the compilation happens in the worker thread and worker EAGL context which does not use the same sharegroup as the main context. The shader objects are created in the main context but the shader source setting and compilation happens in the worker context. EAGL needs a flush between state changes, and adding that correctly is a bigger change to be done later. Use sized formats when calling [EAGLContext -texImageIOSurface] from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface accepts parameters with glTexImage2D logic. On ES3, some of the internal formats must be sized formats. The EAGLContext instantiated by ANGLE is ES3, even if the ANGLE context would be ES2. No tests added since this should be caught with the many video related tests. It's unclear why this is not the case -- at least on real hw. This is to be investigated later, too. Bug: angleproject:5104 Change-Id: Iebf1a04488c5137d55a278d973a34511e8dc46bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481850 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
James Darpinian 3c8f582b 2020-06-19T17:39:08 Build fixes for MacCatalyst WebKit needs these preprocessor directives because they can't selectively compile files per platform. Bug: angleproject:4613 Change-Id: Ie549cd734c74b50666f3d7e142b885bc78077fc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2255701 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
James Darpinian 916ad955 2020-10-16T16:22:52 No need to check for Catalyst in the iOS build Dean Jackson made this change downstream in WebKit. https://bugs.webkit.org/show_bug.cgi?id=215249 Bug: angleproject:4938 Change-Id: Ic5abbf56dabbafdb88e9dae0ecffa36f75329abb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481617 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Jonathan Ross 4720cfb7 2020-10-19T19:02:56 Disable TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL This test hase begun failing consistently on the Arm based Apple DTK. This adds a skip to the test for that config. Test: TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL Bug: chromium:1140113 Change-Id: Ie9499f4f90327429c02b3e690d4059838ad835d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485296 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov 61ab3819 2020-10-19T14:50:38 Expand ProgramBinaryTest.SRGBDecodeWithSamplerAndTexelFetchTest skip Also Mac ARM64 GL and Nexus 6P GLES. Bug: angleproject:4991 Change-Id: Ie4b1e76c2a804256970829431e8d85a140b22387 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486091 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 2072ce50 2020-10-18T16:44:09 Rename "NonLinear" to "SRGB". In OpenGL parlance there are really only two color spaces: Linear and SRGB. Vulkan is much more complicated with linear and nonlinear SRGB, and multiple non-SRGB linear color spaces. Keep things simple by working with OpenGL nomenclature. Bug: angleproject:5176 Change-Id: Ia730a9a666a2b3325194b86dc588e7fd226c4183 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483466 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill e5590288 2020-10-18T12:40:14 Rename "texelFetchInvoked" to "texelFetchStaticUse". Technically more precise because something could be statically used and never invoked. Also more consistent with the spec. Bug: angleproject:5176 Change-Id: I70dd0787d67d9f046b7359abb24107cb430f5cae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483465 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jeff Vigil 00a49766 2020-10-14T10:27:56 EGL: Implement EGL_KHR_reusable_sync Add extension string and flags Add EGLReusableSync files to libANGLE and gni Test: angle_deqp_egl_tests --deqp-case=dEQP-EGL.functional.reusable_sync.* --deqp-case=dEQP-EGL.functional.fence_sync.* Bug: angleproject:5168 Change-Id: I967a10cf387047c9ee1963acfc854a8288325a8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477293 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>