Log

Author Commit Date CI Message
Geoff Lang bd5a7f24 2023-06-12T13:22:43 Metal: Set alphaToCoverageEnabled in checkIfPipelineChanged alphaToCoverageEnabled was tweaked to false for non-multisampled rendering cases in RenderPipelineCache::createRenderPipelineState but this caused a copy and could be done much earlier during context state syncing. Bug: chromium:1329376 Change-Id: I37a461554e1e2b162313b4a952baa1526356db3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608484 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kramer Ge 88c6dfcc 2023-06-02T16:09:24 Mali: Make the placeholder FBO complete for timer queries Change the bindFramebufferForTimerQueries workaround to ensure the framebuffer is complete. Bug: chromium:1356053,b/269068358 Change-Id: Ief3198fdc4800468670a3f4323a1ffd3ca083c6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582606 Auto-Submit: Kramer Ge <fangzhoug@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov df787cf0 2023-06-14T17:56:11 Add ANGLE experimental SwiftShader builders For testing Ubuntu 22.04 Recipe-side CL http://crrev.com/c/4614428 Testers: linux-exp-swiftshader linux-exp-swiftshader-asan linux-exp-swiftshader-tsan Builders: linux-exp-asan-test linux-exp-tsan-test Modify LUCI MILO console to show only the active experimental builders. Bug: chromium:1380082 Change-Id: Iac74b606fca7b1762028cebf4868e691b3ed074c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4614533 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
angle-autoroll e8a29d6c 2023-06-15T07:01:30 Roll Chromium from bfc7c889fd6c to 7df45c601f1c (609 revisions) https://chromium.googlesource.com/chromium/src.git/+log/bfc7c889fd6c..7df45c601f1c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a838ac9f43..1889753ce5 * buildtools/linux64: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d * buildtools/mac: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d * buildtools/win: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ed771cb046..da030c5a1c * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/85f7b5752b..834450f113 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..89fad9023d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2b19afb820..dedeb88991 * third_party/fuchsia-sdk/sdk: version:13.20230613.4.1..version:13.20230614.3.1 * third_party/r8: AostPkk2hQv2Pz7k7JMtoD346t5IWWll26jAdkVHk2wC..vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/21289a1a1b..573d371dff * tools/luci-go: git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6..git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc * tools/luci-go: git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6..git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b69b0ca417..bf6c9c4977 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/1b905778b8..3a42bc4aaa * tools/skia_goldctl/linux: TCcuUOFbPU3igS_xlEVBu_d1nZ71zngQ3oL-Bdm0GOoC..tVDltUu_xw7_tk4k-rnp7Ua8pKhf3EEHmTwX5c6BS4AC * tools/skia_goldctl/mac_amd64: Btg2SHJpGjd1aivMSCt0RT5G6j33TDTYYfLANClZApYC..ov_DuOSHCneWQSTW6AZ9gWHEeoJxXEYDX9dl_0rA_d0C * tools/skia_goldctl/mac_arm64: SW3HcHhCf69xzWwap7_fHNSualUgKeG_3N6xTMmVuVoC..3wDkZAVD4vV1dNhXfRNMOUBvODbzJ23AVmmsFbTsbkQC * tools/skia_goldctl/win: yDoSOjnzDYE9APn8a3d-FcPJ6wwwq2FXWUTOJpf2__8C..yW7os_HVMoE-wq04olb6B7GNgEmaYZYPN0ecTzPPBdkC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I9b6216bdb66bdc0c30c64226a785ec25e2da3b2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4617669 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 5a5f21f4 2023-06-14T14:05:41 Disable supportsExtendedDynamicState on ARM There are multiple issues with dynamic states on ARM. Previously we have disabled individual dynamic state that had issues, but it turns out some dynamic states need to be enabled/disabled together for tests traces to work correctly. Disabling the supportsExtendedDynamicState until all the issues are addressed. Bug: b/287318431 Bug: b/285196249 Bug: b/286224923 Change-Id: If2f039b8392898e1e42b5da6b1277e82818a1b1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4615995 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu ecc287a8 2023-06-10T22:20:02 Clean up skipped deqp khr gles32 tests on Pixel 6 Remove deqp khr gles32 test suppression on Pixel 6 that are no longer failing. Remove suppression of below tests KHR-GLES32.core.texture_buffer.texture_buffer_texture_buffer_range KHR-GLES32.core.compressed_format.api.texstorage_accepts_compressed_format KHR-GLES32.core.compressed_format.api.invalid_inconsistent_data_size KHR-GLES32.core.compressed_format.api.invalid_inconsistent_data_size_array KHR-GLES32.core.compressed_format.api.invalid_offset_or_size Remove suppression of below tests on Android Vulkan KHR-GLES32.core.constant_expressions.*geometry KHR-GLES32.core.shader_macros.fragment_precision_high_geometry KHR-GLES32.core.texture_cube_map_array.stencil_attachments_*mutable_layered KHR-GLES32.core.texture_cube_map_array.*tessellation* KHR-GLES32.core.texture_cube_map_array.sampling Restrict suppression of below tests on Pixel4 Vulkan KHR-GLES32.core.geometry_shader.* KHR-GLES32.core.texture_cube_map_array.*geometry* KHR-GLES32.core.separable_programs_tf.geometry_active KHR-GLES32.core.texture_cube_map_array.color_depth_attachments KHR-GLES32.core.texture_cube_map_array.fbo_incompleteness KHR-GLES32.core.tessellation_shader.* KHR-GLES32.core.texture_cube_map_array.*tesselation* KHR-GLES32.core.constant_expressions.*tess_control KHR-GLES32.core.constant_expressions.*tess_eval KHR-GLES32.core.separable_programs_tf.tessellation_active KHR-GLES32.core.shader_macros.fragment_precision_high_tess_* KHR-GLES32.core.texture_border_clamp.* KHR-GLES32.core.gpu_shader5.*clamp*_border KHR-GLES32.core.gpu_shader5.*clamp*_edge Restrict suppression of below tests on Pixel6 Vulkan and Windows Nvidia Vulkan: KHR-GLES32.core.texture_border_clamp.Texture2DDC16Linear KHR-GLES32.core.texture_border_clamp.Texture2DDC32FLinear Add test suppression on Pixel 6 Vulkan KHR-GLES32.core.tessellation_shader.vertex.vertex_ordering KHR-GLES32.core.tessellation_shader.tessellation_shader_tessellation.gl_InvocationID_PatchVerticesIn_PrimitiveID KHR-GLES32.core.tessellation_shader.tessellation_shader_quads_tessellation.degenerate_case KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule2 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule5 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule6 KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule4 KHR-GLES32.core.tessellation_shader.tessellation_shader_point_mode.points_verification KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_tessLevel KHR-GLES32.core.tessellation_shader.vertex.vertex_spacing KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule7 KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_in KHR-GLES32.core.tessellation_shader.tessellation_shader_triangles_tessellation.inner_tessellation_level_rounding KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.data_pass_through KHR-GLES32.core.tessellation_shader.tessellation_shader_tessellation.TCS_TES KHR-GLES32.core.tessellation_shader.tessellation_shader_quads_tessellation.inner_tessellation_level_rounding KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule3 KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize KHR-GLES32.core.tessellation_shader.tessellation_shader_triangles_tessellation.identical_triangles KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule1 Bug: b/224537784 Bug: angleproject:5579 Bug: angleproject:5557 Bug: angleproject:5978 Bug: angleproject:3577 Bug: angleproject:3573 Bug: angleproject:6441 Change-Id: Ia734217c340fd927a93ea385120d0cf952cd428d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606544 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 9f158eb5 2023-06-10T22:14:16 Clean up skipped deqp khr gles31 tests on Pixel 6 Remove deqp khr gles31 test suppression on Pixel 6 that are no longer failing. Remove the suppression of below tests: KHR-GLES31.core.texture_buffer.texture_buffer_texture_buffer_range Restrict the suppression of below tests on swiftshader, windows nvidia vulkan, and pixel6 vulkan KHR-GLES31.core.texture_border_clamp.Texture2DDC16Linear KHR-GLES31.core.texture_border_clamp.Texture2DDC32FLinear Remove the suppression of below tests KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength* Restrict the suppression of below tests on swiftshader KHR-GLES31.core.arrays_of_arrays.ConstructorsAndUnsizedDeclConstructors1 KHR-GLES31.core.arrays_of_arrays.ConstructorsAndUnsizedDeclConstructorSizing1 Bug: angleproject:3573 Bug: angleproject:5978 Bug: angleproject:4107 Bug: angleproject:4300 Bug: angleproject:4108 Bug: angleproject:4188 Bug: angleproject:4190 Bug: angleproject:4240 Bug: angleproject:6295 Bug: b/224537784 Change-Id: I2c4d67ad3c50381ece4ed6241657b79402c91d3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606543 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 8df249d7 2023-06-10T22:09:12 Clean up skipped deqp khr gles3 tests on Pixel 6 Remove deqp khr gles3 test suppression on Pixel 6 that are no longer failing. Restrict the suppression of below tests on Pixel4 Vulkan KHR-GLES3.packed_depth_stencil.clear_buffer.depth32f_stencil8 Restrict the suppression of below tests on NVIDIA Vulkan and Android Vulkan KHR-GLES3.packed_pixels.varied_rectangle.* Restrict the suppression of below tests on NVIDIA Vulkan and Android Vulkan KHR-GLES3.packed_pixels.pbo_rectangle.r8_snorm KHR-GLES3.packed_pixels.pbo_rectangle.rg8_snorm KHR-GLES3.packed_pixels.pbo_rectangle.rgba8_snorm KHR-GLES3.packed_pixels.rectangle.r8_snorm KHR-GLES3.packed_pixels.rectangle.rg8_snorm KHR-GLES3.packed_pixels.rectangle.rgba8_snorm Bug: angleproject:3683 Bug: angleproject:6678 Bug: angleproject:8048 Bug: b/224537784 Change-Id: Id24591e3bc21fa263fa64d3bd812d82209b8c5fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606542 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 57cccfd4 2023-06-10T22:05:56 Clean up skipped deqp gles31 tests on Pixel 6 Remove the deqp gles31 test suppression on Pixel 6 that are no longer failing. Below tests no longer fails on win-test bot, remove them from the expectation file: dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48 dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36 Restrict the suppression of below tests on NVIDIA Vulkan dEQP-GLES31.functional.image_load_store.3d.*single_layer Restrict the suppression of below tests on Pixel4 Vulkan dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2* dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5* Remove the suppression of below tests on Android Vulkan dEQP-GLES31.functional.stencil_texturing.misc.base_level Remove the suppression of below tests on Pixel6 dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules.internal_different_precision Bug: b/224537784 Bug: angleproject:3445 Bug: angleproject:6021 Bug: angleproject:4080 Bug: angleproject:5277 Bug: angleproject:7488 Change-Id: I9baff33ade443d2ad28d1bc7a1333e0c672942c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606541 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 5ff9d931 2023-06-10T22:00:41 Clean up skipped deqp gles3 tests on Pixel 6 Remove deqp gles3 test suppression on Pixel 6 that are no longer failing. Undefined behaviors in below test should have been addressed by the upstream change in VK-GL-CTS: https://github.com/KhronosGroup/VK-GL-CTS/commit/5d286e0daeac8afaafc46b16d28991fab971240b Remove the suppression of them: dEQP-GLES3.functional.shaders.operator.unary_operator.minus.lowp_uvec4_vertex dEQP-GLES3.functional.shaders.operator.unary_operator.minus.mediump_uvec4_vertex Restrict the suppression of below tests on NVIDIA and MAC dEQP-GLES3.functional.fbo.completeness.renderable.*.r8_snorm dEQP-GLES3.functional.fbo.completeness.renderable.*.rg8_snorm dEQP-GLES3.functional.fbo.completeness.renderable.*.rgba8_snorm Bug: b/224537784 Bug: angleproject:1101 Bug: angleproject:6214 Bug: angleproject:8048 Change-Id: Ic227be3e08b85f9f812171faafbbb1d421e9c30a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606540 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu d73ce6e3 2023-06-10T21:57:43 Clean up skipped deqp gles2 tests on Pixel 6 Update comments to explain why the test dEQP-GLES2.functional.flush_finish.* need to be skipped. Bug: b/224537784 Bug: angleproject:1034 Change-Id: I09dbf3134006a76129e6e4e483ac43616c550418 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606539 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 97e3851d 2023-06-10T21:52:28 Clean up skipped deqp egl tests on Pixel 6 Remove the deqp test suppression on Pixel 6 that are no longer failing. Restrict suppression of below tests on Android Vulkan and Pixel 4 GLES dEQP-EGL.functional.native_color_mapping.native_window.* dEQP-EGL.functional.native_coord_mapping.native_window.* Restrict suppression of below tests on Pixel 4 Vulkan dEQP-EGL.functional.image.api.create_image_gles2_android_native_rgb8 dEQP-EGL.functional.image.create.gles2_android_native_rgb8_read_pixels dEQP-EGL.functional.image.create.gles2_android_native_rgb8_texture dEQP-EGL.functional.image.create.gles3_android_native_array_rgb565_texture_array dEQP-EGL.functional.image.create.gles3_android_native_array_rgb8_texture_array dEQP-EGL.functional.image.create.gles3_android_native_array_rgba8_texture_array dEQP-EGL.functional.image.modify.android_native_rgb8_renderbuffer_clear_color dEQP-EGL.functional.image.modify.android_native_rgb8_tex_subimage_rgb8 dEQP-EGL.functional.image.render_multiple_contexts.gles2_android_native_rgb8_read_pixels dEQP-EGL.functional.image.render_multiple_contexts.gles2_android_native_rgb8_texture dEQP-EGL.functional.image.create.gles3_android_native_array_*_render_sample_texture_array Restrict suppression of below tests on Swiftshader and Nvidia Vulkan dEQP-EGL.functional.create_context_ext.gl_30.* dEQP-EGL.functional.create_context_ext.robust_gl_30.* Bug: b/224537784 Bug: angleproject:6533 Bug: angleproject:6277 Bug: angleproject:7506 Bug: angleproject:7533 Change-Id: I769bb1ef15c187ae0de62cc901f907cb095dc73a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4602771 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 36c3e0f5 2023-01-17T17:42:59 Implement "Shared Context Mutex" functionality. Existing implementation uses single `GlobalMutex` for - EGL calls - GL calls for Contexts with concurrent access. This CL introduces abstract `egl::ContextMutex` with two implementations: - SingleContextMutex; - SharedContextMutex<Mutex>; Note: `std::mutex` is used in this commit. It is very easy to change mutex type either at compile-time or at run-time (single type per Display). When Context: - is not Shared; - does not use `EGLImage`s; - does not use EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE - does not use EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE then it will be using `SingleContextMutex` with minimal overhead. Before such Context is used as `shareContext` or uses `EGLImage` its mutex replaced by `SharedContextMutex<Mutex>`. The `GlobalMutex` is only used for EGL calls, while `egl::ContextMutex` implementations for GL calls. Because some EGL calls use Context, explicit `egl::ContextMutex` lock is required. This is implemented by generating "egl_context_mutex_autogen.h" header, and insertion of `ANGLE_EGL_SCOPED_CONTEXT_LOCK()` macro before `ANGLE_EGL_VALIDATE()` in each EGL entry point. Implementation in "egl_context_lock_impl.h" returns lock for required APIs. Special cases of `egl::ContextMutex` lock handled separately. `std::unique_lock<>` is not used for performance reasons. `egl::ContextMutex` explicitly locked when capturing EGL calls. Fixes EGLImage problem: https://chromium.googlesource.com/angle/angle/+/e18240d136d15e5cdfa4fa4a6355ca21c8d807b6 Mark contexts as shared when importing EGL images. Details: - EGLImage inherits Context's mutex when created. Mutex is used when the EGLImage accessed or destroyed. - When EGLImage is used in Context with other `egl::ContextMutex`, two mutexes are merged into one. - After the mutex merge, Context Groups will remain separate, but will not be able to run in parallel. Fixes race when checking `context->isShared()` in the `SCOPED_SHARE_CONTEXT_LOCK()` macro. One Context may start executing GL call while not "Shared", but become "Shared" inside the call. New (second) "Shared" Context may immediately start using GL and potentially corrupt some "Shared" state. Possible performance benefit: allows parallel execution in some cases, when single `GlobalMutex` would block. Important note: Process of replacing the `SingleContextMutex` by `SharedContextMutex<Mutex>` is not 100% safe. This mean that original Context may still be using `SingleContextMutex` after activating `SharedContextMutex<Mutex>`. However, this was always the case before introduction of this CL. Old `Context::mShared` member update was not synchronized in any way at all. In other words, this solution does not 100% fix the original problem. For 100% safe solution `SingleContextMutex` should not be used (always pass `SharedContextMutex<Mutex>` to the `gl::Context` constructor). See `lockAndActivateSharedContextMutex()` for more details. CL adds new build option: angle_enable_shared_context_mutex = true Behavior with other build options: - When: `angle_enable_shared_context_mutex` is disabled or `angle_enable_share_context_lock` is disabled or `angle_force_context_check_every_call` is enabled, Contexts will always have `SingleContextMutex`, however it will be only used in special cases. `SCOPED_SHARE_CONTEXT_LOCK()` will use `GlobalMutex` when applicable. - Otherwise, `SCOPED_SHARE_CONTEXT_LOCK()` will use `egl::ContextMutex`. Some GFXBench "1080p Driver Overhead 2 Offscreen" performance numbers. Tested on S906B (Samsung Galaxy S22+) on old ANGLE base: https://chromium.googlesource.com/angle/angle/+/807c94ea85e046c6f279d081d99f0fb1bcf1191a Capture/Replay: Adjust tests do adhere to capture limits Each test result is an average frame number from 6 runs. SingleContextMutex 6579 ( +0.13%) (old) GetContextLock() (mShared is false) 6570 Forced `mShared = true` or NOT using `SingleContextMutex`. SharedContextMutex<std::mutex> FORCE 5061 (-22.97%) (old) GetContextLock() FORCE 4766 (-27.46%) Bug: angleproject:6957 Bug: chromium:1336126 Change-Id: Idcd919f9d4bf482b9ae489bd8b4415ec96048e32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4374545 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 82151df0 2023-06-13T15:55:04 Android: Pixel 7 and Oppo Flip N2 device support Add device detection for test expectation files. Bug: b/285628492 Bug: angleproject:8205 Change-Id: Ia4ed8f7adc4f65ebb36c3248edadb3900b4caf58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4615663 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Mike Schuchardt af1768a4 2023-06-13T15:11:17 Android: Add Galaxy A34, A54 and Oppo Find X6 Adds device detection for use in expectation files Bug: b/285047631 Bug: b/285047394 Bug: b/285630872 Change-Id: I30361d7bc1a0a08441c8b5afe64d4b5f22ae4ddb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4611333 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
angle-autoroll 341dabf8 2023-06-14T10:01:56 Roll vulkan-deps from 701c5daafb72 to cebf5626ca50 (30 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/701c5daafb72..cebf5626ca50 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a6662c53ce..72713baf74 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/030d0be28c..2d3a152081 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/93c13345e1..40dde04ca2 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/605dc6d3e7..cb71b646f1 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/c97930ba36..88d70047fb * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ee8fe8140a..5cde5d21a3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Id2fb37c26ef6d6ca61d4b72a1c18dc5180e18654 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4614205 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7daa3442 2023-06-14T07:00:37 Roll Chromium from 28f11e95962d to bfc7c889fd6c (628 revisions) https://chromium.googlesource.com/chromium/src.git/+log/28f11e95962d..bfc7c889fd6c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/cb80611890..a838ac9f43 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/3819ac6f3d..3739a36193 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/40b038e86d..ed771cb046 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/9c2e12d0a6..85f7b5752b * third_party/android_build_tools/lint: 3AJFzcPQ9EDTP7XlHY6bgKZvGn7D812ptquuXFcUWzEC..nGuHS3ccbDvKba1WE0bWYRax-Ibs76dLKpdsPpXqCiMC * third_party/android_build_tools/manifest_merger: nGzWwB6kx8dBDTH7L1jUxm8y3INDX3qVm9co3ntGk7EC..UNXioFXYvz7k7UmE2WYAaXuYIK3Ky0aSQ0IuDEdS9soC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ca32af6260 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7b5e3d7868..2b19afb820 * third_party/fuchsia-sdk/sdk: version:12.20230612.1.1..version:13.20230613.4.1 * third_party/r8: 35Zwd7tLHQKr_VieKX2NBes8RQ37TAwoMJ8UiObvpM8C..AostPkk2hQv2Pz7k7JMtoD346t5IWWll26jAdkVHk2wC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/381a058eb7..21289a1a1b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0f15a3a3ae..1b905778b8 No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ic802dff0427bffd2b84356357b4fc832a9443693 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4612062 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 3a3a3c65 2023-05-31T23:06:57 Remove override test31Context.cpp Remove the override test31Context so that 1) we can run deqp test suites on Pixel devices with the same configuration as Android CTS test runner. 2) those deqp tests that require a GLES 3.2 context will not be skipped and can execute on devices that supports GLES 3.2. Since the deqp test runner overrides the feature exposeNonConformantExtensionsAndVersions with "true" value, a context is created regardless of whether the device supports GLES 3.2. However, not all of the devices are GLES 3.2 conformant, we will suppress those tests that are failing on non-conformant devices. Bug: b/224537784 Bug: angleproject:3687 Bug: angleproject:3688 Bug: angleproject:6678 Change-Id: I2a549537bdbb2c0356fcccaa96291229c699ed0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559445 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Peiyong Lin ce7b9602 2023-06-13T22:44:23 Avoid clearing global settings when register receiver. Global settings can be set by adb command and hence clearing the all global settings values are not ideal. Previously ANGLE apk triggers a clear when device boot is completed because we register the receiver and immediately trigger the callback. However, that causes race condition as our testing infra will set up the ANGLE per-application override to run tests on top of ANGLE apk. This patch removes that trigger. Bug: b/285594264 Test: Verify per-application override is no longer cleared Change-Id: Ic10703b72593cee7f067570a523f668553047ae2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4611447 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Peiyong Lin <lpy@google.com>
Ian Elliott 14339812 2023-06-13T10:00:39 Merge Galaxy A23 and S23 e2d expectations where can Many of the Samsung Galaxy A23 and S23 (all Qualcomm GPU) expectations were common, and so they are merged into a common GALAXYQUALCOMM ID. Bug: b/285045753 Bug: angleproject:8185 Change-Id: I5eb44f5de969763df290a938935a3a76ea3aab98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4610479 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Romaric Jodin 8882feeb 2023-06-13T09:24:23 common: linux: add support for DRM_FORMAT_NV12 In DrmFourCCFormatToVkFormats convert DRM_FORMAT_NV12 to VK_FORMAT_G8_B8R8_2PLANE_420_UNORM. DmaBufImageSiblingVkLinux can already consume it. BUG: b/277798516 Change-Id: I3173763101cf926fb2277651918631ec4de76e96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604507 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3a42d024 2023-06-13T13:37:35 Only import xvfb on Linux. Allows to run certain scripts with python3 (instead of vpython3) on Windows. Same as testing/scripts/common.py: https://crsrc.org/c/testing/scripts/common.py;drc=dfebdf76453bb843c0910d8a3e74468f6ab4a474;l=25 Bug: b/286067106 Change-Id: I57f5478082c2147bb5e9cf98baae762b8b844cec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4610084 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 86e21fa2 2023-06-12T13:36:21 Vulkan: Refactor angle::Format depth/stencil checks Bug: b/246008627 Change-Id: If0a2992c5bd66adf27c6866aea04e54ba465a522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608489 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi ef582ba3 2023-06-13T00:22:34 Vulkan: Suppress vertex attribute divisor VUID ... to unblock the roller. Need to investigate if the failure is real. Bug: angleproject:8203 Change-Id: I958de60188a67e519d7d3b27c52b9ea260d36d80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4610083 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Geoff Lang 18010f58 2023-06-12T16:56:11 Metal: Limit the debug spew for blocked cache reads/writes When running tests in debug builds, most of the output is logging about blocked reads and writes to the metal system cache. Limit it to 5 messages per type. Bug: None Change-Id: Id10e901d2d96164a86d8fdc7dafec14f81b700fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4607152 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 7e075469 2023-06-12T18:34:05 A23: Improve end2end SKIP lines and add FAIL lines Bug: b/285045753 Bug: angleproject:8185 Change-Id: I863878e06495c0431c07113d9de702b0bb7dd8ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606370 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 057b8b61 2023-06-13T07:02:36 Roll Chromium from 5ec32d118efd to 28f11e95962d (682 revisions) https://chromium.googlesource.com/chromium/src.git/+log/5ec32d118efd..28f11e95962d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5e03e46b47..cb80611890 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1c1bb5094d..40b038e86d * third_party/android_toolchain: version:2@r25c.cr0..version:2@r25c.cr1 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..793b83da06 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6eaeb04ac1..7b5e3d7868 * third_party/fuchsia-sdk/sdk: version:12.20230612.0.1..version:12.20230612.1.1 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/46428dc4d3..553ce6033e * third_party/r8: 4KIUOAKhjtCRa2saTdxTrchL0zgexuTpcifzY1KzZDoC..35Zwd7tLHQKr_VieKX2NBes8RQ37TAwoMJ8UiObvpM8C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/fc015c0358..381a058eb7 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c2b6ebc490..0f15a3a3ae No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I429932f26ce6d7e9190d0b9f469046ba23a5943c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606372 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1e06b31e 2023-06-13T06:42:27 Roll VK-GL-CTS from 7dc49a77dd0f to f7646f53ba61 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/7dc49a77dd0f..f7646f53ba61 2023-06-12 marcin.zajac@mobica.com Vulkan video capabilities tests for 1.3.253 2023-06-12 alexander.galazin@imgtec.com Merge vk-gl-cts-public/main into vk-gl-cts/main 2023-06-12 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-06-12 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-06-12 marcin.zajac@mobica.com Enabling storage image write support 2023-06-12 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 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 angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Idf35864a0c0a40546477e0352fd35cd59613500b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606371 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 1572f609 2023-06-09T18:39:52 Disable hashes for ANGLE features generator Features autogen files are small, fast to regenerate. Run the generator in --verify-only mode and check content every time, instead of using hashes. Bug: angleproject:8193 Change-Id: I3988ab50a6c33171b7b7252c03f34a74f09fcf18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604579 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi f1e19872 2023-06-12T14:38:23 Vulkan: Fix read pixels with RGBX Typically, the format used for data uploads and downloads as well as the storage format are consistent. That is unfortunately not the case for GL_RGBX8_ANGLE where data uploads are through 3-byte RGB pixels while downloads are through 4-byte RGBX pixels. This change swaps out RGBX for RGBA on the read pixels path. Test credit of Jason Macnak <natsu@google.com> Bug: b/246008627 Test: atest CtsSkQPTestCases Change-Id: I531ebd8318bf4fe5ac09c623068b790a7e301428 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608488 Reviewed-by: Jason Macnak <natsu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Zijie He 07eb4100 2023-06-09T21:31:01 [GlobalMutex] Do not assume the thread conflict happens in tests There isn't a guarantee that threads would always conflict with each other, so the assertion here would fail randomly. Overall: https://ci.chromium.org/ui/test/chromium/ninja%3A%2F%2Fthird_party%2Fangle%2Fsrc%2Ftests%3Aangle_unittests%2FGlobalMutexTest.ScopedOptionalGlobalMutexLockDisabled?q=+V%3Atest_suite%3Dangle_unittests+ Examples: https://chromium-swarm.appspot.com/task?id=623bb4e76b382911 https://chromium-swarm.appspot.com/task?id=62ba96ea430b8811 Fixed: angleproject:8194 Change-Id: Iaf2e5371a162d21f565e72f96d487d12c69f88c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606236 Auto-Submit: Zijie He <zijiehe@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov cf095dfb 2023-06-12T14:27:57 Tests: disable TraceTest.respawnables on native Win & Linux Bug: angleproject:8191 Change-Id: Ie61adc4b15c7db20aa890fad36c079e301f9ffc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608487 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 4384e49c 2023-06-12T08:20:03 Vulkan: Disable some dynamic states on ARM Bug: b/286224923 Bug: b/285196249 Bug: b/285124778 Change-Id: Ia19a278581d6586a2e1efcc46987925dcc9ccd3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608501 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 73be6c9f 2023-06-12T17:15:30 Roll VK-GL-CTS from f7613775cdc7 to 7dc49a77dd0f (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/f7613775cdc7..7dc49a77dd0f 2023-06-12 piotr.byszewski@mobica.com Merge pull request #395 from jenatali/fix-synchronization2-skip-windows 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 angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I85eb16a0c44bb597f0ae5ba863cd840b7a18f886 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606369 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 21f16cb1 2023-06-09T17:30:38 Disable clang-format on ANGLE features autogen outputs Updates the script to produce reasonably formatted code without clang-format. Autogen files moved to autogen/ sub-directories because clang-format does not support per-file settings ;( This allows to run this codegen very quickly (~50ms on my machine) Bug: angleproject:8193 Change-Id: Ie84282090d574ebb4debe3edcfd82f983f27a5ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604578 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 43ef50f3 2023-06-08T15:35:17 Android: Assert that CFI is disabled There appears to be a bug in the interaction of CFI and relative vtables. On armv9 it results in a crash with SIGILL when loading traces. Since we can't overwrite the flags used to control this just assert that it is correct in GN args. To avoid the assert, add the following to your GN args: arm_control_flow_integrity = "none" Test: Build and run traces on armv9 devices Bug: b/278955379 Bug: chromium:1441148 Change-Id: I71bf93dca9bd15d6c66ad2a7223d9bbd0c54392e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4602027 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 3abbc4f9 2023-06-12T07:00:31 Roll Chromium from ac70ebb575ce to 5ec32d118efd (595 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ac70ebb575ce..5ec32d118efd If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/524ed2ff3c..5e03e46b47 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fa7ab1cac5..1c1bb5094d * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f67cd905e5..ea118736f4 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/a58930c812..f5874af13b * third_party/android_toolchain: version:2@r23c.cr0..version:2@r25c.cr0 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f51324c1c8 * third_party/fuchsia-sdk/sdk: version:12.20230607.1.1..version:12.20230612.0.1 * third_party/jdk: -1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC..2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC * third_party/r8: 4nvRHMrsaaAwaTGCTVhj-rVB4rr7rtMUb01KL83_TA8C..4KIUOAKhjtCRa2saTdxTrchL0zgexuTpcifzY1KzZDoC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a8114cc97b..fc015c0358 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c99b873d02..b69b0ca417 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/34157f142c..c2b6ebc490 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I75215a8bd95d66e9715add78ba6ac6fc29560a5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4606449 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 10380f4b 2023-06-06T11:52:08 Vulkan: Output SPIR-V ids from compiler In this change, the shader interface variables are given SPIR-V ids by the compiler before SPIR-V generation. Those ids are made available through the ShaderVariable interface. The transformer does not yet rely on this information. A follow up change will rework the backend's name->info map and the transformer to directly use ids instead of names. Bug: angleproject:7220 Change-Id: Ic0a62681d4bcf3ed171c39c3ecd83e438ea068c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600609 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi acdf8722 2023-06-07T11:26:37 Vulkan: Remove reliance on names for gl_PerVertex-trimmer Instead of passing in gl_Position etc built-in names and then find their index by looking at OpMemberName instructions, this change has the front-end create a bitset of active gl_PerVertex members. The SPIR-V transformer then directly uses this information to trim gl_PerVertex. Bug: angleproject:7220 Change-Id: I5c3d56784801abb310d09d98d9c82c9e6e019de8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600608 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan a01a566c 2023-06-09T00:31:06 extension xmls: fix incorrect use of <ptype> tags I was having trouble using some GL/EGL loader generators because of some errors in the XML definitions for ANGLE. The first major problem is the content of the <ptype> tags. Let's refer to the Khronos registry XML schema (which is annoyingly a PDF rather than an xsd that we can test against, though I don't know if an xsd would catch this anyway): https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/readme.pdf In section 12.4.2, "Contents of <param> tags" it states: The <ptype> tag is optional, and contains text which is a valid type name found in <type> tag, and indicates that this type must be previously defined for the definition of the command to succeed. Builtin C types, and any derived types which are expected to be found in other header files, should not be wrapped in <ptype> tags Note that the above is repeated for the contents of <proto> tags as well. The extension XML files currently have a bunch of <ptype> tags which don't meet the expectations described above. The correct transformation for them would be, for example: <ptype>GLfloat *</ptype> -> <ptype>GLfloat</ptype> * <ptype>void *</ptype> -> void * <ptype>const char *</ptype> -> const char * <ptype>EGLAttrib *</ptype> -> <ptype>EGLAttrib</ptype> * The next issue is that some tags have some typos, such as "<pytpe>" instead of "<ptype>". (Now *that* is something an .xsd would catch...) The last issue is the use of the typename "GLvoid" which is not as serious a problem. It is still defined in Khronos' gl.xml <types> block, but Khronos no longer uses it in their XML registries. The comment for the "GLvoid" type in their <types> block states: <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</name>;</type> So we might as well replace those with just plain "void". Anyway, long story short: to apply these transformations, I used Perl regular expressions, and applied these expressions in order: - Fix the tag misspellings: s#<(/?)pytpe>#<\1ptype>#g - Move the const qualifiers (if present) and pointer asterisk(s) (if any) outside the <ptype> tag itself: s#<ptype>(const )?([A-Za-z0-9]+)[ ]?(\*\*?)</ptype> #\1<ptype>\2</ptype> \3#g - Replace "GLvoid", "char", and "void" inside ptype tags to normal C types outside tags: s#<ptype>(GLvoid|void|char)</ptype>#\1#g Bug: angleproject:8190 Change-Id: Ib0bea79fecb7e714910b6e92124bb9f52994d0fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603709 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang d55c91c3 2023-06-09T15:14:54 Don't roll third_party/android_toolchain into AOSP. Bug: None Change-Id: I43a34f4e17b81482d8a0f994f9b729b7abd94b3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603670 Reviewed-by: Solti Ho <solti@google.com>
Yiwei Zhang e005fbc0 2023-06-08T23:27:27 Vulkan: make GetFormatModifierProperties non-fatal for fallback check DmaBufImageSiblingVkLinux::initWithFormat is used to fallback like: - mutable format + srgb - mutable format + unorm - non-mutable srgb - non-mutable unorm However, it never fallbacks since GetFormatModifierProperties bails.So this change has made it non-fatal to allow fallback behavior. Meanwhile, this change updates the fallback order to use unorm as actual format first to favor most common scenarios. Bug: b/277798516 Change-Id: I60283590d85b27d55010cb2f5a2cc13d4df1ac9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603208 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Romaric Jodin <rjodin@chromium.org>
Mark Lobodzinski 72df4283 2023-06-09T10:54:31 Tests: Add Lotsa Slots trace Test: angle_trace_tests --gtest_filter=TraceTest.lotsa_slots Bug: b/286514838 Change-Id: I8756a21596f2a09abff8262b3a9489b638d3522d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603714 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Steven Noonan beeb465b 2023-06-08T23:28:30 xml: fix enum EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE The name in the extension/require block did not match the name in the enum specification block. This caused some EGL loader generators to fail to run properly. Bug: angleproject:8190 Change-Id: I6ce6e226121e7ea9aa611c7d331a8fd1bc83e55b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603708 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Roman Lavrov 3e4f4cae 2023-06-09T12:02:52 Tests: reduce load on perf bots by collecting less data Collecting this data takes a significant amount of resources but we do not actively use it at the moment. Disable --split-shard-samples (will avoid separate calibration on each shard) Reduce samples to 6 (from default 10) Bug: angleproject:7671 Change-Id: I87d45f21badb30ed44de9b9854c94fe7f67ecdc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4605335 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 55f3d3c7 2023-06-09T11:48:00 Tests: disable TraceTest.respawnables on native Bug: angleproject:8191 Change-Id: Ib6dec981830c0a6748e1e1f88dd6727b27592c52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4605334 Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll a185cb8c 2023-06-09T13:12:44 Manual roll Chromium from b36c4c847faa to ac70ebb575ce (547 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/b36c4c847faa..ac70ebb575ce If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/834ec565e0..524ed2ff3c * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/61b4b91ea9..3819ac6f3d * buildtools/linux64: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae * buildtools/mac: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/f8279b0108..055b2e17ae * buildtools/win: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae * testing: https://chromium.googlesource.com/chromium/src/testing/+log/aef9ce9613..fa7ab1cac5 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/97065bdf18..9c2e12d0a6 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/0e01a2b83a..a58930c812 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3173309024 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/19ea2048e4..6eaeb04ac1 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/6fe0f7956f..3ca9f16f02 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/cc47a7ca0f..a8114cc97b * tools/luci-go: git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77..git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6 * tools/luci-go: git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77..git_revision:e99800d3fd42249c9cdda3f58ba31c674b4876f6 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ffb241942b..c99b873d02 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d372d4e140..34157f142c * tools/skia_goldctl/linux: 7Xu0Ohf2xgwAgLoFgq7LiZmi_Uk3x5gIX5Dta-tZg40C..TCcuUOFbPU3igS_xlEVBu_d1nZ71zngQ3oL-Bdm0GOoC * tools/skia_goldctl/mac_amd64: KYHtCI8pS_1-ZVhMhj0d7h-3H8ZdNtaGLYsYnDqRbnMC..Btg2SHJpGjd1aivMSCt0RT5G6j33TDTYYfLANClZApYC * tools/skia_goldctl/mac_arm64: h-5CLVE7g4EEE3-uXZ610OaDlIMoYEx3RLgGWHXRA9AC..SW3HcHhCf69xzWwap7_fHNSualUgKeG_3N6xTMmVuVoC * tools/skia_goldctl/win: VWg6iFKkt4rAdHxGoJNLVlgsRlbT-Woz_41P6cFybmYC..yDoSOjnzDYE9APn8a3d-FcPJ6wwwq2FXWUTOJpf2__8C No update to Clang. Bug: None Tbr: geofflang@google.com,ynovikov@google.com Change-Id: I6a3b3b74d3dae514e25486d5bd1c3c2b7946dbc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603711 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Prashanth Swaminathan 98089640 2023-06-08T17:52:50 Use version-less CIPD path for android_toolchain To avoid downstream repositories having to deal with a roller breakage on every major revision to the Android NDK, use an unversioned CIPD path. Versioned CIPD paths cause downstream roller scripts to assume each version is an unrelated package and requires manual intervention. Bug: chromium:1446443 Change-Id: I6cb8c777ec4b971a3ab59392d6cefb2f40530749 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4602772 Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll e9493542 2023-06-09T10:01:44 Roll vulkan-deps from c5a1402a455f to 701c5daafb72 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c5a1402a455f..701c5daafb72 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/59b4febd81..93c13345e1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I2465b88f605d8c92832116e9e3279e6198835b0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603710 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chong Gu 8a62b4c4 2023-06-08T21:23:02 [Fuchsia] Remove qemu from checkouts These emulators are provided in the SDK Bug: chromium:1432399 Change-Id: I5ed59f884cc40fd2ae90c3be5b784edfbb321ea2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4598045 Auto-Submit: Chong Gu <chonggu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop d8339e78 2023-05-25T08:40:48 FrameCapture: Support EGLSync in MEC This CL starts treating EGLSync as a tracked resource, such that we can detect when they need to be created in Setup, or regenerated in Reset. Test: MEC of infinity_ops trace Test: Replay new kentucky_route_zero trace without error Bug: angleproject:8176 Change-Id: I130212f6edb78d9df29dd6e572843df25493ae09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4566949 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 76b0e7f3 2023-06-01T11:25:54 Vulkan: Use reserved SPIR-V ids for internal variables With this change, the SPIR-V transformer does not need to discover these ids through name matching. Ultimately, user variables would also be identified by their SPIR-V ids (instead of name), removing the Vulkan backend's reliance on strings. Bug: angleproject:7220 Change-Id: I241c3247b89a28f9eed28f23c06b7c8b7fbbeaa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4583133 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov b508f8ab 2023-06-08T10:51:09 Inline remaining _angle_trace_common* vars Used only once after these rules were reorganized. Bug: b/276474703 Change-Id: Ie01f20781ee1ca6f04fd19a9f37769d66561bde8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600614 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 52152933 2023-06-06T15:36:36 Add trace_interface: functions and callbacks for traces Defines the interface between the test suite (or an other TraceLibrary class user) and trace libraries. TraceFunctions defines entry points for calls suite->trace, such as SetupReplay() or SetBinaryDataDir(). TraceCallbacks defines entry points for calls trace->suite, for example for loading .angledata.gz files. These are set up via the exported SetupEntryPoints() call. Functions like SetupReplay etc no longer need to be exported from the trace library. TraceInfo (parsed representation of the trace json) is moved to trace_interface as is. This is convenient for further changes to the fixture that will allow to easily move some of the captured parameters to json. This also moves Decompress functionality (and memory ownership) to test suite entirely, which avoids Decompress/Delete callbacks - the trace just calls LoadBinaryData via TraceCallbacks and TraceLibrary releases the memory either on FinishReplay or in its destructor. This should also take care of the memory leak described in https://crrev.com/c/3858185 Bug: b/286072760 Change-Id: Ibc6f6f64156ad805b1917c8fc41a3b0d2c0d6375 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594445 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Prashanth Swaminathan c49674d1 2023-06-02T15:34:49 Remove stale Android NDK and references [2/2] Now that chromium/base has rolled and switched the android_ndk_root to the new android_toolchain directory, remove the stale Android NDK. Fix roller scripts to no longer roll Android NDK and Android blueprint generation can remove references to the removed sources. Bug: chromium:1448383 Test: Verified build of ANGLE. Change-Id: Iba8bfd8be9fd6bfb4f75f5d3a273411bd11f6b5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585389 Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll b309fe38 2023-06-08T16:16:07 Manual roll Chromium from 510a3dff2ba2 to b36c4c847faa (64 revisions) Manual roll requested by prashanthsw@google.com https://chromium.googlesource.com/chromium/src.git/+log/510a3dff2ba2..b36c4c847faa If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com,prashanthsw@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d3acd6ce14..834ec565e0 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2d01747514 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ccf90ad0a2..ffb241942b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8ba510e8e2..d372d4e140 No update to Clang. Bug: None Tbr: geofflang@google.com,prashanthsw@google.com Change-Id: I53e45c42547215c9a2de8e1dce8effcc358eb1d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4598603 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov b5d261ac 2023-06-08T13:13:29 Roll chromium_revision be1b60e248..510a3dff2b (1154868:1154869) Change fuchsia_sdk_cipd_prefix from fuchsia/sdk/gn to fuchsia/sdk/core per https://chromium-review.googlesource.com/c/chromium/src/+/4544541 Change log: https://chromium.googlesource.com/chromium/src/+log/be1b60e248..510a3dff2b Full diff: https://chromium.googlesource.com/chromium/src/+/be1b60e248..510a3dff2b Changed dependencies * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2d01747514 * third_party/fuchsia-sdk/sdk: version:12.20230601.2.1..version:12.20230607.1.1 * third_party/r8: e9kuk0ZE8fKLVJ33ULiDJQ43Sg-S8wbRD0pG7hEcP9AC..4nvRHMrsaaAwaTGCTVhj-rVB4rr7rtMUb01KL83_TA8C * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/9c8e4fdccb..6fe0f7956f * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/a16d54239e..b9d0126966 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/66d5da40df..cc47a7ca0f * tools/luci-go: git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270..git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77 * tools/luci-go: git_revision:2eaf659a45c8945c3e15f202c4e8a734243f8270..git_revision:0ecab437ae2532a879b1203efc48f54bc6cadb77 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/6b669febe1..ccf90ad0a2 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/cc6bc21649..57b3b9e7c0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7aca1a25c2..8ba510e8e2 DEPS diff: https://chromium.googlesource.com/chromium/src/+/be1b60e248..510a3dff2b/DEPS No update to Clang. Bug: None Change-Id: Ib0dd750864863bdec2229c5b0fc50a36930870f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4598293 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Prashanth Swaminathan 05e08765 2023-06-08T06:14:49 Fix gitignore entries to ignore android_toolchain Bug: chromium:1448383 Test: Verified gitignore skips android_toolchain files. Change-Id: I0ed33e7f749c1aeb81dc7acabbbe996bcbc77c1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4599944 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Mohan Maiya cfb5d2de 2023-04-06T16:06:35 Remove thread from mActiveThreads during eglTerminate When eglTerminate is called remove the thread from the active thread set if there is no context current. This allows for proper cleanup of invalid EGL objects during certain EGL terminate related end2end tests. Also perform appropriate cleanup in EGLBlobCacheTest test. Bug: angleproject:6723 Bug: angleproject:6798 Test: EGLMultiContextTest.ReuseUnterminatedDisplay* Change-Id: I5a637938d463d6556f594d8bb0cf457efca92355 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4408364 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Roman Lavrov <romanl@google.com>
angle-autoroll ae9953ce 2023-06-08T10:01:05 Roll vulkan-deps from a6525fe76b4c to c5a1402a455f (35 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a6525fe76b4c..c5a1402a455f Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/12542fc6fc..030d0be28c * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ec244c8598..59b4febd81 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/3df77fb3e4..605dc6d3e7 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/1f20a308fc..c97930ba36 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9a252664d7..2c83dd6cb2 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2e88dc0a67..ee8fe8140a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ia832a37a1f46eb2a740c1101f0db0b22508813c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4599934 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Prashanth Swaminathan bc66167d 2023-06-07T17:39:14 Disable the roll of 'android_ndk' Chromium is being updated to 'android_toolchain', which means the 'android_ndk' DEPS is no longer present. Remove it from the roller until the transition is complete, then it can be removed from this script entirely. Bug: chromium:1448383 Change-Id: I0b515611a94f9aae5951655639a57ec5a9e7ffde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4600111 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Ian Elliott 9f734b5e 2023-06-07T10:23:39 Galaxy A23: add end2end expectations for crashing tests Bug: b/285045753 Bug: angleproject:8185 Change-Id: I5b58f8220589a9bc8b366932b6aaa06d1fe84024 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4597750 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott ad09353e 2023-06-07T10:19:35 Android: Galaxy A23 support This CL adds detection of the device, for use in expectations files Bug: b/285045753 Bug: angleproject:8185 Change-Id: Ia68402c4a85fde058b03143eb97607da4679fc7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4597749 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Prashanth Swaminathan 15a29438 2023-06-02T15:31:52 Migrate Android NDK to CIPD [1/2] The Android NDK dependency is moving to a CIPD bucket to reduce the checkout cost and to eventually move to NDK v25. This introduces the NDK into an 'android_toolchain' directory. Following the roll of chromium/base in this repository, a second change will delete the old 'android_ndk' checkout. As a result, the checkout size of this repository will temporarily increase. Bug: chromium:1448383 Test: Verified local builds of ANGLE. Change-Id: Id2b7593270ae8d98e7353011dbc1b564da107786 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585388 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll f8220fa3 2023-06-07T09:20:54 Roll VK-GL-CTS from 0c2e936905ea to f7613775cdc7 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/0c2e936905ea..f7613775cdc7 2023-06-06 piotr.byszewski@mobica.com Fix generation of knownConformanceVersions 2023-06-05 gleese@broadcom.com Increase precision of 'degrees', 'radians' tests 2023-06-02 rgarcia@igalia.com Alpha to coverage with depth buffer 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 angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ibaf7885a0630ba3ee01b4e91a007f167123df92a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4593674 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 176989ad 2023-06-07T07:42:58 Roll Chromium from 9e0b5e8b8a85 to fe5f79e217c4 (537 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9e0b5e8b8a85..fe5f79e217c4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/c884d70f0c..7921c7ccf1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/098d0a11e4..c1df87f08b * third_party/android_build_tools/lint: FObSM0x4tmlkstBzjEhG3sHenn993tmoNjl5naaW28AC..3AJFzcPQ9EDTP7XlHY6bgKZvGn7D812ptquuXFcUWzEC * third_party/android_build_tools/manifest_merger: u2r6t6i4MR-JZBn40RJTHzLBwT4y59mjHv6kkrAlLSQC..nGzWwB6kx8dBDTH7L1jUxm8y3INDX3qVm9co3ntGk7EC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1c6d2fbaf7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0d627781be..e445df0bfb * third_party/r8: iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC..e9kuk0ZE8fKLVJ33ULiDJQ43Sg-S8wbRD0pG7hEcP9AC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/81976120c2..a16d54239e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/38995191a8..6b669febe1 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/1084fb884e..cc6bc21649 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7813c31dc3..7aca1a25c2 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: Ic0801cd566edf88973d7bfef7a83374268dda2ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4593673 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 1ad4ae4d 2023-06-05T18:45:19 Clean up EGLPreRotation Test EGLPreRotationBlitFramebufferTest are passing on Pixel 6. Skip the failed tests on Pixel4 devices only. Bug: b/172867704 Bug: angleproject:5044 Change-Id: I23744cec20bf7e74272532a00420d1488398cda8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4590228 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Kimmo Kinnunen 16841d62 2023-01-31T11:51:41 Reland "Remove SPIRV_METAL references from .gn and tests" The backend was removed but the references were not. Update ShaderBinaryTest to properly skip tests if shader binaries are unsupported in the current ANGLE backend. Forcibly re-enable building of the Vulkan backend on macOS to keep ANGLE's SwiftShader backend working. Fixed: angleproject:6081 Change-Id: I5e6e47d5fe05b0dd6ec150b6db9fe5d75e580173 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594582 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 53b5d25f 2023-06-06T12:09:08 Resolve circular dependency android_helper <-> angle_test_util Ran into it causing issues in https://crrev.com/c/4545408 Bug: b/286067106 Change-Id: I9314d1e48b064a46362a65db2c3a92760111f02f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594440 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev 2780cb0b 2023-06-05T00:00:00 Disallow 'depth_unchanged' qualifier for WebGL contexts This qualifier has no equivalents in HLSL or MSL. Bug: angleproject:8046 Change-Id: I1e79c8d725306efb859152b8083d72019c982149 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4595017 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov c37d74a5 2023-06-06T17:07:15 Revert "Remove SPIRV_METAL references from .gn and tests" This reverts commit f7badd3faa8b1b04538ac7b6db833e1398b13498. Reason for revert: disables SwiftShader fallback on Mac Original change's description: > Remove SPIRV_METAL references from .gn and tests > > The backend was removed but the references were not. > > Update ShaderBinaryTest to properly skip tests if shader binaries are > unsupported in the current ANGLE backend. > > Fixed: angleproject:6081 > Change-Id: I54bb4080763fbc0dcc2515e71ccd5df5c536db5b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4591046 > Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Change-Id: Id41035017830d8b36b29bc4497919c6b01fc3f35 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4595018 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Josip Sokcevic c7d46eb8 2023-06-05T16:03:11 Add kwargs to specialized error message https://crrev.com/c/4505697 started accepting show_callstack. Since Msg is used as specialized error message, it also needs to accept show_callstack since CallCommand will pass it. Bug: chromium:1451607 Change-Id: Ib3aee58b41d2419446e71b8e67392daed407714d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4591539 Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Auto-Submit: Josip Sokcevic <sokcevic@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Rafael Cintron 4500079d 2023-05-30T17:01:10 Refactor D3D device creation to make adapter selection explicit To prepare for future changes which require that angle features be parsed before device creation, we must rearrange device creation such that driver version can be retrieved from the adapter BEFORE the device gets created. Bug: angleproject:8180 Change-Id: I08855b9df318d0a6234231f1e52d3c17cfaa8a30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4575653 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
angle-autoroll 31aa3fa5 2023-06-06T09:54:37 Roll Chromium from d6f22a2a164b to 9e0b5e8b8a85 (1063 revisions) Manually update third_party/flatbuffers from Chromium https://chromium.googlesource.com/chromium/src.git/+log/d6f22a2a164b..9e0b5e8b8a85 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/defeac7e7d..c884d70f0c * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/cd144ced35..b5a43ecdac * testing: https://chromium.googlesource.com/chromium/src/testing/+log/21f1443014..098d0a11e4 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..dc627ec37b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9e0ff22bfb..0d627781be * third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/a56f9ec50e..13fc75cb6b * third_party/r8: 0LMjUUpzAmxHrlftkzbDAaeuTDNXrOEgTgyJm8qIyvMC..iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC * third_party/turbine: Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC..G8Cku1fztaDd9to_8gk3PNWM2iRacAxD9zcUAgUPUEAC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/982b036a25..9c8e4fdccb * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/07b548d993..81976120c2 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/499a012d25..66d5da40df * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/10c4d4779d..38995191a8 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f08244f24a..7813c31dc3 * tools/skia_goldctl/linux: UMqOqE8nlXwo9xj56g4W9ySvvqo2Tsw3B6tWZLo19L8C..7Xu0Ohf2xgwAgLoFgq7LiZmi_Uk3x5gIX5Dta-tZg40C * tools/skia_goldctl/mac_amd64: vjY1ew6KN-bIFZEk7IbwPCAb6xZxib9uqLXMwbi8JLQC..KYHtCI8pS_1-ZVhMhj0d7h-3H8ZdNtaGLYsYnDqRbnMC * tools/skia_goldctl/mac_arm64: twOZsJTmRSqlOwstPpWMhT_fXhiOaijMu24-UJLGK20C..h-5CLVE7g4EEE3-uXZ610OaDlIMoYEx3RLgGWHXRA9AC * tools/skia_goldctl/win: wveYksSfL51dPfdRZ5474IFmCMkL8gg6ygZxxPdBezAC..VWg6iFKkt4rAdHxGoJNLVlgsRlbT-Woz_41P6cFybmYC No update to Clang. Bug: angleproject:8178 Tbr: geofflang@google.com Change-Id: Id46eb10ca81c88f396e42c17b55ead4f77af08c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4593140 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen f7badd3f 2023-01-31T11:51:41 Remove SPIRV_METAL references from .gn and tests The backend was removed but the references were not. Update ShaderBinaryTest to properly skip tests if shader binaries are unsupported in the current ANGLE backend. Fixed: angleproject:6081 Change-Id: I54bb4080763fbc0dcc2515e71ccd5df5c536db5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4591046 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Stephen White e60f64dd 2023-05-31T17:02:22 D3D11: fix for atomic assigned to an SSBO. When assigning the previous value of an atomic op to an SSBO, we do not want to use the "direct assignment" path, since we can't pass the SSBO expression as an argument to Interlocked*(). Instead, we change the RewriteAtomicFunctionExpressions transform not to defer assignments until HLSL output if the LHS is an SSBO expression, and to do its usual creation of a temporary for the previous value of the atomic op. In OutputHLSL, we skip the direct assignment path if the LHS is an SSBO expression. Bug: angleproject:8182 Change-Id: I0707f4f69757119fe5c8f8e7a12bd26025ec74e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4573827 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Kenneth Russell 721c15ef 2023-05-30T17:20:09 Metal: Remove OS info from renderer string for WebGL contexts. This is exposing too much detailed information to the web. Replace it with the string "Unspecified Version". Bug: chromium:1354575 Change-Id: I69b8c6f7cb4eae01f806e91496664276c864309e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574285 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org>
Geoff Lang 6e40ce00 2023-06-05T11:47:29 Do not call postResolveLink in Program::deserialize. postResolveLink assumes the program is currently linked, which is not the case in Program::deserialize. It makes calls to set uniforms which is not always expected by the backend. Call postResolveLink after the backend has linked when loading program binaries. Bug: angleproject:6073, angleproject:8183 Change-Id: Idacb81040ea79a7df51917aaa27c77b25df7d5cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4588410 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov e7a9275b 2023-06-02T18:09:40 Make run_code_generation faster using python3 for auto_script Only changes the way we get auto_script inputs/outputs. Before this CL, some of the scripts (depending on the shebang) are run via vpython3 - which can take a few seconds. But the inputs/outputs code generally doesn't require any unusual imports, so we can just add little hacks to suppress those imports where needed when an argument is given to the script. Bug: angleproject:8184 Change-Id: Ib09a35b839318253fe7e913e24a756d2cb46dad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585820 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4ff41604 2023-05-31T11:12:33 Vulkan: Declare common SPIR-V ids in the compiler The SPIR-V transformer no longer needs to discover these ids. Bug: angleproject:7220 Change-Id: I7082e831308eaac97ace3c128f398ff5f5497739 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4573825 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5f833ff2 2023-05-31T00:06:24 Vulkan: Pass non-semantic info from translator to transformer The SPV_KHR_non_semantic_info extension is set up in this change to allow the translator to communicate an overview of the SPIR-V to the SPIR-V transformer as well as mark locations of interest. This would help the SPIR-V transformer avoid having to discover basic ids and such locations. In this change, a few basic types are predefined and the location where new types and variables need to be defined are marked. Bug: angleproject:7220 Change-Id: I237b9a79efa9c192b3b11f1d97bc9b6a5cc2f8fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4573823 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 6433724c 2023-06-02T23:51:30 Revert "Enable usePrimitiveRestartEnableDynamicState on ARM driver 43" This reverts commit 0ea8e55a6f0667c2bb189d95987833231cdb22b2. Reason for revert: http://b/285543622 Original change's description: > Enable usePrimitiveRestartEnableDynamicState on ARM driver 43 > > The dynamic state bug is fixed in ARM 43. > Venus has backported the driver fix, therefore we > also enable primitiveRestartEnable dynamic state > on venus. > > Bug: b/275210062 > Bug: b/282621541 > Change-Id: I5debd5146386f7e245610fb71c84e4a48b04e85b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581051 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Yuxin Hu <yuxinhu@google.com> > Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Bug: b/275210062 Bug: b/282621541 Change-Id: I529669f82fdb6ceb53e6740c9737cd061cbaf450 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585317 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll 4bf9876b 2023-06-02T20:36:44 Manual roll Chromium from aac4d6a34cf9 to d6f22a2a164b (285 revisions) Manual roll requested by ynovikov@google.com Drop 'build' and 'tools/android' from the roll due to anglebug.com/8178 https://chromium.googlesource.com/chromium/src.git/+log/aac4d6a34cf9..d6f22a2a164b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,solti@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * testing: https://chromium.googlesource.com/chromium/src/testing/+log/356363ab1f..21f1443014 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/271e8b9529..f67cd905e5 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/d8e55758cb..0e01a2b83a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..146f47b08d * third_party/r8: KD3NOxZDyxYRBipxZoMEB7jVz3Hqmg2T0ARs8l9WUL4C..0LMjUUpzAmxHrlftkzbDAaeuTDNXrOEgTgyJm8qIyvMC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/cc7b025840..499a012d25 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/dd48a54991..10c4d4779d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6f6376c124..f08244f24a No update to Clang. Bug: angleproject:8178, chromium:1450207 Change-Id: I047c77b4ac62734733ed592cbf13b2e2d7e064d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585314 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll e64794b2 2023-06-02T15:46:31 Manual roll VK-GL-CTS from 356e6d2f8796 to 0c2e936905ea (9 revisions) Manual roll requested by solti@google.com https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/356e6d2f8796..0c2e936905ea 2023-06-02 rgarcia@igalia.com Test in-bounds attribute in out-of-bounds stride 2023-06-02 marcin.zajac@mobica.com vk-build-programs executors limiter 2023-06-02 ziga@lunarg.com Add xfb query copy tests with availablity 2023-06-02 rgarcia@igalia.com Test negative vertex offset indices with indexed draws 2023-06-02 gleese@broadcom.com Change normalize precision to reduce needless inaccuracy 2023-06-02 vantablack@google.com Add VkFormat to AHB Format cases to dEQP 2023-06-02 gleese@broadcom.com Fix reference values for double precision degrees and radians 2023-06-02 piotr.byszewski@mobica.com Auto-generate knownConformanceVersions 2023-06-02 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 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 angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: Ia8229869be6fc13fac4e9d58b5780ac74bdd7746 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582660 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 4d205990 2023-06-02T10:56:24 Add all of tools/android to DEPS Additional dependencies are being added to //build that reside outside of it, and that also resolves the problem where lookup_dep.py was manually checked in into ANGLE: https://anglebug.com/8178#c15 Bug: angleproject:8178 Change-Id: I332cd955ad6857f87e5611284ed43da6a69d4c30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582331 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Brian Sheedy 1a1ee212 2023-05-31T16:28:31 Update vpython3 requests Updates the requests version in .vpython3 to the latest available in order to pick up a security fix. Also changes the requested version to the Python 3-only one since Python 2 support was removed from requests. Bug: chromium:1448265 Change-Id: I132cf2a18f59a70a17f04b7fcbb3e65165fa7eb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574296 Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 249ff120 2023-06-02T10:01:11 Roll SwiftShader from f549d5e6c663 to ae667fe96db9 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/f549d5e6c663..ae667fe96db9 2023-06-01 bclayton@google.com Update Marl to f4255c213 2023-06-01 bclayton@google.com Update Marl to a089b4aaf If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: solti@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I628df2c3ba4ec1ec7f33b3a0bfdfbea5d856fcbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581700 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9b2257d5 2023-06-02T08:32:05 Roll Chromium from 069f9924f967 to aac4d6a34cf9 (715 revisions) https://chromium.googlesource.com/chromium/src.git/+log/069f9924f967..aac4d6a34cf9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d84d377912..defeac7e7d * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/edbefcee3d..61b4b91ea9 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b2e8ad2755..899caea381 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5a1c842201..356363ab1f * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/9f29aca7dd..a72ec125fa * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ecf1f9c5b7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/79f13899e6..9e0ff22bfb * third_party/fuchsia-sdk/sdk: version:12.20230530.1.1..version:12.20230601.2.1 * third_party/jdk: 2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC..-1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC * third_party/r8: vrqJqwFzpZRW6vpgpLjtMzBf_RG-HfY60YTTGJpB4mAC..KD3NOxZDyxYRBipxZoMEB7jVz3Hqmg2T0ARs8l9WUL4C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6cf0c7b139..cc7b025840 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3349b8beaf..dd48a54991 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7e90957c04..6f6376c124 No update to Clang. Bug: None Tbr: solti@google.com Change-Id: Ic50f4e26269fdb5e98cb2e6c333f78afdb44f7f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4582652 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu 0ea8e55a 2023-06-01T10:25:44 Enable usePrimitiveRestartEnableDynamicState on ARM driver 43 The dynamic state bug is fixed in ARM 43. Venus has backported the driver fix, therefore we also enable primitiveRestartEnable dynamic state on venus. Bug: b/275210062 Bug: b/282621541 Change-Id: I5debd5146386f7e245610fb71c84e4a48b04e85b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581051 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Amirali Abdolrashidi c80fc88a 2023-05-18T17:38:25 Vulkan: Add version to pipeline cache header * Added version as a field in the pipeline cache header. It is set by the value of kPipelineCacheVersion. * kPipelineCacheVersion must be incremented in case of any changes to the cache header or data structure. * This makes it easier to detect whether a change in the data is coming from the header/data change or from data corruption. If the version in the cache line matches kPipelineCacheVersion, some values in the header must meet certain conditions. Otherwise, it will result in a crash due to data corruption. Bug: b/246683126 Change-Id: Iaf1a2e1111cf47602dba947516ad8998d96dc943 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546263 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao ba857c47 2023-06-01T11:33:22 Vulkan: Move some bufferRead logic into CommandBufferHelperCommon Some of the logic of bufferRead is common, to avoid code duplication, it has been refactored into bufferReadImpl and moved into CommandBufferHelperCommon. Bug: b/282194402 Change-Id: I98cd0788db7fe9f14bd3155b28dc208f9f4a138a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4581061 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao e21ecd1b 2023-05-26T14:06:46 Vulkan: Add dirty bit processing for uniform buffer change When app calls glBufferData for the uniform buffer, we may end up reallocate the storage. This will set DIRTY_BIT_UNIFORM_BUFFER_BINDINGS on the context, but the exact uniform block index gets lost along the way. This CL sets mDirtyBits on the program for the corresponding block index and then changed vulkan backend to utilize the program's mDirtyBits and only update the buffer if it is dirty, instead of always update all uniform buffers even if only one of the buffer is dirty. In order to make this work, this CL also adds the reverse tracking from buffer binding to uniform blocks. Previously we already have the tracking of which buffer binding index is used for which buffer block index. This CL adds mUniformBlockBindingMasks which is an array of BitSets. Each array element tracks all the uniform block index that is using this buffer binding index (you can have the same buffer bound to multiple uniform block index). Then when a buffer binding index is dirty, that BitSet gets added into program's uniform block dirty bits. This CL and previous CL improves GfxBench gl_driver2_off score 1.8% (from average 6797 to average 6919) on pixel 7 pro. Bug: b/282194402 Change-Id: Ic5002643a5297907276fc9b20ca7d21af9bdc4fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4553136 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Jose Dapena Paz ad1255c2 2023-01-30T18:35:38 libstdc++: do not use std::logf or std::powf In libstdc++ there is no implementation of std::logf or std::powf, so they must be replaced with calls to std::log and std::pow, and use static_cast for using the right overload. Bug: chromium:957519 Change-Id: I3c94502c006db200148060c1d30e0dd28b8a30d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352890 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 2501903e 2023-05-31T11:59:36 Vulkan: Merge UpdateShader***Buffers into updateShaderBuffers Both UpdateShaderUniformBuffers() and DescriptorSetDescBuilder::updateShaderBuffers() walks the list of uniform blocks (or storage blocks). Some of the logic are the same and we are paying that overhead twice. In this CL, UpdateShaderStorageBuffers, UpdateShaderUniformBuffers and UpdateShaderAtomicCounterBuffers functions are merged into DescriptorSetDescBuilder::updateShaderBuffers and DescriptorSetDescBuilder::updateAtomicCounters. In order to handle the usage that same buffer used by multiple shader stages, a new variant of bufferRead() function is added that takes "const gl::ShaderBitSet" instead of single PipelineStage. This also paves way for next CL so that we can call updateOneShaderBuffer individually. Bug: b/282194402 Change-Id: I09d045d6295827b60bdb4c05df9333fe593fa40e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574288 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Igor Nazarov dbffa5d3 2023-05-30T15:43:45 Vulkan: Update present history logic Keeping old Swapchain's `ImagePresentOperation`s with Fences can lead to multiple "old swapchains" lists. This may cause situations exceeding the `kMaxOldSwapchains` limit. Instead of marking `ImagePresentOperation` as corresponding to an older swapchain, accumulate all present history in the `mOldSwapchains`. Since Fences are only used when VK_EXT_swapchain_maintenance1 is supported, instead of attaching "old swapchains" to the first present operation, they are destroyed when present Fences are signaled in the new `cleanUpOldSwapchains()` method. Also this CL fixes a bug: if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex) The above condition will always pass when VK_EXT_swapchain_maintenance1 is supported. Bug: angleproject:7847 Change-Id: I1a41944456756b8af740f1903c873823323a2e0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505952 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 95f57b19 2023-01-17T19:24:04 Vulkan: Fix Shared Present Mode "acquireNextSwapchainImage()" - no need to call "vkAcquireNextImageKHR()" in Shared Present Mode. - proper VkResult processing (VK_SUBOPTIMAL_KHR replaced with VK_SUCCESS). Bug: angleproject:6878 Change-Id: Ib20ae1f5de3a3cc13bfc4ef034076e3402f93d31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4489464 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 552e7468 2023-05-26T18:39:55 Vulkan: Do not use ANI Fence in present semaphore recycling Fences from `vkAcquireNextImageKHR()` has many problems on some Intel drivers, and one of them does not have a workaround. Instead of using ANI Fence, this change will use `swapSerial`, that has execution dependency on ANI semaphore. As result, semaphore recycling will be delayed a little longer, until the Device finises rendering to the image. On practice, this will not significantly affect the total number of allocated semaphores. As a bonus, this change also fixes a bug with Shared Present Mode: Current logic assumes that PE will only signal image's ANI fence after waiting on previous present semaphore with this image. In reality, PE returns same image index and fence that is always signaled. Additionally, ANI call is not required at all. There is no 100% safe solution when not using: VkSwapchainPresentFenceInfoEXT This CL will recycle present semaphores only after next present semaphore is signaled. This not only ensures, that present semaphores are not reused inflight, but also gives time to PE to finish waiting on the semaphore until next present. Bug: angleproject:8155 Bug: angleproject:7847 Change-Id: Ia112190d77ea7e04f8f9755cf56f5387744dc599 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572426 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 53b2db67 2023-05-26T13:34:39 Vulkan: Reset Swapchain Fence before recycling Depending on the Intel GPU hardware and driver version, crash may happen when accessing ANI Fence after Swapchain destruction. This access includes call to: `vkGetFenceStatus()`, `vkWaitForFences()`, `vkResetFences()`, and `vkDestroyFence()`. Resetting Fence before recycling will "detach" it from the Swapchain, allowing safe usage/destruction of the Fence after that Swapchain destruction. For other devices and drivers, this change is harmless. Only difference is that there will be extra reset calls for items that were recycled but never used before (number of such cases extremely low, compared to cases when Fences are reused). Additionally, this change adds `ASSERT(garbageObject.valid())` into the `Recycler<>`. Before this change, it was possible to recycle invalid fence in the `ImagePresentOperation::destroy()` method. Luckily, this happened only in `WindowSurfaceVk::destroy()`, where invalid recycled fence is not used (it is safe to destroy invalid fence). Bug: angleproject:8155 Change-Id: I0adbaf63333536523004a077977eb68cfaccd6f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572425 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov bcccb6c4 2023-05-30T18:21:06 Vulkan: Minor fix in doDeferredAcquireNextImage() method If call `doDeferredAcquireNextImage()` after `prepareSwap()`, the `prepareForAcquireNextSwapchainImage()` method will be called again, and may possible recreate the Swapchain while there is ANI result that needs processing. In the current code the above is not possible (except if call `prepareSwap` directly from the application side). This may be possible in the future, when ANI is deferred until RenderPass end, that may happen in the `flushImpl()` of the `swapImpl()`. This change skips `prepareForAcquireNextSwapchainImage()` if there is ANI result that needs processing. Additionally, `doDeferredAcquireNextImageWithUsableSwapchain()` call in `swapImpl()` replaced with `doDeferredAcquireNextImage()` for simplicity. Possible call sequences after this change: prepareSwap: prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() or prepareSwap: prepareForAcquireNextSwapchainImage() TryAcquireNextImageUnlocked() other API: doDeferredAcquireNextImage(): // skipped - prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() or other API: doDeferredAcquireNextImage(): prepareForAcquireNextSwapchainImage() doDeferredAcquireNextImageWithUsableSwapchain() Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: I4f973c05821fc9e43769cc2621f4467790118f23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4572424 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
angle-autoroll 5726566a 2023-06-01T10:01:45 Roll vulkan-deps from 354eac3ca8c8 to a6525fe76b4c (50 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/354eac3ca8c8..a6525fe76b4c Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9fbc561947..a6662c53ce * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/69155b22b3..8e2ad27488 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f29e11dcb6..ec244c8598 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/9e61870ecb..3df77fb3e4 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/b95d065ec5..1f20a308fc * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9aafa3cf1a..9a252664d7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/27c61c8dd6..2e88dc0a67 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,solti@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/main/autoroll/README.md Bug: None Tbr: solti@google.com Change-Id: I1cc7ff765daf355cab281712b6a3fb9cedd8a4ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4577893 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>