src/tests


Log

Author Commit Date CI Message
Rafay Khurram 924ee1ba 2024-08-28T02:16:55 CL: Enable CTS over GTest interface * Enables all CTS test suites excluding test_subgroups * Creates one gtest-based executable per OpenCL CTS executable Bug: angleproject:372722560 Change-Id: Iae96c2f12716b3c21d5035fbf6c9d838cb812025 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938948 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 817b7d20 2024-11-13T10:41:49 Trace Tests: Skip solar_smash on Intel Windows Non-deterministic on Intel Windows. Bug: b/378900717 Change-Id: I393bf4fbeb6764ecb3cba61e012036f8f69605c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017397 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Matthew Denton 4a835cf2 2024-11-01T13:31:00 WebGPU: send uniforms to GPU for use in shader Basic uniforms should now be accessible in the shader during a draw call, rather than just via glGetUniform*(). This is unoptimized and creates a new GPU-side copy of all the uniforms, every time any uniform changes. This sets up the bind group layout for a pipeline and sets the bind groups in the renderer pass. Right now these bind groups only contain the default uniform blocks, but in the future will need to contain textures, samplers, and non-default uniform blocks (UBOs). Bug: angleproject:376553328 Change-Id: I50891b81ab2ee374d674213257f76319c0222120 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980972 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Amirali Abdolrashidi 4707e5bb 2024-11-05T10:59:46 Unskip mini_world for other QCOM devices Currently, mini_world is being skipped for all QCOM devices. However, it seems to be working on more recent devices. Therefore, the skip could be limited to P4/P4XL due to image diffs and errors respectively. * In the case of P4XL, it is not confirmed if the original error still persists. Bug: b/331271522 Change-Id: I7ee00a74131ea47463a513121b15e445bddb9289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5994385 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Kimmo Kinnunen c46e6bac 2024-11-12T13:55:01 Make intermediate output symbol names consistent Make intermediate output symbol names consistent across uses in parameter names, struct names, variable names: - built-in without quotes - '' empty - #satb ANGLE internal - 'a' user-defined Previously empty parameters would output the symbol id-generated name ("sabb"), which was surprising when this is used only when the symbol is in AngleInternal namespace, and not in Empty namespace. Bug: angleproject:378584780 Change-Id: I87b13cf964a1ae3ee54b8f4ef7a00eddcd474760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011018 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen b8b962d2 2024-11-08T14:53:00 Parse function parameters into TPublicType Parse function parameters into TPublicType instead of TType. TType holds the type info, TPublicType holds the type specification info. This helps in moving the TType::isStructSpecifier into the AST nodes, away from the type system which it is not part of. Removes duplicated code where unnamed unsized arrays would cause different error message than named unsized arrays. Bug: angleproject:377330017 Change-Id: I102b9e87823a545f7e64f971aafbdcd313a542fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000009 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 0d02f857 2024-11-07T09:32:28 Test SeparateDeclarations This makes it easier to fix issues with SeparateDeclarations Bug: angleproject:377330017 Change-Id: I53b9ca06971e0272563b6b3c752e0438c5802193 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000533 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen efcb94ab 2024-11-06T15:55:02 Output the type of constant union Output the type of the constant union node in OutputTree output. This makes it easier to understand typing bugs related to the constant union. Adds a node nesting level for constant unions. This makes it easier to understand consecutive constant unions. Bug: angleproject:377330017 Change-Id: Ia83072b78c4d1713f839fd136692b254f6d2c517 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6000532 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi e3011d96 2024-11-08T16:17:07 Translator: Optimize size calculation for variable arrays Bug: angleproject:373924024 Change-Id: Id3a8b844b8274c19c0c2c833842fb8b501f50174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004338 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 7fea539c 2024-10-23T11:40:51 Vulkan: Remove extra non-conformant flag checks It may be possible to remove the flag check and simply rely on the checks performed in CanSupportGLES32() to determine support for ES 3.2. The non-conformant flag can remain utilized for certain features until the relevant issues are resolved and this flag is no longer needed. * Removed the checks from getMaxConformantESVersion(). * Removed the flag check in Renderer::getMaxSupportedESVersion(). * Added exception to the blend extension when using the non-conformant flag for Win/Intel. * Skipped the related tests on this platform that now fail. * Added a new feature flag to force-enable ES 3.2 on certain platforms for testing. * exposeES32ForTesting * If the bots are updated to support ES 3.2, it can be removed from using this flag. * Skipped some VVL errors when the flag is enabled. * Skipped end2end ES 3.2 tests on SwS. * Skipped some dEQP tests on P4 and SwS that would use ES 3.2 features that are not available on those platforms. Bug: b/374841339 Bug: b/376899587 Change-Id: Ifd405457ab8bf2076eb8fb5c92c5316f4d520595 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5958147 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Ho Cheung d30d81d0 2024-11-06T16:08:28 [code health] Remove underscores from test names in ANGLE (1/N) In the GoogleTest framework, underscores are not allowed. [1] ANGLE has underscores in many test names, and those should be changed. At the same time, add a comment to a test case according to the requirements of the Presubmit check. ```` *************** ANGLE requires a comment describing what a test does. *************** ```` [1] https://github.com/google/googletest/blob/main/docs/faq.md#why-should-test-suite-names-and-test-names-not-contain-underscore Bug: angleproject:377543127 Change-Id: I90e634bd985ca518eca43e2c919a3a8bca91a55b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5997835 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Ho Cheung <hocheung@chromium.org>
Yuxin Hu 094a0b11 2024-11-07T17:45:50 Skip KHR-GLES31.core.tessellation_shader.single.primitive* on win Bug: angleproject:377993076 Change-Id: I7d7d99b87b51911bbb3046b4e7353afb18060d5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6003811 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 2c7e9830 2024-11-04T10:05:25 restricted_trace_perf: Setup and wrapper support This CL adds support for installing and setting up traces. Also allows running via the wrapper in http://crrev/c/5985570 With this change, if you run without using the wrapper, you must provide the --build-dir flag. It allows running the script from any directory: --build-dir ../../../out/Android Bug: b/376300037 Change-Id: I2259ee120b2af5e1917a2a57a27fa3dcfca761e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5983806 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov bdebee8c 2024-10-29T17:08:11 Tests: add repro for running out of outside RP serials Bug: b/375661776 Change-Id: I2cd82710bdf5b00a6165ddad6ef21f30150aa5bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5977123 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 750d9a24 2024-11-06T17:28:19 Skip SourceAHBTarget2DGenerateMipmap* tests on S22 There is a vulkan driver bug on S22 device: https://chromium-review.googlesource.com/c/angle/angle/+/5966623/comments/44b72fb9_3ba112c5, causing ImageTestES3.SourceAHBTarget2DGenerateMipmap* to fail. Skip these tests on S22 until the vulkan driver of the device is updated. Bug: angleproject:40644776 Change-Id: Id5e68aa4ad8f2172c5cdda9adb26af60da87b905 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6001577 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov d01f5101 2024-11-01T18:45:55 Tests: add wrappers for restricted_trace scripts Example use: out/Android/restricted_trace_gold_tests \ --bypass-skia-gold-functionality \ --filter=dota_underlords:dragon_raja out/Android/restricted_trace_perf --flags Bug: b/376300037 Change-Id: Ic3e8cb241af25a770f5d1888538d13482f877b6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985570 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 6cda99d8 2024-11-07T09:53:01 Tests: fix run_angle_android_test.py and trace bundle The output_directory arg is provided when invoked by the wrapper, but not when running with run_angle_android_test.py, in which case cwd has been historically used such as: cd out/AndroidPerformance; ../../src/tests/run_angle_android_test.py ... Move the import added in https://crrev.com/c/5985232, as 1) it now imports protobufs which is not included with python3 and requires an additional package 2) build/ is excluded from trace bundles where running traces with the Chromium runner isn't supported. Bug: b/377875190 Change-Id: Ie092dc6382e74ac7413a42acffaf507c05b73514 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6002496 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi f44427b5 2024-11-05T15:18:59 Vulkan: Fix MSAA glReadPixels into PBOs The temporary image used to resolve the MSAA framebuffer during glReadPixels did not have the SAMPLED usage bit. Additionally, the image was supposed to be garbage collected afterwards but ImageHelper's release() function was accidentally immediately destroy()ing it. This was not an issue with blocking glReadPixels paths, because the command buffer was immediately flushed and the GPU work was waited on before the image was destroyed in RendererScoped's destructor. Bug: b/377437834 Change-Id: I1dca47172d6f363277059a848fe9446ac2a872d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995530 Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov cc2edfd1 2024-11-05T15:37:21 Fix getPerfMonitorCounterData maxResults, skip AsyncCommandQueue test Skips TextureDataInLoopManyTimes on SwS AsyncCommandQueue. Add more debug info to the test although without the AsyncCommandQueue variant we likely won't be see flakes. Bug: angleproject:377503738 Change-Id: I372531451c280b04ffed84b020463657440fca08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5995531 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Mohan Maiya 17a01469 2024-10-26T06:07:31 Vulkan: Bugfix TextureVk::generateMipmap Add support for generating mipmaps of textures that are EGLImage texture targets with colorspace overrides Bug: angleproject:40644776 Tests: ImageTestES3.SourceAHBTarget2DGenerateMipmap* Change-Id: I9b4ff802f4118a42d54dc8d80ab30e2f9958bfee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966623 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Roman Lavrov 1daf17b5 2024-11-04T11:05:46 Tests: restore angle_end2end_tests --help on Android https://crrev.com/c/5985232 added support for choosing the test runner, but that inadvertently changed behavior with --help (or with certain flags). This CL restores that behavior. parse_known_args() exits the process by default, so add manual --help handling. Bug: b/344849382 Change-Id: I87f197f90a161ec141a6e1f46ba81cfbf01a2fec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987387 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 47fafdb9 2024-11-04T10:05:12 Disable tracegz (trace interpreter) by default, remove from CI Trace interpreter is incomplete and we've been punting on it. Can be re-enabled with angle_enable_tracegz=true in gn args. This avoids accidentally pulling trace sources into builds. Bug: b/376300037 Change-Id: Ib755fa9f57885216b02a481fd670a1bb0266f0db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5987382 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov e43d3591 2024-11-01T16:23:27 Tests: allow choosing Chromium/our test runner + screen checks Chromium test runner (build/android/test_runner.py) is currently the default runner for most suites. One exception is angle_trace_tests where we're always using our scripts instead (android_helper.py etc). We do that by setting android_test_runner_script to our runner for that angle_test instance. This CL supports setting android_test_runner_script to our script but then choose whether to run with the Chromium runner or android_helper depending on the command-line arg (--angle-test-runner) This CL also adds a check for the screen state which will be performed regardless of the runner. This is to have a fast and clean failure when the device wasn't properly initialized by the infra (see bug). The check is based on the output of `dumpsys deviceidle | grep mScreen` (this is the most generic check I found, I previously used nfc but that depends on nfc and turns out the output is device-dependent) This CL enables this mode for angle_end2end_tests. Bots will continue to run with Chromium runner as before (but with the added screen checks). Locally, we will now be able to switch to our scripts directly: out/Android/angle_end2end_tests \ --gtest_filter='*ClearTextureEXT2DMSStencil*' \ --angle-test-runner Now when running end2end tests locally (regardless of the runner) with a locked device screen, we'll see the following error right away instead of sporadic failures or stuckness during execution: Exception: Unexpected device screen state: ['mScreenOn=false', 'mScreenLocked=true']; expected: ['mScreenOn=true', 'mScreenLocked=false'] The plan is to enable this mode for all suites, after which the current local script run_angle_android_test.py will no longer be needed. Bug: b/344849382 Change-Id: I77e7733804ab37e2f3d26bf3574a52a9553e4274 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985232 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen eccfec93 2024-11-01T11:49:11 Metal: gl_ClipDistance fails validation Failure is "Found child with two parents". Result from reusing gl_ClipDistance in: float gl_ClipDistance[8]; ClipDistance_0 = gl_ClipDistance[0]; ... Fix by creating new node for each symbol access. Bug: angleproject:376718272 Change-Id: I7a866a10e389cc25d0cff4e6f18ae9c70ab376e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979781 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Chris Dalton a05a0e15 2024-09-25T22:33:36 Validate PLS shaders against context state Add shader introspection for PLS uniforms and validate that they match context state during draw calls. Bug: angleproject:40096838 Change-Id: I76cdf8add03de8f8b0b3e772c15c0087c1d97e98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5893962 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen b03f0148 2024-11-01T10:26:04 Metal: interpolateAtOffset fails validation Fix validation error Found function prototype with an invalid qualifier. The offset parameter was created with "global" qualifier. Bug: angleproject:376718268 Change-Id: I6f314a42fe1d35d54bb673cfa7d58eba526c9ea5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979778 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 2156cd6e 2024-10-31T14:22:31 Metal: Fix rewritten array variables clashes It was possible to generate MSL name clashes by declaring arrays, such as in: mat3 a[1] mat2 a_0; Complex GLSL outputs need to be linearized into primitive MSL types. This would happen for struct outputs, arrays and matrices. For these new MSL variables, the translator needs to invent new names that match, generated from both VS and FS. The clashes were due to the encoding scheme: For arrays, the MSL vertex output variable was named with _0 suffix for the array and _0 for the matrix row 0. In the example above, this would create a clash since also non-array mat would be linearized row-wise. For structs, field `a.b` would be encoded as `a_b`. By selecting different a and b, clashes could be generated trivially. It is redundant to encode named semantics in the out variable names. The only needed element is the discriminator which associates VS variables to FS variables. Currently this is done by using the user-provided root field name. Fix by encoding only the root variable name to the MSL variable name. The rest of the field discriminators are just a running number. Each GLSL name `a` is unique. MSL names get fixed suffix form `a_X`, and thus all of them are unique too. This is a continuation of following fixes that turned out to be incomplete: 6fe8a399dd Metal: Fix rewritten out variables with underscores 27423bffff Metal: Generate names for rewritten inputs Bug: angleproject:376417347 Change-Id: I407db373d201b3e321c6d8414bafdbecfd82cf19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5979774 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Amirali Abdolrashidi 6b9d3762 2024-08-22T15:29:00 Vulkan: Optimize full texture clears Currently, a full texture clear (glClearTexImageEXT()) is treated as a special case of a partial clear (glClearTexSubImageEXT() with image dims as the input). However, it can be further optimized by treating it as a clear update. * For full clears from EXT_clear_texture, the clear update path is taken. * It leads to a more optimized path, including the usage of the following APIs: * vkCmdClearColorImage() * vkCmdClearDepthStencilImage() * It uses the following enum: ClearTextureMode * If a partial clear uses the extents for the entire image, it is treated as a full clear. * Updated the method to determine if a texture is renderable in clearSubImageImpl(). * Added perf counter: fullImageClears * Added new unit tests * Single 3D texture full clear (Clear3DSingleFull) * 2D RGB SNORM clear (Clear2DRGB8Snorm) * Added Vulkan perf counter test for 2D and 3D color image clear. * Updated the related skipped tests on Pineapple. Bug: angleproject:42266869 Bug: angleproject:375425839 Change-Id: I12ef3002dee190d7f8f43204f7d3f76e05d0b54f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806207 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 91ea8aef 2024-10-31T12:33:35 scripts: Add restricted_trace_perf as data dep This gets it in to angle_trace_bundle.py. Bug: b/376300037 Change-Id: Iebffb105d24bd45c346d6d7085051c432039e2ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5980801 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 8d12b278 2024-03-15T15:39:39 Make separated anonymous in/out structs work better Fixes failing case for other backends than GLSL output: VS: out struct { .. } a, b; FS: in struct { .. } a, b Make the ANGLE VS-FS interface matching work by using the anonymous name as the variable structOrBlock name. Bug: angleproject:42267047 Change-Id: If8107387c02b5520134857fb210a27a8f92a2db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5372727 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen b8d546b2 2024-10-30T15:40:58 Fix immutable string concats with ints `BuildConcatenatedImmutableString("a", 10, "b")` would construct "a\nb" because the implementation lacked int overloads and ints would be promoted to chars implicitly. Fix by implementing simpler way to calculate digits for numbers and then add useful overloads. Remove ImmutableStringBuilder::appendDecimal() since the code is already expecting << for all other types, and the bug was due to this expectation. Bug: angleproject:376417347 Change-Id: Iea5e14a6e2fede068b704754b9203db794dd5bf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Cody Northrop 7bb1e0f6 2024-10-29T13:18:49 restricted_trace_perf: Allow use of system ANGLE libs This change allows the perf script to use built in ANGLE libs, including from the system partition, instead of requiring a separate package. By default, the script will now use the ANGLE libs packaged in the test APK (com.android.angle.test). OpenGL/EGL calls will still go though the platform EGL loader, but you no longer need to install a separate ANGLE APK containing libs. To use the system libs, add the following flag: --angle-package system You can use it to point to *any* package that is queryable and contains ANGLE libraries. To get the previous behavior, you'd use: --angle-package org.chromium.angle Also two small unrelated fixes: * Fix typo when clearing shader cache * Broaden the 'MODEL' skip in thermal throttling Bug: b/376300037 Change-Id: I762cfd7516026e903a6a5de2949d50e96e766d48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5976899 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Neil Zhang 236e0f48 2024-10-22T18:33:23 Add fix for create multi-window surfaces cause crash This patch fix crash when created multiple window surfaces, and not call corresponding eglDestroySurface, also added related test. Bug: angleproject:374797737 Change-Id: I58941660130e84e213cf9d78806027d56d6efc8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981430 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 913251aa 2024-09-25T17:42:59 Add clear tests related to layered image * Added tests to bind a layered framebuffer to a 3D image and clear it. Bug: angleproject:42266869 Change-Id: I488a26883d3e05daf0cc746ccf4b409ba470cb4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889409 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 1652f8ed 2024-10-17T13:35:39 Vulkan: end2end tests when descriptorSetCache is disabled Some end2end tests are testing specific descriptorSet cache behavior. When cache is disabled, these tests failed. In this CL these perfCounter based tests haven been modified to check total allocation to ensure the descriptorSets are properly reused instead of cache hit/miss. Bug: angleproject:372268711 Change-Id: I1d2f4cfcf622b05cdcb3317c8804416a80e72c48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3735732 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov a7ef6444 2024-10-29T09:39:24 Tests: skip D3D11 dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:42260109 Change-Id: Ief290695dd97d7ecf84f2e06f352d9135e0748b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5974494 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen 4397ff2f 2024-10-25T16:55:30 Metal: SeparateCompoundStructDeclarations fails validation Consider GLSL: struct S { int i; } s; s=s; SeparateCompoundStructDeclarations would rewrite this to: struct S { int i; }; S s'; s=s; The interm rewrite would rewrite the specification and declaration of s, but not the use sites. The use sites would use the old type, and thus something that was not in the tree anymore. This would fail the validation. This kind of bug was previously fixed for SeparateDeclarations in commit 18fa02bebf901dd8501de3176f6052ae4ce984be. Fix by adding the logic to SeparateDeclarations, as it is already doing almost the exact task, separating `struct S { ..} a, b`. The separation is tested in GLSLTests.StructInShader and various other draw tests. These pass with MSL, but these would also fail validation if that was enabled. Bug: angleproject:375523825 Change-Id: I1697103d0ba47616dbd3159f36f9e71cb2831c4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5964899 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 4a5b0284 2024-10-24T11:46:54 Disallow discarded uniform block references Uniform block instances cannot be used by themselves, as there is no way to refer to their type. Disallow the only typeless access pattern, discarding via expression statement: uniform MyBlock { int x; } b; void main() { b; 0, b; } Explained as disallowed in newer GLSL 300: https://github.com/KhronosGroup/WebGL/issues/3644 The comma expression form would ASSERT in CollectVariables. Bug: angleproject:42267026 Change-Id: I6c8b835482fd551bd97576c1bd24f005874da6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961498 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 898a1c12 2024-10-24T13:09:36 Metal: Fix ToposortStructs validation == failures ToposortStructs would convert mat, vec, struct == to ANGLE_equals() calls. However, the functions called were not in AST. This would cause "Found node calling previously undeclared function <validateFunctionCall>" validation error and ASSERT. Mat, vec equality calls would use prelude ANGLE_equals implementations. The MSL emit already does the conversion from == to ANGLE_equals for these builtins. For user-defined structs the logic would be: - collect struct decls, structs, create equality functions - toposort - for each sorted struct: - insert struct decl - insert equality function Move the equality function creation after the toposort: - collect struct decls, structs - toposort - for each sorted struct: - insert struct decl - create equality function - insert equality function This way the sort ensures that nested struct equality functions can refer to previously introduced equality functions. Bug: angleproject:375352601 Change-Id: I59efed98bca6d99b198abc2b5c7577cf5d1d5d83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961281 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi 08c1724f 2024-10-11T14:29:00 Vulkan: Support GL_ARM_shader_framebuffer_fetch_depth_stencil Bug: angleproject:352364582 Change-Id: I63fd78314fa7ebccbf366c252e309a9c0f09c8c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938150 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 65fcf9c4 2024-10-26T10:53:18 Vulkan: Remove redundant dependent feature checks Since [1], when a feature is overriden, the dependent features automatically take the override into account. Tests no longer need to account for dependent features, neither does the logic in the code. [1]:https://chromium-review.googlesource.com/c/angle/angle/+/4749524 Bug: angleproject:42266725 Change-Id: I5440aba4a89cffbe710e26ad7de4cfee783e9bdf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967414 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov c13e9963 2024-10-28T15:19:09 Tests: skip mac intel dEQP-GLES2.functional.polygon_offset Got re-enabled in https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+/0d2b73e3a4b70d3117abca393e2b86ccf99f4c31 The GLES3 version is already skipped for this config Bug: angleproject:40096462 Change-Id: I8b6eca1faec9442c6de323000cd223b0c169e35d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5972595 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Yuxin Hu ba65fc48 2024-05-01T15:53:20 ANGLE unit test to check const expression in a shader with uniform Bug: b/338287961 Change-Id: I81586122fdb6cdfe650b9c9094582276220741f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5507766 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 0d5c0bd1 2024-04-25T10:26:08 ANGLE end2end test to check const expressions are handled correctly Bug: b/337046547 Change-Id: I1bd368f8c95a9676aba13fe91313d0eaba32db03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5490170 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi a0586d6e 2024-10-26T00:32:27 Remove feature description / condition strings These strings show up in chrome://gpu so they can marginally be useful, but are otherwise dead weight for most uses of ANGLE / users of ANGLE. While slightly less convenient, the feature name can always be linked back to the source code if needed so the presence of such metadata is not necessary either. This shaves 40KB from the binary size of ANGLE when built with Vulkan only on Android. Bug: chromium:371512561 Change-Id: I3959961bb7de95cc60a85130d0ff38a7fd533fb7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5968453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4353d25c 2024-10-25T16:16:58 Fix ASAN bug in GLSL test Bug: chromium:375344329 Change-Id: Id275ba7877c5092bf7b55c06fcfa80614886985c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5967933 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 3a265f14 2024-10-24T17:34:15 Android tests: raise if --render-test-output-dir doesn't exist For convenience when testing locally, otherwise we get an obscure error later on Bug: angleproject:370089935 Change-Id: I94f52aef90afb600baae45540e0e53f899554ee9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960260 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov ec262a32 2024-10-22T12:34:15 Trace tests: offscreen gles1 fix framebuffer binding handling gles1 traces can call glBindFramebufferOES (ex: plague_inc) so we need to intercept that for offscreen gles1 traces. Also OES_framebuffer_object does not provide "read" bindings, only a single framebuffer binding, so we need to special-case binding handling in the gles1 case. Bug: angleproject:370508393 Change-Id: Ia17df21ed67aa8a1e0aa45fe9bb929ce42852ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953095 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 12584049 2024-10-21T14:04:55 Make SimplifyLoopConditions testable Add ShCompileOptions::simplifyLoopConditions, so that tests can turn it on. Later edits to simplify loop condition logic are simpler to review when the testing related edits are landed separately. Test the feature by having ESSL as the input and ESSL as the natural output, to reflect how AST changes. To make the test expectations more deterministic across code changes, change SymbolTable::kLastBuiltInId to SymbolTable::kFirstUserDefinedSymbolId. This is simpler as no code needs to know exact last built in id, so we can just ensure that the user defined symbol ids do not clash with the builtin ids. Bug: angleproject:374585769 Change-Id: Iea0efb8ac2878691d0fd5ff5cfe9a49ac754515d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5946724 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Roman Lavrov 922147f9 2024-10-22T18:20:44 Trace tests: offscreen sRGB traces use sRGB format Without this offscreen screenshots end up darker. Currently applies to 7 traces, can be found with: % egrep 'DrawSurfaceColorSpace.*0x3089' src/tests/restricted_traces/*/*.json Bug: angleproject:370089935 Change-Id: I4a05782de2e7400fcfcb5757d18acf758749d6ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953096 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 47c66901 2024-10-21T12:47:22 Vulkan: Set gl_Layer to 0 if the framebuffer is not layered Bug: angleproject:372390039 Change-Id: I29067c9488e06f6dd2e90f207fecb843267fb77c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949263 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bbe68963 2024-10-21T15:11:27 Vulkan: Fix `precise` vs `mat4(...)[index]` Bug: angleproject:374801303 Change-Id: I45550abe406aaaf4d2c5eb5d7d694b2b30ab8e4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949528 Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 5c2a2fd5 2024-10-21T16:00:25 Vulkan: Fix `vec4(...).zxwy[index]` The code was actually correct, but included an unnecessary assertion. The code incorrectly assumed `.zxwy[index]` is pre-processed with a lookup table and turned into `[index']`, but it wasn't if the LHS is a constructor. The change just removes the assertion because it was correctly handling that already. Bug: angleproject:40096715 Change-Id: Ib1365f95a255ce3654831af55429361d35c026c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5949527 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi ef55ca0a 2024-10-17T14:44:22 Update copy validation regarding ext textures * Updated the validation functions for the following function to accept TEXTURE_EXTERNAL_OES: glCopyImageSubDataEXT() * Updated unit test CopyTextureTestES3.CopyImageSubDataToEGLImage * Using TEXTURE_EXTERNAL_OES as target for glFramebufferTexture2D() requires EXT_YUV_target. Therefore, the texture related to it is used instead. Bug: angleproject:361372990 Change-Id: I905d4cf89522ae3158516b42b15705d1044c6e97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5940404 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Jiaqi Li ff455e8c 2024-10-17T13:19:09 Add tests to check copy image with TEXTURE_EXTERNAL_OES According to spec of EXT_copy_image, GL_TEXTURE_EXTERNAL_OES should be accepted by glCopyImageSubDataEXT. Add two tests to check copy image from gles texture to EGLImage and from EGLImage to gles texture by API glCopyImageSubDataEXT. As ANGLE does not support this currently, skip these two tests on all platforms. Bug: angleproject:361372990 Change-Id: Iceacb2d6af2277a314a215220c3ccdf47665561c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5940214 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Le Hoang Quyen 182aa407 2024-08-14T19:52:30 Reland "Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format." This is a reland of commit f102d75a39ec8980a617c179034c24f337b12d1c Nothing changed, it's just that the root cause was already fixed in https://chromium-review.googlesource.com/c/angle/angle/+/5937060. Original change's description: > Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format. > > Currently when IOSurface is bound to a pbuffer with GL_RGB internal > format, we asign angle format=B8G8R8A8_UNORM/R8G8B8A8_UNORM to it. > And then disable alpha write to the respective MTLTexture. > > However, when an implicit MSAA texture is created for the above > pbuffer, it will be assigned B8G8R8A8_UNORM/R8G8B8A8_UNORM angle format > but has no knowledge about alpha write disable. Consequently, when a > render pass uses this implicit MSAA texture, its alpha channel won't be > cleared properly and would contain garbage values. > > In order to avoid the above bug, we should use > B8G8R8X8_UNORM/R8G8B8X8_UNORM angle format for the IOSurface pbuffer. > > This will fix the render corruptions found in chromium:358957665. > > Bug: angleproject:42261786 > Bug: chromium:358957665 > Change-Id: I8aa1e24ace2de80dd08e21711445515ba4b339ff > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5788801 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Bug: angleproject:42261786 Bug: chromium:358957665 Change-Id: I1e090886ed493eafce35d2ba98010c3be7bc16c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5937061 Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Stephen White 4b1e58d9 2024-10-17T09:33:53 Fix for float constant precision in the GLSL backend. Increase the precision of floating point values written out via std::ostringstream. 8 digits is not sufficient to represent all floating point values. Note: the reason the locale test was modified is because it was using a value of 1.9, which has no exact fp32 representation. Increasing the precision causes it to print as 1.8999998 instead of 1.9, failing the test. I've adjusted the value to 1.5, since this does have an exact fp32 representation. (However, note that I couldn't get the test to fail when I removed the locale setting, with either 1.9 or 1.5. Perhaps the locale is being handled at a different level.) Bug: angleproject:374013421 Change-Id: Icb79eb9acd562c83d079f2cc2cdba253220e581e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938473 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5b96316b 2024-10-17T14:00:41 Revert "Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format." This reverts commit f102d75a39ec8980a617c179034c24f337b12d1c. Reason for revert: Suspecting this caused an GPU memory regression on Mac. Bug: chromium:374072906 Original change's description: > Metal: translate IOSurface pbuffer's GL_RGB to RGBX/BGRX format. > > Currently when IOSurface is bound to a pbuffer with GL_RGB internal > format, we asign angle format=B8G8R8A8_UNORM/R8G8B8A8_UNORM to it. > And then disable alpha write to the respective MTLTexture. > > However, when an implicit MSAA texture is created for the above > pbuffer, it will be assigned B8G8R8A8_UNORM/R8G8B8A8_UNORM angle format > but has no knowledge about alpha write disable. Consequently, when a > render pass uses this implicit MSAA texture, its alpha channel won't be > cleared properly and would contain garbage values. > > In order to avoid the above bug, we should use > B8G8R8X8_UNORM/R8G8B8X8_UNORM angle format for the IOSurface pbuffer. > > This will fix the render corruptions found in chromium:358957665. > > Bug: angleproject:42261786 > Bug: chromium:358957665 > Change-Id: I8aa1e24ace2de80dd08e21711445515ba4b339ff > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5788801 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Bug: angleproject:42261786 Bug: chromium:358957665 Change-Id: I29238588f78f2d01c77a317b2a22670a8036d2e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5939455 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 323187d9 2024-10-11T13:48:51 Vulkan: Fix color attachment limit with framebuffer fetch ANGLE incorreclty assumed that the input descriptor limit is at least as big as the color attachment limit. This is not true on Intel/windows where 8 color attachments are available but only 7 input descriptors. With this change, the color attachment limit is dropped to 7 in such a case so that framebuffer fetch can continue to be supported. Bug: angleproject:372873263 Change-Id: If836563b47399a23b293b74815f6bccb21aaf47c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5919759 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 8d86ae9f 2024-10-16T14:38:57 Skip flaky end2end test ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB on Win Intel GL Bug: angleproject:373818282 Change-Id: I92ea2ca5aa5423a13d9912a7da964c315b862ec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5938873 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi e40d8581 2024-10-16T10:57:39 Vulkan: Fix render pass revival vs framebuffer fetch and DR Bug: angleproject:352364582 Change-Id: I86548251fc1dec75031a23e3461bf296c852919c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5937412 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mavis Deng 68ba532b 2024-10-09T14:38:01 Add validation for ObjectLabel The validation of ObjectLabel is empty. Move the validation in ValidateObjectLabelKHR to a new ValidateObjectLabelBase (except the extension check), and make ValidateObjectLabel and ValidateObjectLabelKHR both call ValidateObjectLabelBase after the version/extension check. An end2end test is added Bug: angleproject:360903471 Change-Id: Iabfd3c16c5423b2ab2fe5e417fe75eed00237c92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5919129 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9e8b104e 2024-10-14T00:00:00 Do not test OpenGL backend on iOS Added Metal platform to tests that require instantiation. Bug: angleproject:40050022 Bug: angleproject:42264029 Bug: angleproject:42266119 Bug: angleproject:42266226 Bug: angleproject:42266239 Bug: angleproject:42266249 Bug: angleproject:359136169 Fixed: angleproject:373478551 Change-Id: I915f09c7f24acce27bf0d489932645338ac3fbe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5932659 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jiaqi Li 0dbe85f3 2024-10-15T13:54:36 Increase the size of vector WriteImages to max ANGLE limits the size of vector which represents the write images when resolving images. So when blit a multisample buffer to mrt, the sum of write images is more than 1 and app will abort while checking the size of the vector. This patch increases the size of vector WriteImages to max. Add end2end test to test blit multisampled framebuffer to MRT framebuffer. Bug: angleproject:361369302 Change-Id: I2d892bcd3411f2bca2ff514f6f0b6055d872668a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5872512 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 059f66be 2024-10-15T10:04:23 Bugfix in UnitTest_DMSAA_dst_read Skip UnitTest_DMSAA_dst_read test if GL_EXT_sRGB_write_control extension is not supported Bug: angleproject:40644776 Change-Id: I4e8ec6d184b033308b7cd33551555d480bdc8107 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933569 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Amirali Abdolrashidi 91391c06 2024-10-02T16:07:02 Vulkan: Vertex attribute hole crash workaround * Added condition to bypass reading from a streaming attribute if the source pointer is null. * Added unit test that crash if a vertex pointer is not defined for an enabled vertex attribute. * VertexAttribPointerCopyBufferFromInvalidAddress * Credit for the original test: tingwei.guo Bug: angleproject:359729255 Change-Id: I2592fed66f0eba8c7003ec02cc8ca802833f23b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5899978 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov f1296738 2024-10-15T14:27:43 Skip end2end tests failing on iOS BlitFramebufferANGLETest.BlitWithMissingAttachments/ES2_OpenGL Texture2DTestES3.UnitTest_DMSAA_dst_read/ES3_Metal Texture2DTestES3.UnitTest_DMSAA_dst_read/ES3_OpenGL Bug: angleproject:40644776, angleproject:371987004 Change-Id: I414bfa065faa0bbd20cb7d46d00e30d9d92f7f53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5933825 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll e7341113 2024-10-14T23:37:31 Manual roll VK-GL-CTS from 179dd9f858f0 to 5e9887eb393c (20 revisions) Manual roll requested by abdolrashidi@google.com * Added common source files for FragCoordConventionsTests. * Suppressed a failing must-pass test for Pixel 4. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/179dd9f858f0..5e9887eb393c 2024-10-11 piotr.byszewski@mobica.com Test texture LoD query in combination with base level 2024-10-11 mateusz.bahyrycz@mobica.com Add missing coverage for sparse binding multisampled images 2024-10-11 mateusz.bahyrycz@mobica.com Add tests for multiple bind sparse infos 2024-10-11 ziga@lunarg.com Only use depth clamp control create info if extension is enabled 2024-10-11 kamil.goras@mobica.com Split KHR-GL46.framebuffer_blit.framebuffer_blit_functionality_multisampled_to_singlesampled_blit 2024-10-11 marcin.hajder@mobica.com Port KC-CTS tests to VK-GL-CTS (fragment_coord_conventions_multisample), PART 13 2024-10-11 gleese@broadcom.com Fixes for mandatory feature and feature_consistency tests 2024-10-11 lordalcol@users.noreply.github.com Create vulkan-cts-withdrawal-2024-10.txt 2024-10-10 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-10-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-10-03 ziga@lunarg.com Add more tests for VK_EXT_swapchain_maintenance1 2024-10-03 ziga@lunarg.com Test dynamic sample locations without create info 2024-10-03 piotr.byszewski@mobica.com Coverage for extremely long debug labels 2024-10-03 Tyler.Schneider@amd.com Add sanity check in Ray Query Stress Tests 2024-10-03 cwabbott0@gmail.com Revert "Fix crash in local read max input attachments test" 2024-10-03 scerveau@igalia.com Update vk_video_samples external sources 2024-10-03 rgarcia@igalia.com Add shader module identifier tests with mesh shaders 2024-10-03 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-10-02 gleese@broadcom.com Remove mandatory_features.txt 2024-09-30 lorenzo@khronosgroup.org Set Amber back to google: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 abdolrashidi@google.com,angle-team@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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:373475678 Tbr: abdolrashidi@google.com Change-Id: I2c31b1a15cdafc4c2e528d65a1a67a2672b932d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5932584 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov 4c35748f 2024-10-14T16:30:55 Skip MultisampleTestES3.CopyTexImage2DFromMsaaDefaultFbo on S22 Bug: angleproject:372059358 Change-Id: Ide36309be0310f1449bf4aedce42c60c0fda55c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5928718 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov a8d9d813 2024-10-08T15:31:37 Trace perf: save individual screenshots in offscreen With --offscreen, _frameN.png is now the Nth frame, by reading the offscreen buffers pixels. This is more consistent with onscreen. Previously we would only get _frame24.png, _frame48.png etc with the grid of frames from framebuffer 0. Now we get these as _grid1.png, _grid2.png etc, and _frameN.png are individual frames. gles1 is an exception as we don't have grids and only render a single frame to framebuffer 0. Bug: b/370508393 Change-Id: Ia8cb13120f21ef92fa3e6662b5e2cffa918983d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916767 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 0f2ce2cd 2024-10-11T12:58:53 Tests: Add Supreme Duelist trace Test: angle_trace_tests --gtest_filter="*supreme_duelist*" Bug: b/372883450 Change-Id: I87931895ea67b437c36bb99e8ab4fa8e1dae3a3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5926174 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Alexey Knyazev ab1cdd22 2024-10-03T00:00:00 Translator: Support EXT_texture_query_lod No backend support yet. Bug: angleproject:368275901 Change-Id: I10bbc03feca485908315633cbc0f955e82994657 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5920240 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 68de0042 2024-10-08T05:41:37 Vulkan: Support glCopyTexImage2D from MSAA default framebuffer Add support for glCopyTexImage2D when the source is an MSAA default framebuffer by enhancing UtilsVk::copyImage(...) to support multisampled source images. Bug: angleproject:372059358 Tests: MultisampleTestES3.CopyTexImage2DFromMsaaDefaultFbo* Change-Id: I9b5d39f6f75ca8056f8be18b1e68eb0161c99903 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5914629 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Cody Northrop 9e9cbd97 2024-10-10T14:49:00 Tests: Add Antistress Relaxation Toys trace Test: angle_trace_tests --gtest_filter="*antistress*" Bug: b/372644017 Change-Id: Ic9bff87955e25fb6d6a6d787ae012740f4158a7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5924477 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop e6130b90 2024-10-09T13:14:10 Tests: Add Car Race 3D trace Test: angle_trace_tests --gtest_filter="*car_race_3d*" Bug: b/372282084 Change-Id: Icad78909e68eec6790844c75c6103219ba15299a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5922075 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi ae5c3b96 2024-10-08T17:02:21 Boilerplate for GL_ARM_shader_framebuffer_fetch_depth_stencil Bug: angleproject:352364582 Change-Id: I94c670db5546564a6f60bb513a6d7f3f5bd5778c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916771 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 3e8d09a1 2024-10-08T17:01:02 Vulkan: Enable FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM ANGLE correctly handles MRT with gl_LastFragColorARM, this property should have been set to true. Bug: b/269233744 Change-Id: Iaa554df57292fcc5c12281e2e098b6451f63d5e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916770 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski c9606f00 2024-10-07T10:15:14 Fix extensions moved to core in GLES 3.2 The GL_EXT_texture_cube_map_array, GL_EXT_texture_buffer, and GL_OES_texture_storage_multisample_2d_array extensions were moved into core in ES3.2, but validation still required enabling extensions. Added 3.2 as a sufficiency. Test: angle_end2end_tests --gtest_filter=*CompressedTexImageCubeMapArray* Bug: b/371940347 Change-Id: Ie73a76087b6b52775d44ae79efd7f48e9fc90eb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912120 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 30ae44bf 2024-10-09T14:17:03 Tests: Skip going_balls on Windows Intel Bug: b/372513853 Change-Id: Iec11e1acf3a36f7261cf46adcdfedd826ac88050 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5922076 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 98b5cf46 2024-10-08T19:50:18 Tests: Add Piano Fire trace Test: angle_trace_tests --gtest_filter="*piano_fire*" Bug: b/372291936 Change-Id: Ia3ad52781e251c01246fb01fd800112b0d0f82d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918738 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 2bb5b443 2024-10-08T19:39:30 Tests: Add Billiards City trace Test: angle_trace_tests --gtest_filter="*billiards_city* Bug: b/372288799 Change-Id: I2e23d648d8fe27807ccbab26c28ad509349d2a01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5917649 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Solti f0a66ba2 2024-10-09T00:26:15 remove angle_gl_driver_all_angle when resetting Test: presubmit Bug: b/367348883 Change-Id: Ief115403cd2a908873750c97f416255e61410893 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5918343 Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Solti Ho <solti@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 4984fe12 2024-10-08T14:37:15 Add a test for framebuffer fetch and multisampling To ensure that the fragment shader is implicitly run per-sample, such that the read values are per-sample. Bug: angleproject:42264719 Change-Id: I66968ea2dd92106f222ad6a43ffef0e75ad36528 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5917026 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov d0e2141a 2024-09-30T16:55:59 Tests: GLES1 offscreen replay uses GL_OES_framebuffer_object ANGLE allows to mix GLES1 with non-GLES1 calls but the native driver crashes on e.g. glGenRenderbuffers. Use GL_OES_framebuffer_object so that we can render ANGLE and native the same way (glGenRenderbuffersOES etc) There is no glBlitFramebuffer for GLES1 though, so instead of that render a single frame to the default framebuffer. Also resize the grid from 1/3 screen to fullscreen for more useful screenshots, and remove window /= 4 resize to simplify. Bug: b/370508393 Change-Id: I9c8ac46937aa09f1be186a07548c1ec7e5b15579 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5899376 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 878e1c92 2024-10-07T16:34:54 Vulkan: Fix line-loop draw arrays after elements Currently, when drawing line-loop arrays in Vulkan, an index buffer is created to assist in drawing (since Vulkan does not natively include a line-loop draw mode). However, when LL array draw calls are mixed with non-LL element draw calls, it can lead to some rendering issues due to the fact that the proper index buffer is not obtained. * In VertexArrayVk::handleLineLoop(), if the cached indices are the same as the last draw, the same index buffer is obtained from the LineLoopHelper object. * (Using the newly added getCurrentIndexBuffer()) * Added unit test in which a triangle element draw is places between two LL array draws. Before the fix, the second LL draw would result in an incorrect line draw. Bug: chromium:40911000 Change-Id: Ibba9a0cb2b77a2b6ae2c1e9230afe3d16b70cb63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908694 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov dd66a284 2024-10-04T13:10:14 Perf tests: custom throttling excludes VIRTUAL-SKIN*-MODEL-* These seems to be using different units and get stuck in throttling. Also ignore VIRTUAL-SKIN*-CHARGE-* which I think was the intent but the check ended up in the wrong place. Bug: b/371573999 Change-Id: I2a9e6fbbb41bebfc5d9d85ee187f4f0918dd5e61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905236 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 0b78963d 2024-06-18T12:38:38 Perf tests: add thermalservice custom temp throttling E.g. --custom-throttling-thermalservice-temp=36 IThermal interface isn't available on all devices. thermalservice is another way to get similar data, but with its own limitations (for example, on Pixel we don't see CPU ODPM temps there while we do get them with IThermal). Unlike --custom-throttling-temp that we use on Pixel, this flag does not attempt to disable vendor throttling (not sure there is even a way to do that outside of Pixel). Vendor throttling can affect perf results, higher custom temps increase odds of that happening mid-way during a trial. Bug: b/347956784 Change-Id: I1166e07e4a5c88417eb379d5cb6a7440b169d073 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639336 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi aec90a8d 2024-10-07T10:56:24 Fix ignoring blit bits when attachments are missing GLES requires that the bits provided to glBlitFramebuffer are silently ignored if either the read or draw framebuffer is missing the corresponding attachment. In WebGL, this is forbidden. ANGLE was forbidding this because of WebGL, but a recent CTS test revealed that we shouldn't be doing that when !WebGL. Bug: angleproject:370917919 Change-Id: I202fbf665d8a102f0aea72709b80dfdabeb71a2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912614 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 166b72c9 2024-09-30T19:07:26 GL_ANGLE_blob_cache implementation. Bug: chromium:370538323 Change-Id: Ic51a951e78b48b315e36f518bcc39ff2d54660a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5900761 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 770dc68f 2024-10-04T13:05:24 Tests: Add Thief Puzzle trace Test: angle_trace_tests --gtest_filter="*thief_puzzle*" Bug: b/371518149 Change-Id: I593964bdf4a39edf2445a54a400f5faddd4fcaff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5909872 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 37c69bd6 2024-10-07T11:00:14 Tests: gold tests assert that filter matches a test As described on the bug, test retries result in an unexpected value passed to --isolated-script-test-filter, which doesn't match any traces. Assert that there is a match as a (permanent) workaround. Bug: chromium:371977204 Change-Id: I415507ea999005a9ac04489582cf77b7d3e29e2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5912615 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev cd10ad46 2024-09-30T00:00:00 Metal: Rework allowSamplerCompareGradient feature * AMD drivers may fail when a sample_compare function is used with explicit derivatives. To avoid such failures, the effective level is computed from the texture size, passed derivatives, and texture coordinates, if needed. The level value is then used for sample_compare instead of the explicit derivatives. * Apple2 GPUs do not support setting texture sampler compare state via Metal API. As a result, all sample_compare functions including those without LOD options do not work on Apple2 GPUs. This feature was attempting to incorrectly emulate a subset of sample_compare functions with a hard-coded compare state. There are no plans to support shadow samplers on Apple2 GPUs, as it would require non-trivial emulation, so this feature is no longer relevant for that platform. * Metal on macOS 10.15 only supports constant zero as the level parameter for sample_compare functions. Ignoring the passed derivatives and using zero LOD on old OS versions is a better fallback than dropping the derivatives altogether because many applications use the derivatives to set the level to zero anyway. Bug: angleproject:365066518 Bug: angleproject:368059227 Change-Id: I4028421b785ae49328b72658e0a9783275461779 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5903970 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya b3d85cce 2024-09-30T14:28:35 Vulkan: Consolidate write colorspace override states ColorspaceState struct is now used to cache write colorspace related states to determine the colorspace of Vulkan draw image views. ImageViewHelper methods are called during initialization and when colorspace related states are toggled dynamically which in turn process these states and determine the final write colorspace. We can now fully support rendering to EGLImages, with colorspace overrides, via texture or renderbuffer EGLImage targets Bug: angleproject:40644776 Tests: ImageTest*Colorspace*Vulkan MultithreadingTestES3.SharedSrgbTextureMultipleContexts*Vulkan ReadPixelsPBOTest.SrgbUnorm*Vulkan Change-Id: I2be2cd3b5b2b4ac8ecb803c34cde2b846cbd1cbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5901256 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuly Novikov 95379bb4 2024-10-07T14:14:16 Suppress flaky end2end test on Linux NVIDIA Vulkan SixteenBppTextureTestES3.RGB5A1UploadRGBA8 Bug: angleproject:362486580 Change-Id: I2e2f36cce2e98e92b6b84d816cf09dd778a5e21d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5913434 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Mohan Maiya b38cc7fa 2024-09-30T12:43:09 Vulkan: Consolidate read colorspace override states ColorspaceState struct is now used to cache read colorspace related states to determine the colorspace of Vulkan read image views. ImageViewHelper methods are called during initialization and when colorspace related states are toggled dynamically which in turn process these states and determine the final read colorspace. Bug: angleproject:40644776 Tests: ImageTest*Colorspace*Vulkan SRGBTextureTest.SRGB*TextureParameter*Vulkan SRGBTextureTestES3.SRGBDecodeTexelFetch*Vulkan Change-Id: I16b3666cd80865936b826dc0738fc9210dabeda9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5901255 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya 605c2f85 2024-09-27T12:00:58 Vulkan: Bugfix in FramebufferVk::blit(...) If any color attachment of GL_DRAW_FRAMEBUFFER is already in use in the currently started renderpass, don't reuse the renderpass for blit. Bug: angleproject:40644776 Tests: Texture2DTestES3.UnitTest_DMSAA_dst_read* Change-Id: Ib4266fc65d0ac7151f362f263e9e706adb1231ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895158 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop f1458429 2024-10-04T09:50:38 Tests: Add Going Balls trace Test: angle_trace_tests --gtest_filter="*going_balls*" Bug: b/371526637 Change-Id: I4fad1ef0e7ec450b22f86767398d3283e2c89427 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908703 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cody Northrop 3f132f0c 2024-10-03T19:36:20 Tests: Add Woodoku trace Test: angle_trace_tests --gtest_filter="*woodoku*" Bug: b/371501416 Change-Id: I766aac5f0409ab65264955685ac2267c2de457eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908693 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Yuly Novikov c861f0d6 2024-10-04T14:18:52 Skip KHR-GLES3.framebuffer_blit.scissor_blit on S22 Started failing after VK-GL-CTS roll. https://chromium-review.googlesource.com/c/angle/angle/+/5903935 https://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-s22-test/1316/overview Bug: b/267953710 Change-Id: I63e09c9c1d73a230cf2c12fc079793390d00b095 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905074 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi b16d105f 2024-10-03T10:25:32 Remove Desktop GL front-end support For Desktop GL applications, please use Zink! Bug: angleproject:370937467 Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428 Reviewed-by: Geoff Lang <geofflang@chromium.org>