src/tests/deqp_support


Log

Author Commit Date CI Message
Cody Northrop fb32aef5 2023-05-21T20:49:06 Tests: Add Galaxy S23 deqp expectations Expectations for the following tests: angle_deqp_gles2_tests angle_deqp_gles3_tests angle_deqp_gles31_tests angle_deqp_khr_gles2_tests angle_deqp_khr_gles3_tests angle_deqp_khr_gles31_tests angle_deqp_khr_gles32_tests Bug: b/281128706 Bug: angleproject:8157 Change-Id: If69361db7b4c6b739a84d158320ea86eda2d14f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4559448 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Brandon Schade 80e60bbc 2023-05-09T12:46:18 Validate non-precision qualifiers in GLSL shaders Add validation to reject non-precision qualifiers on struct members in GLSL shaders, as per the GLSL ES 3.2 specification, section 4.1.8: Structures Tests: KHR-GLES3*.shaders.negative.non_precision_qualifiers_in_struct_members Bug: angleproject:8045 Change-Id: I863ae631b09ff773a826d542f387072491489699 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4534656 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Yuxin Hu c1fc512b 2023-05-16T17:14:23 Manual roll VK-GL-CTS from e3b9db9ad121 to 876d164bd88a (32 revisions) Manual roll requested by yuxinhu@google.com * Skipped the following tests: dEQP-EGL.functional.fence_sync.valid.egl_fence_persistent_buffer KHR-GLES31.core.texture_buffer.texture_buffer_errors https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/e3b9db9ad121..876d164bd88a 2023-05-16 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-05-16 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-05-15 piotr.byszewski@mobica.com Fix vkExtensionFunctions.inl 2023-05-15 javed@igalia.com Add coverage for specific synchronization2 access flags 2023-05-15 cturner@igalia.com Add VPS handling for h265 tests 2023-05-15 ziga@lunarg.com Fix api version check in entry_points test 2023-05-15 matt.coster@imgtec.com VK_FORMAT_FEATURE_TRANSFER_{SRC,DST}_BIT are implied on Vulkan 1.0 without VK_KHR_maintenance1 2023-05-15 ziga@lunarg.com Set missing dynamic states in null_color_blend_att_ptr tests 2023-05-15 scerveau@igalia.com vulkan-video: update ESExtractor to v0.3.3 2023-05-15 cturner@igalia.com Add extra checks for FENV_ACCESS support on 32-bit ARM 2023-05-15 rgarcia@igalia.com Test large values when converting from float to 64-bit ints 2023-05-15 ziga@lunarg.com Enable graphicsPipelineLibrary feature when libraries are used 2023-05-15 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-05-15 alexander.galazin@imgtec.com Notice of withdrawal of Vulkan CTS 1.3.2.x 2023-05-08 rgarcia@igalia.com Test multi-value sample mask with dynamic rasterization samples 2023-05-08 rgarcia@igalia.com Test GPL with null VkPipelineRenderingCreateInfo contents 2023-05-08 rgarcia@igalia.com Test EDS3 null pipeline state pointers 2023-05-05 ziga@lunarg.com Add tests for pipeline robustness with cache 2023-05-05 debarshid@google.com Implement Sync Tests between CPU and GPU 2023-05-05 chrisglover@google.com Add tests for EXT_gl_colorspace_bt2020 2023-05-05 cturner@igalia.com Fix VUID-VkVideoSessionCreateInfoKHR-maxActiveReferencePictures-04849 2023-05-05 cturner@igalia.com Fix VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07163 validation error 2023-05-05 cturner@igalia.com Fix memory corruption during validation for decode.h264_interleaving 2023-05-05 marcin.zajac@mobica.com fetch_sources.py for cygwin and mingw 2023-05-05 gleese@broadcom.com Fix VK/VK-SC generated file inclusion 2023-05-05 gleese@broadcom.com Remove unused VKUTIL_LIBS 2023-05-05 rgarcia@igalia.com Test read-only depth/stencil attachment with VRS 2023-05-05 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5 into vk-gl-cts/main 2023-05-04 rgarcia@igalia.com Test some EDS3 line rasterization parameters with mesh shaders 2023-05-04 rgarcia@igalia.com Test dynamic blend equation with dual source blending 2023-05-03 piotr.byszewski@mobica.com Update vulkan-docs to current version 2023-05-03 cturner@igalia.com Update removeTags in fetch_sources.py for glslang 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,yuxinhu@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: angleproject:8166 Bug: angleproject:8167 Bug: angleproject:8169 Change-Id: I0fb573b382e63bf4820a083759e57647f6159763 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4544088 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu 6deca89e 2023-03-22T22:33:40 Add Spirv Instruction to explicitly cast mediump float to 16 bit If the GLSL shader code expects the comparison between two mediump float values returning true, but the SpirV compiler treats one of them as 32-bit, and treats the other one as 16-bit, the comparison would return false instead. The SpirV compiler may not automatically cast the mediump float values to 16 bits, because it may utilize the RelaxedPrecision decoration to keep a mediump float as 32-bit, so that the compiler can avoid the type cast from 32-bit highp to 16-bit mediump. This change adds an additional OpQuantizeToF16 SpirV instruction to explicitly cast mediump float scalar or mediump float vector to 16 bit, if they are assigned with a highp float value. This ensures that if the GLSL shader code ever compares two meiump float values, the SpirV shader compiler is not accidentally comparing a 16 bit with a 32 bit float value. This fixe the deqp test failure on Pixel 6 and Pixel 7: dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_vertex. Bug: b/274859104 Bug: b/274408172 Change-Id: Ifd996cea14c0f77f45ae90f38c8e53cf5035139f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4400404 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 34a06e25 2023-03-15T18:46:55 Start MacBook Pro AMD 2019 experiment on ANGLE bots Suppress failing tests Bug: chromium:1382149, angleproject:8091 Change-Id: I817d3db8badc35a12ecc9650750ca9190c617f6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4341695 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov bacc066b 2023-03-20T17:01:03 Unskip dEQP-EGL tests dEQP-EGL.functional.image.api.create_image_gles2_android_native_* on Mac Bug: chromium:1347817 Change-Id: Iea7a2a05ec32eec8f86f9d0c02fe9e8a43d1922b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4352891 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu 6ea6b360 2023-03-15T13:49:02 Fix allowed_keywords dEQP test failures Bug: b/272756897 Bug: angleproject:7592 Change-Id: I12f498f4ef0a1fa6da7d45345a4cb9e208bd9f03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4343518 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev b26b01a2 2023-03-09T00:00:00 Implement EXT_render_snorm Bug: angleproject:8048 Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 815a4aae 2023-03-01T00:00:00 Fix stencil format exposure * Removed invalid STENCIL format table entry * Removed incorrect OpenGL ES 2.0 validation * Removed obsolete end2end test suppressions * Hid GL_OES_texture_stencil8 from ES 2.0 contexts * Marked unsized STENCIL_INDEX as never texturable * Marked unsized STENCIL_INDEX as never renderable Bug: angleproject:3231 Fixed: angleproject:5136 Change-Id: I3f2cb8240344db410773b6a5bde460a43eb32a2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307120 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 18a1022e 2023-03-01T13:55:41 Manual roll VK-GL-CTS from c0a0038a1bed to 04e5d38379bd (12 revisions) Manual roll requested by abdolrashidi@google.com * Skipped the following test from KHR-GLES3* * shaders.negative.non_precision_qualifiers_in_struct_members https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c0a0038a1bed..04e5d38379bd 2023-02-24 anna.lesniewska@intel.com Add depth tests running on local heap with host visible memtype 2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main 2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 into vk-gl-cts/main 2023-02-24 rgarcia@igalia.com Add GLES_ALLOW_DIRECT_LINK CMake option 2023-02-24 piotr.byszewski@mobica.com Test textureSize for oob lod 2023-02-24 syoussefi@google.com Tests for surface/swapchain maintenance1 2023-02-24 michal.jakubek@mobica.com Add coverage of vkGetImageMemoryRequirements2 for multiplanar formats 2023-02-24 Andrew.Fobel@amd.com Fix BufferView access tests for scaled types 2023-02-24 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5 into vk-gl-cts/main 2023-02-22 piotr.byszewski@mobica.com Merge vk-gl-cts/dev/VK_EXT_pipeline_library_group_handles into vk-gl-cts/main 2023-02-14 ziga@lunarg.com Remove invalid new linked pipeline test with null layout 2023-02-13 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3 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 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://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: angleproject:8045 Tbr: abdolrashidi@google.com Change-Id: Ie7e145113c58ede9ba718499b54b0cb32b36f268 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4301430 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexey Knyazev dbd5d6df 2023-02-17T00:00:00 Vulkan: Fix border color adjustment for emulated formats Emulated opaque ETC compressed formats are decoded to RGBA8 so the border color must have its alpha as one. Generalized AdjustBorderColor to enforce opaque alpha for opaque formats and to support both ways, in which ANGLE could emulate LUMA formats. Moved AdjustBorderColor to renderer_utils so it could be used with other backends. Bug: angleproject:5978 Change-Id: I9ec44444fd373b1ca6116ebc4447063a014025ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4265514 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9cc2a0b8 2023-01-30T00:00:00 Remove EXT_polygon_offset_clamp suppressions Bug: angleproject:7957 Change-Id: I4bd9ff8433964a5d0b997f50cb2ecbe4a6eaa9c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4205887 Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev ef0fe638 2023-01-16T00:00:00 Implement EXT_polygon_offset_clamp * Added polygonOffsetClamp to the RasterizerState * Adjusted State::setPolygonOffsetParams * Added PolygonOffsetClampTest end2end tests * Added StateChangeTestES3.PolygonOffsetClamp test * Suppressed the affected dEQP test as it has a bug Capture * Updated serialized rasterizer state * Updated CaptureMidExecutionSetup OpenGL * Rely on the EXT extension defined both for desktop and ES contexts * On desktops, might as well use the ARB extension or GL 4.6 once ANGLE supports them D3D11 * Requires FL10_0 or higher * Maps to D3D11_RASTERIZER_DESC.DepthBiasClamp * Drive-by cleanup of extensions init code Vulkan * Requires depthBiasClamp physical device feature * Maps to the depthBiasClamp parameter of the vkCmdSetDepthBias command Metal * Maps to the clamp parameter of the setDepthBias command Bug: angleproject:7957 Change-Id: If6b28df4084f0a81db29f75fb434e75d394c8730 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4169945 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuxin Hu c9094ca6 2023-01-25T11:46:44 Skip flaky tests dEQP-GLES31.functional.image_load_store.buffer* Skip these flaky tests on OpenGL backends on Windows and Linux: dEQP-GLES31.functional.image_load_store.buffer.atomic. comp_swap_r32i_return_value; dEQP-GLES31.functional.image_load_store.buffer.atomic. comp_swap_r32ui_return_value Bug: b/266710445 Change-Id: I78684e661ec789ff116658c06c8c341b4db8aa9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194034 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 65e3ec8e 2022-12-13T14:01:45 Revert "Re-enable dEQP-EGL.functional.resize.surface_size on Linux." This reverts commit e4b55b85bc8c0680c58daf2d312f0174db14f755. Reason for revert: Still flaky https://ci.chromium.org/ui/p/angle/builders/try/linux-test/10487/overview Original change's description: > Re-enable dEQP-EGL.functional.resize.surface_size on Linux. > > These were flaky, let's see if recent X11 related changes fixed this. > > Bug: angleproject:5753 > Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404 > Auto-Submit: Roman Lavrov <romanl@google.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: angleproject:5753 Change-Id: Ia3042f65754f1436eca6d8ce014cc73245c4c7e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4100406 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov e4b55b85 2022-12-12T10:22:09 Re-enable dEQP-EGL.functional.resize.surface_size on Linux. These were flaky, let's see if recent X11 related changes fixed this. Bug: angleproject:5753 Change-Id: I9f112f8d01cb838bc588b818a0a7d0a4ec5fd087 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097404 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Amirali Abdolrashidi dad69cc7 2022-12-06T12:00:39 Suppress rgb_to_hsl_vertex test on Pixel 6 Bug: angleproject:7867 Change-Id: I2678c0db19fafb780245f818f365e88c7736c5ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083524 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Nicolas Capens c991eb22 2022-12-01T14:05:07 Move the anglebase folder up a level This code originates from Chromium's base/ directory so it doesn't have to be under a third-party folder. Bug: b/260093525 Change-Id: I0bf6950095c685f36c5c237093980a64cf6e74f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068339 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Yuxin Hu d5ce0b80 2022-11-23T12:16:46 Skip crashed test on Pixel6 due to a bug in precision matching fixer We recently need to add back the code that does spriv precision match fixer to help IMG fix a triangle clipping issue. However, the code added back is causing Pixel 6 to crash on this test: dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules.internal_different_precision We are skipping this test for now until we add a feature to enable the code path on IMG only. Bug: angleproject:7488 Change-Id: I0fb2738d2faabe2ca78077e0383af3d100c75b03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053100 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
angle-autoroll 356b2a59 2022-11-18T18:50:03 Roll VK-GL-CTS from c4fe10a0c86d to 2db7b0a1c310 (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c4fe10a0c86d..2db7b0a1c310 2022-11-18 tapani.palli@intel.com Fix for the string query tests on desktop GL 2022-11-18 aitor@lunarg.com Add tests for out-param aliasing against other variables 2022-11-18 cturner@igalia.com Fix a typo setupVertexInputStete -> setupVertexInputState 2022-11-18 rgarcia@igalia.com Improve failure error messages in format_feature_flags2 tests 2022-11-18 amber@igalia.com Add tests for linearly tiled images 2022-11-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main 2022-11-16 ziga@lunarg.com Merge vk-gl-cts/dev/VK_EXT_pipeline_protected_access 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 jonahr@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: jonahr@google.com Change-Id: Ia91e36411440ba5fe572d0971b54ae6857bbeb9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4037817 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Yuxin Hu 1c197e06 2022-10-24T16:53:01 Remove dEQP suppression for tests that already passed Bug: b/224537784 Bug: angleproject:6898 Bug: angleproject:6910 Bug: angleproject:6918 Change-Id: I25f1d0d6fb3147d11cdf352290a683beed5082f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976789 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 0fefbe83 2022-09-14T15:20:00 Vulkan: Do not cache the FramebufferHelper with no attachment If two FBOs don't have any attachments, and their GL_FRAMEBUFFER_DEFAULT_WIDTH and GL_FRAMEBUFFER_DEFAULT_HEIGHT are different, there is no difference in their cache key (vk::FramebufferDesc). Therefore the Vulkan backend is not able to distinguish between the two FBOs. This can create issues when we 1. create first FBO with a smaller size, renders to it 2. create second FBO with a bigger size, renders to it The second renderpass will use the FBO created in the first renderpass, because it managed to retrieve the first FBO from the cache with the same cachekey. This triggers the vulkan validation error: VUID-VkRenderPassBeginInfo-pNext-02853, saying the render area exceeds the framebuffer size. This CL fixed it by not adding the FramebufferHelper to the cache, if it doesn't have any attachment. These framebufferHelpers are cheap, without cache there should not be much performance drop. Bug: angleproject:3579 Bug: angleproject:7351 Bug: angleproject:7666 Bug: b/246334302 Change-Id: Iddecafddb042bd16401f983f9ee1a021b845d8bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891543 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi d19d9bfe 2022-09-19T13:06:40 Roll VK-GL-CTS from 6dee9965e173 to 7bbdc916a414 (16 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6dee9965e173..7bbdc916a414 2022-09-16 gleese@broadcom.com Tests for VK_EXT_depth_clamp_zero_one 2022-09-16 gleese@broadcom.com Update to the latest vulkan-docs version 2022-09-16 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/main" into main 2022-09-16 ziga@lunarg.com Create VkShaderModule on the correct device 2022-09-16 gary.sweet@broadcom.com Fix dEQP-VK.synchronization.global_priority_transition.* 2022-09-16 zzoon@igalia.com Fix to ensure that a particular image with that format can be sampled via vkGetPhysicalDeviceImageFormatProperties. 2022-09-16 piotr.byszewski@mobica.com Interact FDM with imageless FB and secondary CB 2022-09-16 piotr.byszewski@mobica.com Add test for pervertex correctness 2022-09-16 marcin.zajac@mobica.com pipelineStageCreationFeedbackCount = 0 case 2022-09-16 jarred.davies@imgtec.com Add tests for VK_EXT_pipeline_robustness 2022-09-16 ziga@lunarg.com Add tests with dynamic states that discard all fragments 2022-09-16 chip@holochip.com Use Mach semaphores on Darwin 2022-09-16 marcin.zajac@mobica.com robustness1_vertex_access for VKSC 2022-09-16 piotr.byszewski@mobica.com Fix vkDeviceFeatures2.inl 2022-09-16 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-09-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 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 abdolrashidi@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: angleproject:7673 Change-Id: Ic70f0c9da85a493c50e23662a37abb7b1d6c529c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904783 Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Eddie Hatfield 3960e63b 2022-08-09T14:02:59 Infra: Enable angle_deqp_gl46_tests on SwiftShader This change disables the WGL frontend by default on Windows when building ANGLE for desktop GL. This is because the WGL frontend is not yet fully implemented and it causes some of the trace tests to fail. The WGL frontend should be enabled by default on windows when more of its functionality gets implemented. Test: angle_deqp_gl46_tests --use-angle=swiftshader Bug: angleproject:7566 Bug: angleproject:7628 Change-Id: I69c695eb56d3858f715eeb86d28cc805e25c60eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuxin Hu f10625d3 2022-08-11T14:32:45 Enable Robustness Extension on ARM These dEQP tests failed due to Robustness was disabled: dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#readn_pixels dEQP-GLES31.functional.debug.negative_coverage.log.buffer#readn_pixels dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#readn_pixels dEQP-GLES31.functional.debug.error_filters#case_12 dEQP-GLES31.functional.debug.error_groups#case_12 Re-enable the Robustness Extension on ARM to check if mali driver supports GL_EXT_robustness extension now. If it does we can enable the robustness feature in ANGLE so that the above dEQP tests can pass. Bug: angleproject:7351 Bug: angleproject:4823 Bug: angleproject:2330 Change-Id: Ifce20e410607f2d4b6b3b55235081fef690c983c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828441 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll a8ffbef8 2022-08-19T21:02:14 Roll VK-GL-CTS from 5a93cd60f33b to 435ebaff9214 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/5a93cd60f33b..435ebaff9214 2022-08-19 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-08-18 piotr.byszewski@mobica.com Add coverage for MaxAtomicCounterBufferSize 2022-08-18 piotr.byszewski@mobica.com Check that image*Shadow are not reserved keywords 2022-08-18 piotr.byszewski@mobica.com Fix vkGetPhysicalDeviceProperties2 query 2022-08-18 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.3 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-bots+autoroll-info@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: angleproject:7592 Change-Id: I87bd89dd6ad63e2fa28ae87cdd4a91555d56e203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3842857 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu 2965f81b 2022-08-16T15:26:22 Remove suppression of previously crashed deqp test dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules#internal_different_precision was fixed in a recent check-in at https://crrev.com/c/3780874. Remove the suppression in the test expectation file. Bug: angleproject:6908 Change-Id: I41025c2555e0c21ff8faaa888842201d26499205 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828139 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 9f0cec14 2022-08-03T15:59:45 dEQP: Fix X11 display config name. The name is "x11", not "window", which is a surface type. Bug: angleproject:7396 Change-Id: Ic2ad1f215729bd28d29e921c1712121b9b86e4af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808294 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org>
Eddie Hatfield c54ed790 2022-07-21T10:38:47 Get desktop GL conformance tests to build The target for these tests is angle_deqp_gl_tests. Bug: angleproject:7533 Change-Id: I290822671d99da020f9a6a1f02bee43987644bf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3766435 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f62b4b94 2022-08-02T15:19:59 Skip flaky image load/store tests on Win/D3D11. Bug: angleproject:7345 Change-Id: I64e752b8959c0fb726ee8fd8ed733bdb469ca511 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804746 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov fb97cfcd 2022-07-27T11:49:41 Roll chromium_revision 1201dfbc62..85c57e6023 (1027387:1028671) Skip failing dEQP-EGL.functional.image.api.create_image_gles2_android_native_* tests Change log: https://chromium.googlesource.com/chromium/src/+log/1201dfbc62..85c57e6023 Full diff: https://chromium.googlesource.com/chromium/src/+/1201dfbc62..85c57e6023 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/f14f6d206b..faf85adb8b5817fd75744e98c450f2b9e46ed7a2 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fe57e98eeb..af18ab7c6f * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/eb79671bfb..6c8f712bc4 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/b954e3e656..039323b945 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/955e2ff5fb..2a908eebb7 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1f497ac0b0..844e20e207 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/13bb7f697c..fabdc7fefb * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/8f37aa7698..d76d39e8c8 * third_party/android_sdk/public: tRoD45SCi7UleQqSV7MrMQO1_e5P8ysphkCcj6z_cCQC..-VRKr36Uw8L_iFqqo9nevIBgNMggND5iWxjidyjnCgsC * third_party/android_sdk/public: gMHhUuoQRKfxr-MBn3fNNXZtkAVXtOwMwT7kfx8jkIgC..9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC * third_party/android_sdk/public: g7n_-r6yJd_SGRklujGB1wEt8iyr77FZTUJVS9w6O34C..RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C * third_party/android_sdk/public: lL3IGexKjYlwjO_1Ga-xwxgwbE_w-lmi2Zi1uOlWUIAC..eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC * third_party/android_system_sdk: oSfDIvHlCa6W0gS79Q5OOfB9E4eBg3uAvi3BEDN21U0C..RGY8Vyf8jjszRIJRFxZj7beXSUEHTQM90MtYejUvdMgC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..84a7988038 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/debf6402b3..2cd48234f1 * third_party/fuchsia-sdk/sdk: version:9.20220720.2.1..version:9.20220726.2.1 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3d8d88e8bb..184bc29dd8 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/15fc47eb8b..8c41d19417 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8e7aadf254..8f4235f7ff DEPS diff: https://chromium.googlesource.com/chromium/src/+/1201dfbc62..85c57e6023/DEPS Clang version changed llvmorg-15-init-15652-g89a99ec9:llvmorg-15-init-17529-ga210f404 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/3d8d88e8bb600789ba3e798f38ff314521aac524..184bc29dd86c3994a02b4f3feca125ffe785319c/scripts/update.py Bug: chromium:1347817 Change-Id: I6b80fc411a6986d116e121921fcb5223c1964184 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3789322 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Stephen White 3f59c285 2022-07-12T17:29:36 D3D11: implement image load/store format reinterpretation. Reinterpretation requires all UAV textures to be in a TYPELESS format. Implement an ensureUnorderedAccess() that converts the texture's storage to one with the D3D11_BIND_UNORDERED_ACCESS flag, which, prior to this change, was set unconditionally for all textures in an >= ES 3.1 context. If this flag is set at D3D texture creation time, use the appropriate TYPELESS format. Implementation uses a BindFlags struct, which subsumes the existing renderTarget for clarity. Factor out the relevant bits of ensureRenderTarget() into an ensureBindFlags() helper function, and make ensureRenderTarget() and ensureUnorderedAccess() wrappers around it. Add the corresponding typeless formats to the texture format table. Bug: angleproject:7501, angleproject:7520 Change-Id: Id21b9db3229aceca121da6ba6507704417034ec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780588 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill 83dfd839 2022-06-07T11:57:07 dEQP: Allow running against system GL. Bug: angleproject:7396 Change-Id: I6d6231ebfdea0f1df483c5764b086b14f8384d3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3692266 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 673a41ae 2022-07-25T12:41:40 dEQP: Isolate headers in tcuANGLEPlatform.h. Refactoring change only. Will simplify future dEQP changes. Bug: angleproject:7396 Change-Id: I034bf5c421902c53f279e01b0727490909da3990 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785286 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu b23ea680 2022-07-22T12:06:42 Vulkan: Re-enable multisample framebuffer fetch Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: angleproject:7512 Bug: b/234173199 Change-Id: Ib70732f8c075de777e534f950a7e421e75969f59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3781613 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu d0fe12db 2022-07-20T10:16:38 Vulkan: Disable Multisample Framebuffer Fetch Disable the multisample framebuffer fetch temporarily to unblock the angle to chromium roller. Will re-enable after https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/1240846/overview is resolved. Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: angleproject:7512 Bug: b/234173199 Change-Id: I435b257dd07d973d06d5cacd779e943eed32097b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3777059 Reviewed-by: Roman Lavrov <romanl@google.com>
Lubosz Sarnecki 45e5cf01 2022-06-03T14:29:23 Vulkan: Implement ASTC emulation. Implement ASTC emulation using the astc-encoder library. Add copy_image tests to deqp_gles31_test_expectations for desktop cards. Add emulatedAstc limitation. Don't expose emulated ASTC from WebGL contexts. Introduce ANGLE_HAS_ASTCENC define to check for build availability. Only build on angle_standalone configurations. DEPS: Add astc-encoder. image_util: Decode ASTC to RGBA. TracePerfTest: Skip car_chase and genshin_impact on NVIDIA. Bug: angleproject:7415 Change-Id: Ib2f3fd3f710164a2ecd5d5edf780227031bbfb84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697999 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 2c3c45ee 2022-07-18T12:37:57 Roll VK-GL-CTS from ef9a6635208b to 692df061716d (12 revisions) Includes suppression of new render_sample_texture_array dEQP tests on Android. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/ef9a6635208b..692df061716d 2022-07-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-07-15 jan-harald.fredriksen@arm.com Avoid dependency on geometry shaders for VK_ARM_rasterization_order_attachment_access 2022-07-15 michal.jakubek@mobica.com Global Priority Queue Families Tests 2022-07-15 rgarcia@igalia.com Test resetting queries after copying results 2022-07-15 piotr.byszewski@mobica.com Remove some RT SkipTriangles tests 2022-07-15 piotr.byszewski@mobica.com Enable FSR basic tests for Vulkan SC 2022-07-15 toni.merilehti@siru.fi Add tests for array comparisons 2022-07-15 yiyfan01@arm.com Add Texture2D array test in which Texture2D array is rendered and sampled. 2022-07-15 michal.jakubek@mobica.com Fix for attachment count in EXT_color_write_enable tests. 2022-07-15 piotr.byszewski@mobica.com Fix maxImageView(MipLevels/ArrayLayers) bug in SC 2022-07-15 skirank@nvidia.com Fix vkwsi Display control tests 2022-07-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.3 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-bots+autoroll-info@google.com,romanl@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: angleproject:7506 Change-Id: I0b674a424cc109126b5a590430546942c6db3740 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3769550 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi ea138236 2022-07-12T15:51:05 Remove suppression for passing dEQP tests Numerous GLES3.2 tests are now passing. Bug: angleproject:5557 Bug: angleproject:5579 Bug: angleproject:5978 Bug: angleproject:6441 Change-Id: I6e42a3590390ff984432586c1cd642b20fcd758f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3758704 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 0d3ecf46 2022-06-24T16:37:17 Vulkan: Multisample Framebuffer Fetch Implement Multisample Framebuffer Fetch. This should fix the deqp failure dEQP.GLES31/functional_blend_equation_advanced_msaa_colorburn Bug: angleproject:7351 Bug: angleproject:3586 Bug: angleproject:6195 Bug: b/234173199 Change-Id: Idd7559dcba3d91e36d8f253f1554fb931a7a6775 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3724165 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Quyen Le 0f688d62 2022-07-04T15:49:53 Metal: Allow Surfaces to be created without depth & stencil Previously, egl::Config with depthSize=0 & stencilSize=0 wasn't added to DisplayMtl's configSets. Thus every surface would be created with at least stencilSize=8 although users requested DONT_CARE. This led to wasteful memory being used to created stencil buffers even though they were not used. Fixes: - dEQP-EGL.*.query_surface.simple.pbuffer.rgba8888_depth_stencil - dEQP-EGL.*.query_surface.simple.pbuffer.rgba8888_depth_no_stencil - dEQP-EGL.*.query_surface.simple.pbuffer.rgba8888_no_depth_stencil Bug: chromium:1329376 Change-Id: Iba13b527640a6b8ce6c4b3a63346b41730a83891 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739868 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Quyen Le <le.hoang.q@gmail.com> Reviewed-by: Gregg Tavares <gman@chromium.org>
Yuly Novikov 21a07210 2022-06-22T16:43:44 Suppress 3 pointcoord tests on Mac Intel Metal Bug: angleproject:7451 Change-Id: Id03e3a60aca38798ecaec4a74f0b0af64eecc63e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3714602 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> 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>
Shahbaz Youssefi 97a6e581 2022-05-30T16:50:26 Vulkan: Useful implementation of program binaries ANGLE already serializes the pipeline state for the sake of OES_get_program_binary. This serialization had limited usefulness however, since the Vulkan driver hasn't actually created any pipelines yet (which is a costly part of program creation). Simultaneously, ANGLE deferred Vulkan pipeline creation to draw time, which causes hitching. In this change, a handful of Vulkan pipelines are precreated at link time; those at least that are sure to create different blobs in the pipeline cache (different spec consts or SPIR-V generation). These pipelines are created in the program executable's cache. The cache is then merged into the shared renderer cache (for potential blob reuse by other programs). With this, two goals are achieved: - Most pipelines created at draw time hit the pipeline cache, avoiding costly compilation. - When the program binary is retrieved, the contents of the program executable's pipeline cache is also returned. On reload, the cache is recovered, resulting in faster startup. Bug: angleproject:5881 Change-Id: I46c5451a7d0b16dffd40e44015e094640886880b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3671977 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 45c57333 2022-06-10T22:34:25 Roll VK-GL-CTS from 8817dcf9c1ec to 50754c3c19c0 (11 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/8817dcf9c1ec..50754c3c19c0 2022-06-09 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main 2022-06-09 peter.kohaut@arm.com Fix Android build 2022-06-09 gleese@broadcom.com Shrink the framebuffer in more graphicsfuzz tests 2022-06-09 gleese@broadcom.com Remove superfluous 'resolution' from graphicsfuzz test 2022-06-09 younggwan.kim@arm.com Add KHR-GLESEXT.fragment_shading_rate tests 2022-06-09 piotr.byszewski@mobica.com Run DR draw tests with secondary command buffers 2022-06-09 jari.komppa@siru.fi Add recipe for amber-verify run mode 2022-06-09 ari.suonpaa@siru.fi Add new test cases for VK_EXT_load_store_op_none 2022-06-09 peter.kohaut@arm.com Update Vulkan headers 2022-06-09 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-06-09 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 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-bots+autoroll-info@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: angleproject:7422 Change-Id: I6b3498372fa755f6b70ad953e59bd2f2dd0bd6b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3700198 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 81585fe2 2022-06-08T14:37:38 Use consistent test names with dEQP. This removes the GTest/dEQP test name distinction. Using the "RegisterTests" method in GTest we can use the full dEQP test names. The one limitation is that "-" is reserved in GoogleTest for exclusion filters, so we need to do some extra work to sanitize our filters before we pass them to GoogleTest. Makes maintaining test expectations easier going forward. Bug: angleproject:7390 Change-Id: I23893c425ddc934c11fe539b9173ec06c58abcc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695518 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll 76e98ae1 2022-06-09T09:11:28 Roll VK-GL-CTS from acf70aaf3fdb to 8817dcf9c1ec (36 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/acf70aaf3fdb..8817dcf9c1ec 2022-06-09 piotr.byszewski@mobica.com Split pipeline.txt mustpass into multiple files 2022-06-09 vantablack@google.com Add R8_UNORM to the external AHB memory tests 2022-06-09 michal.jakubek@mobica.com More EXT_color_write_enable tests. 2022-06-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_EXT_image_compression_control into vk-gl-cts/main 2022-06-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main 2022-06-07 quic_mnetsch@quicinc.com Merge vk-gl-cts/dev/VK_KHR_ray_tracing_maintenance1 into vk-gl-cts/main 2022-06-07 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main 2022-06-03 pdaniell@nvidia.com Fix regression from CL-9387 to handle empty cache properly 2022-06-03 pdaniell@nvidia.com Fix deqp-vksc build break from CL-9046 2022-06-03 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main" into main 2022-06-02 marcin.zajac@mobica.com Thread safe releaseQueue 2022-06-02 toni.merilehti@siru.fi Fix extension check in transform feedback tests 2022-06-02 juha.heiskanen@siru.fi Fix amber-verify mismatch in builtin precision tests 2022-06-02 gleese@broadcom.com Shrink the framebuffer in 2 graphicsfuzz tests 2022-06-02 antto.makinen@siru.fi Test VkSubresourceLayout::offset is relative to the start of an image 2022-06-02 jari.komppa@siru.fi Add inter-process communcation to shader cache 2022-06-02 jbolz@nvidia.com Add command line parameter to override Vulkan library path 2022-06-02 juha.heiskanen@siru.fi Dynamic rendering with NULL shading rate image 2022-06-02 rgarcia@igalia.com Test imageSize() on 2D image views from 3D images 2022-06-02 juha.heiskanen@siru.fi Bug fix for current variableSampleLocations tests + new tests 2022-06-02 toni.merilehti@siru.fi Test single-path switch statements 2022-06-02 jmadill@google.com Remove usages of std::iterator 2022-06-02 pierre-eric.pelloux-prayer@amd.com Fix ShaderBallotFunctionRead test 2022-06-02 younggwan.kim@arm.com Add autogenerate with GL_EXT_fragment_shading_rate 2022-06-02 ayzhao@google.com Remove usages of std::iterator 2022-06-02 younggwan.kim@arm.com Update gl.xml and fix script to build properly 2022-06-02 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-06-02 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main 2022-05-20 marcin.zajac@mobica.com writeSupportedExtensions for VKSC 2022-05-20 marcin.zajac@mobica.com Missing VK_KHR_object_refresh 2022-05-17 juha.heiskanen@siru.fi Add required support check for IsHelperInvocationEXT test 2022-05-17 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-05-17 pdaniell@nvidia.com Test poolSizeCount can be zero 2022-05-17 jari.komppa@siru.fi Add tests for vkGet...SurfacePresentModes2EXT 2022-05-17 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main 2022-05-13 marcin.zajac@mobica.com Merge branch 'vulkan-sc-cts-dev' into '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-bots+autoroll-info@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: angleproject:7416 Change-Id: I289aec7e7b0991556303efa70bd665fb66e43731 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3696826 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill a65af046 2022-06-08T11:57:59 De-template out dEQP GTest bridge class. This class doesn't need to be a template, and can take the test case index parameter instead from a common macro. Refactoring only, done in the process of trying to update our dEQP test case registration to get better test names. Bug: angleproject:7390 Change-Id: Ia104a0055ddb9cbc6d311d220d8d4e486214928f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695945 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Stephen White 52e560ea 2022-06-07T11:55:56 Remove suppressions for now-passing ES 3.1 tests. Bug: angleproject:1442, angleproject:1951 Change-Id: I61f9c39711f77d48a401ad98ef4ead4c0f17fe2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3693821 Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 4dde8590 2022-06-06T23:13:53 Remove suppression for passing tests Bug: angleproject:2976 Change-Id: I5e899c4d4fcc68b52b7b131dae6011a6129ab16b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690748 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ce3c0fe9 2022-06-06T12:09:45 Vulkan: Make depth-correction uniform controlled This change makes sure SPIR-V transformations are not required for depth correction, having the number of potential pipelines. Bug: angleproject:5881 Change-Id: If3f66b34bdd1127ae588cbc822ea7cf01fa8621f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3691801 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Antonio Caggiano f6c14933 2022-01-19T17:19:48 dEQP: Support Wayland Improve ANGLE native display factory by supporting creation of a Wayland native display. Bug: angleproject:7065 Change-Id: I0882d8666b1d07ced0804b99d1998ca45f4ad73b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3525753 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 78ea8521 2022-05-19T19:04:31 Suppress Flaky Tests Suppress the flaky deqp gles3 d3d tests on NVIDIA Bug: angleproject:7345 Change-Id: I2e49af4f57ecd56c5415aa93b7a636adc939f418 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3656317 Auto-Submit: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu 93c0c90d 2022-05-17T11:00:59 Suppress the failing egl test to unblock roller Suppress this failing tsan test to unblock the VK-GL-CTS roller Bug: angleproject:7327 Change-Id: I077a7e5b1474d08b6c9bcf08187b634da911e75d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3648309 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 87058cb8 2022-05-13T18:14:46 Re-skip flaky test un-skipped by crrev.com/c/3641181 Bug: angleproject:1442, angleproject:7313 Change-Id: Iead8af6f5eec85cafcf373085ed663bb6f5f54e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645501 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Stephen White 9b15e1c2 2022-05-11T11:47:52 D3D11: clean up ES31 test expectations. Remove expectations for now-passing tests. Make some expectations more precise. Bug: angleproject:1442, angleproject:1729 Change-Id: I9843b7ef438599d121d3dd028273ae50fcf89e2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3641181 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 31321cb7 2022-05-09T16:17:25 Vulkan: Remove suppressions and workarounds for old AMD/Windows The old AMD/Windows bots are decomissioned. This change removes suppressions and workarounds that were added for that bot. Bug: angleproject:2463 Bug: angleproject:2809 Bug: angleproject:2847 Bug: angleproject:3243 Bug: angleproject:4720 Bug: angleproject:6123 Bug: angleproject:6652 Bug: angleproject:7144 Bug: angleproject:7227 Bug: chromium:1224996 Change-Id: I333ed6d76dfa2916b713ccb49127deceb5b1b551 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3634728 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 5113ae8e 2022-04-29T22:42:59 Vulkan: Explicitly enable per-sample shading if `sample` used The Vulkan spec is not explicit about the `Sample` decoration implicitly enabling per-sample shading. While this is being corrected in the spec, the ARM Vulkan driver does not have this implicit behavior. A workaround is added such that the usage of the `sample` qualifier is reported, and used to explicitly enable per-sample shading through the API. Bug: angleproject:6876 Change-Id: Idb8345aacdcfa45cb37fefcd30aa5405168d21e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615738 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Roman Lavrov 41adabc4 2022-04-29T15:04:27 Use app data dir instead of /sdcard for writing qpa file Appears to drastically reduce runtime variability. Example: Max shard runtime (28m 15s) + overhead (10s): 28m 24s (shard #8) Min shard runtime (3m 5s) + overhead (20s): 3m 24s (shard #6) --> Max shard runtime (4m 6s) + overhead (11s): 4m 17s (shard #0) Min shard runtime (3m 7s) + overhead (10s): 3m 17s (shard #6) --deqp-log-flush is enabled by default (only disabled for multi-process execution http://anglebug.com/5157) and together with --deqp-log-shader-sources which is also enabled by default results in a huge number of line-by-line flushes degradng filesystem performance. Example strace capture in a degraded state: [pid 21208] 10:55:51.194033 write(77, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.181028> [pid 21208] 10:55:51.375879 write(77, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.179196> [pid 21208] 10:55:51.555790 write(77, "\" Description=\"Vertex shader com"..., 41) = 41 <0.177602> ~180ms *per line written* !!! (28, 78, 41 characters...) Under normal conditions these are way down in the microsecond range: [pid 11412] 10:55:56.689894 write(72, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.000020> [pid 11412] 10:55:56.689957 write(72, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.000026> I think that the reason for this is some peculiarity of the /sdcard filesystem which uses fuse: % df -h /sdcard/chromium_tests_root/ /dev/fuse 50G 3.7G 46G 8% /mnt/user/0/emulated As opposed to block/dm-N of the (non-app accessible) temp directory: % df -h /data/local/tmp/ /dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles And the app data directory appears to be using the same filesystem: % df -h /data/data/com.android.angle.test/ /dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles As far as I can tell the degradation of performance does not happen on this filesystem despite the huge amount of small writes. Disabling deqp log flushes when running on bots probably makes sense too but I'd like to first confirm the impact of this CL separately. Bug: chromium:1217662 Bug: angleproject:7242 Change-Id: I507e4c330fd4e1f4ce05f9768506f905e142f835 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615081 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 3b65b803 2022-04-27T11:04:22 Vulkan: Work around Qualcomm imprecision with dithering On qualcomm, sometimes the output is ceil()ed instead of round()ed. With ditering emulation affecting values, some dEQP tests fail due to the excessive change in value when dithering bumps the value slightly over to the next quantum. In this change, a workaround is added to round() the value before outputting it. Bug: angleproject:6953 Change-Id: Iae7df5ca20055b4db3185c6153f3c0bf4ba07f68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3611064 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Guoxing Wu 13784ebe 2022-04-21T10:38:23 Vulkan: use "undefined" for layerProvokingVertex Use "undefined" for layerProvokingVertex because different platforms has different behavior on this. APP would have to set gl_Layer identically. Bug: angleproject:7185 Change-Id: Ia5c31f617c2441c1a6ac8d682c9ce98f464045e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3592274 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Stephen White 5097d10c 2022-04-20T17:15:51 D3D: unsuppress some now-passing tests. Change-Id: I59efec02edddd876e962512c2690563b6efd18d2 Bug: angleproject:1951, angleproject:1442 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3598015 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 956fb16e 2022-04-14T20:54:26 Remove Win NVIDIA dEQP suppressions Switching from Quadro P400 to GTX 1660 Bug: angleproject:2222 Change-Id: I7f12878a0ccf31fe5ca319251ab3f4bc60d66b61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3587372 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi c5271e8e 2022-04-04T23:28:35 Vulkan: Emulate GL_KHR_blend_equation_advanced Based on a change by Brandon Schade <b.schade@samsung.com> In the translator, when advanced blend is enabled, an input attachment is added. Based on the listed advanced blend equations, emulation code is added that performs those equations' functions. The blend equation itself is passed through a driver uniform. Note that the advanced blend extension only allows a single output to use advanced blend, and that should be at location 0. In the Vulkan backend, when advanced blend is used, the driver uniform to select the equation is updated and normal blending is disabled. Bug: angleproject:3586 Change-Id: Icc42e8be238d34fca149087eb9cfe616a7643a6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3575738 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 6768aff7 2022-04-07T23:25:08 Fix Geometry Shader Conformance Test Failure on Pixel6 Add code in shader linker stage to check the number of AtomicCounterBuffers against these values: GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS Bug: angleproject:6918 Change-Id: If1c1d0dc2452f5aafc72d81f4f5523608810bba9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3576629 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov 291be0b7 2022-04-12T14:31:35 Suppress multisample_interpolation dEQP failures on Pixel 6 Vulkan 16 tests started failing after upgrading phones to Android 13 DP2 Bug: angleproject:6876 Change-Id: I9b965bf6a835cda7fad82c27110cdf38b88c6cb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584386 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi aed5951e 2022-03-29T16:29:58 Reland "Vulkan: Fix texture-after-framebuffer sync issues" This is a reland of commit 535cd538f3585b44855647339f04bae1c1acf63a Original change's description: > Vulkan: Fix texture-after-framebuffer sync issues > > In TextureVk::syncState, for various reasons, the underlying image may > need to be respecified. For example because base/max level changed, > usage/create flags have changed, the format needs modification to become > renderable, generate mipmap is adding levels, etc. > > Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of > the deferred clear optimization. This means that if the texture needs > to recreate its underlying image, it needs to do so earlier than its own > syncState, and do so in FramebufferVk::syncState through the > TextureVk::getAttachmentRenderTarget function. > > Over time, TextureVk::getAttachmentRenderTarget was modified to do parts > of what TextureVk::syncState did for this matter as bugs were > discovered, and more continue to be discovered. The bug that prompted > this change is missing image recreation when usage/create flags change. > > In this change, the relevant code in TextureVk::syncState is refactored > in a helper that's called by TextureVk::getAttachmentRenderTarget. This > way, the two functions should always be in agreement, avoiding > TextureVk::syncState recreating the image after > FramebufferVk::syncState, leading to use-after-free bugs. > > Bug: angleproject:4418 > Bug: angleproject:6909 > Bug: chromium:1266094 > Bug: chromium:1296866 > Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I0110eab88eb9d8f77e204b84a6e90308e2384fd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572715 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 797e627e 2022-04-08T22:49:51 Autogenerate list of features as enum The WithX() and WithNoX() helpers are removed and replaced with enable() and disable() member functions that take the name of the feature (as a Feature::X enum constant). This has two benefits: - Adding tests that override a feature no longer requires additional helper functions to be written. - There's no mistaking the feature name. This change doesn't yet fix the main issue in anglebug.com/6435, but does fix the following helpers using an old feature name (so they were ineffective): - WithMetalForcedBufferGPUStorage - WithNoVulkanViewportFlip A follow up would remove the old way of overriding features in tests and replaces them with the new way. Bug: angleproject:6435 Change-Id: Ida02b26ec72bc40d7a8938c76a93815bb903ca05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580982 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu a11bf0ed 2022-03-31T17:28:18 Fix Max Atomic Counter Conformance Test Failure on Pixel6 ARM does not support the VkPhysicalDeviceFeature vertexPipelineStoresAndAtomics. According to vulkan specs: we should disable the usage of atomic buffers in vertex, tessellation, and geomotry shader stages. Set maxShaderAtomicCounters to zero for all these shader stages if vertexPipelineStoresAndAtomics is not supported. Create two angle_end2end_test to check atomic buffer usage in tessellation control shader and tessellation evaluation shader. Bug: angleproject:6918 Change-Id: I566562f99672d50cfb3d75def81a18a613b26ca0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563501 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Jamie Madill b33767ec 2022-04-04T15:26:29 Revert "Vulkan: Fix texture-after-framebuffer sync issues" This reverts commit 535cd538f3585b44855647339f04bae1c1acf63a. Reason for revert: May fix Win/Intel blockman_go flakiness. Bug: angleproject:7167 Original change's description: > Vulkan: Fix texture-after-framebuffer sync issues > > In TextureVk::syncState, for various reasons, the underlying image may > need to be respecified. For example because base/max level changed, > usage/create flags have changed, the format needs modification to become > renderable, generate mipmap is adding levels, etc. > > Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of > the deferred clear optimization. This means that if the texture needs > to recreate its underlying image, it needs to do so earlier than its own > syncState, and do so in FramebufferVk::syncState through the > TextureVk::getAttachmentRenderTarget function. > > Over time, TextureVk::getAttachmentRenderTarget was modified to do parts > of what TextureVk::syncState did for this matter as bugs were > discovered, and more continue to be discovered. The bug that prompted > this change is missing image recreation when usage/create flags change. > > In this change, the relevant code in TextureVk::syncState is refactored > in a helper that's called by TextureVk::getAttachmentRenderTarget. This > way, the two functions should always be in agreement, avoiding > TextureVk::syncState recreating the image after > FramebufferVk::syncState, leading to use-after-free bugs. > > Bug: angleproject:4418 > Bug: angleproject:6909 > Bug: chromium:1266094 > Bug: chromium:1296866 > Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I26b6f644442e2875aba954d6417543b1d5121376 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569801 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 535cd538 2022-03-29T16:29:58 Vulkan: Fix texture-after-framebuffer sync issues In TextureVk::syncState, for various reasons, the underlying image may need to be respecified. For example because base/max level changed, usage/create flags have changed, the format needs modification to become renderable, generate mipmap is adding levels, etc. Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of the deferred clear optimization. This means that if the texture needs to recreate its underlying image, it needs to do so earlier than its own syncState, and do so in FramebufferVk::syncState through the TextureVk::getAttachmentRenderTarget function. Over time, TextureVk::getAttachmentRenderTarget was modified to do parts of what TextureVk::syncState did for this matter as bugs were discovered, and more continue to be discovered. The bug that prompted this change is missing image recreation when usage/create flags change. In this change, the relevant code in TextureVk::syncState is refactored in a helper that's called by TextureVk::getAttachmentRenderTarget. This way, the two functions should always be in agreement, avoiding TextureVk::syncState recreating the image after FramebufferVk::syncState, leading to use-after-free bugs. Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 638557ac 2022-03-28T10:20:30 Add back another Pixel-6-specific FAIL expectation Passes on pre-release Android T drivers, but fails on the Android S drivers. Bug: b/224537784 Change-Id: Idc631d13b1666f0f0b4bf1c5bbfa9e9343af4d75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3554360 Auto-Submit: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Ian Elliott b2c6e08e 2022-03-24T11:38:04 Reland Remove unnecessary suppressions for Pixel6 dEQP This is a reland of 0455f356eda37e98cbfaff6b4be3241a0743bdcd Original change's description: > Remove unnecessary suppressions for Pixel6 dEQP tests > > Bug: b/224537784 > Change-Id: If7befe0279a06cddb79c67fdd34a62b4cb51c6e0 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551658 > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Ian Elliott <ianelliott@google.com> The previous CL was based on the pre-release Android T Pixel 6 drivers. The Chromium bots are running released Android S Pixel 6 drivers. This CL updates the expectations with the observed status, and still removes some expectations that are now unnecessary. Bug: b/224537784 Change-Id: I4f4041e015824fd1d8211d6d7d0adedbccaa3ddb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552544 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott 1d71f55f 2022-03-24T19:27:21 Remove unnecessary SKIPs for Pixel4* dEQP tests Bug: b/224537784 Change-Id: I81c6f18d72ea893341ad2aa8ca819893e7d53d26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551659 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott 45543295 2022-03-25T04:36:49 Revert "Remove unnecessary suppressions for Pixel6 dEQP tests" This reverts commit 0455f356eda37e98cbfaff6b4be3241a0743bdcd. Reason for revert: Multiple tests that pass on my Pixel 6 fail on the bot Pixel 6's Original change's description: > Remove unnecessary suppressions for Pixel6 dEQP tests > > Bug: b/224537784 > Change-Id: If7befe0279a06cddb79c67fdd34a62b4cb51c6e0 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551658 > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Ian Elliott <ianelliott@google.com> Bug: b/224537784 Change-Id: Id3430a7632651b9b7b5e980f41678aebbdfc426c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552124 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> Auto-Submit: Ian Elliott <ianelliott@google.com>
Ian Elliott 0455f356 2022-03-24T11:38:04 Remove unnecessary suppressions for Pixel6 dEQP tests Bug: b/224537784 Change-Id: If7befe0279a06cddb79c67fdd34a62b4cb51c6e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3551658 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott 6bd11e28 2022-03-22T12:38:13 Add back Pixel 6-specific dEQP FAIL suppression Bug: b/224537784 Change-Id: Iddbd1cbd1aef6349dc1a4298febe74907bd126a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3543727 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott e7f29440 2022-03-16T14:31:39 Remove dEQP FAIL expectations for passing tests Based on bot runs, a number of previously FAIL'ing dEQP tests are now passing. Need to separately test Pixel 6 and SKIP expectations. Bug: b/203826952 Change-Id: I8a2bdb44b9050d1b93e85082c5dd1e15420e6f3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3531073 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Constantine Shablya e74d0e81 2022-02-11T18:05:12 Vulkan: Implement EGL_KHR_partial_update This change provides a trivial implementation of partial update that does nothing, making apps that want this extension happy. A possible efficient Vulkan implementation would use the damage set to narrow down render area, but it appears to only be useful for only some TBDR hardware. Bug: angleproject:6960 Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com> Change-Id: Ic553ac9590c336093f1bf25a6521574622599bf6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427640 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 98bb4f32 2022-02-23T16:51:32 Vulkan: Implement advanced blend through extension This change exposes GL_KHR_blend_equation_advanced if VK_EXT_blend_operation_advanced is supported. No emulation is yet implemented. Bug: angleproject:3586 Change-Id: Ie7a442c22e028e3aa45ccef52db320e205664d49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3487951 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill ee96a461 2022-02-22T12:23:06 Vulkan: Fix missing empty buffer descriptor. This could happen for SSBOs and UBOs when the shader renders without a bound buffer, and robustness enabled. Bug: angleproject:6707 Change-Id: I993f2489aca47f07068908858c83afa78c9e0402 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3484979 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Antonio Caggiano 2a9c4b01 2022-02-10T11:33:32 dEQP: Enable CreateSurfacePlatformEXT tests Add the corresponding capability to NativeWindow and implement getPlatformExtension virtual method to return a native pointer that can be used with eglCreatePlatformWindowSurfaceEXT(). Bug: angleproject:6961 Change-Id: Ieb1a1fd8b3cae4e6f199c269f3922cbd0307aa35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3452102 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brandon Schade 06edae72 2022-01-11T11:13:20 Vulkan: Allow duplicated block name in different shader interface In OpenGL ES 3.2 Shading Language specification(4.3.9), A block name is allowed to have different definitions in different shader interfaces within the same shader. Bug: angleproject:5557 Test: KHR-GLES32.core.tessellation_shader.single.max_patch_vertices Change-Id: I49f149cfd8f6f063fc5045aa154cc401d3e38cfb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3429684 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
angle-autoroll 37f59b85 2022-02-07T19:34:11 Roll VK-GL-CTS from 97ceb2222747 to b594e2aabae9 (64 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/97ceb2222747..b594e2aabae9 2022-02-05 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/master" 2022-02-04 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master 2022-02-03 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/master 2022-01-29 ilkka.saarelainen@siru.fi Add depth and stencil multisample copy tests 2022-01-29 juha.heiskanen@siru.fi Add color output check to early fragment sample count tests 2022-01-29 juha.heiskanen@siru.fi Test dynamic descriptors with different stage visibility 2022-01-29 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-01-29 mika.vainola@siru.fi Remove EnableBlendCase from ES 3.1 2022-01-29 srisser@google.com Delay initializing fragment_shading_rate tests 2022-01-28 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2022-01-27 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master 2022-01-23 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2022-01-18 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master" 2022-01-16 ari.suonpaa@siru.fi Add coverage for transition between compute and indirect draw 2022-01-14 emmanuel.tanguy@broadcom.com Add missing barrier to fix multi-core issue 2022-01-14 juha.heiskanen@siru.fi Test EarlyFragmentTests effect on color output and sample counting 2022-01-14 jari.komppa@siru.fi Add more power of two checks 2022-01-14 piotr.byszewski@mobica.com Update vulkan-docs version 2022-01-14 jari.komppa@siru.fi Add missing formats to mapTextureFormat 2022-01-14 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2022-01-13 ari.suonpaa@siru.fi Move draw buffers indexed tests from ES3.1 to ES3 group 2022-01-11 pdaniell@nvidia.com VK_EXT_pageable_device_local_memory test coverage 2022-01-10 piotr.byszewski@mobica.com Rename mustpass master branch to main 2022-01-10 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/dev/VK_EXT_image_view_min_lod into vk-gl-cts/master" 2022-01-10 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2022-01-07 corentin.noel@collabora.com gl4cMapBufferAlignmentTests: ensure that the GL_ARB_buffer_storage extension is present 2022-01-07 jari.komppa@siru.fi Update README.md files, replacing old link 2022-01-07 arkadiusz.sarwa@amd.com Add support for building with Visual Studio 2022 2022-01-07 juha.heiskanen@siru.fi Remove unused variables from occlusion query tests 2022-01-07 dneto@google.com Assert that isnan and isinf cases cover intended classes 2022-01-07 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-01-07 venni.ihanakangas@siru.fi Improve AHB image_formats subtest log output 2022-01-07 marcin.zajac@mobica.com OpPtrEqual OpPtrNotEqual for non-variable pointers 2022-01-07 piotr.byszewski@mobica.com Extend FSR multiview tests 2022-01-07 michal.jakubek@mobica.com Handle VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags 2022-01-07 jari.komppa@siru.fi Add 8-bit blend_operation_advanced tests 2022-01-07 rgarcia@igalia.com Test constant and dynamically uniform subgroup shuffle deltas 2022-01-07 ilkka.saarelainen@siru.fi Rework platform memory limits 2022-01-07 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master 2022-01-07 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2022-01-05 quic_mnetsch@quicinc.com Notice of withdrawal of Vulkan CTS 1.2.5.x 2021-12-11 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-12-11 rgarcia@igalia.com Fix dot product with saturation tests 2021-12-11 piotr.byszewski@mobica.com Add dynamic rendering to attachment rate tests 2021-12-11 rgarcia@igalia.com Further VK_NV_mesh_shader test variants and fixes 2021-12-11 pdaniell@nvidia.com Fix and enable dynamic rendering multivew coverage 2021-12-11 quic_mnetsch@quicinc.com Merge "Merge dev/VK_EXT_depth_clip_control into master" 2021-12-11 ari.suonpaa@siru.fi Fix integer overflow in Random::getInt() 2021-12-11 juha.heiskanen@siru.fi TRANSIENT_ATTACHMENT_BIT store/load op test 2021-12-11 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2021-12-10 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-12-06 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2021-12-03 ilkka.saarelainen@siru.fi Add missing feature check to MS copy tests 2021-12-03 jarcher@nvidia.com Update Android API and permissions for OpenGL 2021-12-03 antto.makinen@siru.fi Test no-op image layout transitions in VK_KHR_synchronization2 2021-12-03 antto.makinen@siru.fi Ensure that compute shaders have a subgroup size that is uniform in command scope 2021-12-03 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access into vk-gl-cts/master" 2021-12-03 juha.heiskanen@siru.fi Missing coverage for vkCmdCopyQueryPoolResults 2021-12-03 jari.komppa@siru.fi Add suite of div by zero tests 2021-12-03 ari.suonpaa@siru.fi Enable packed formats for border swizzle tests 2021-12-03 piotr.byszewski@mobica.com Add portability_subset to extensions_data.txt 2021-12-03 lionel.g.landwerlin@intel.com Verify that timeline semaphores cannot import/export SYNC_FD 2021-12-03 piotr.byszewski@mobica.com Execute FDM tests with dynamic rendering 2021-12-03 piotr.byszewski@mobica.com Execute FDM tests with legacy renderpass 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-bots+autoroll-info@google.com,ianelliott@google.com,ynovikov@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: angleproject:6773, angleproject:6737, angleproject:4394 Change-Id: I5e8157787a821d116231640f89b67cde2cc2fce4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442372 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi d9fcebb8 2022-02-07T14:11:58 Vulkan: Make framebuffer fetch syncval errors more specific The errors are very generic, so now they are only suppressed if framebuffer fetch is used by the application. This change partially relands 2eeb87488. Bug: angleproject:6951 Change-Id: I55f444d19360d3066f1d4b0959d25e676dbb1a38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3444341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 9208dcc6 2022-02-07T18:23:12 Revert "Vulkan: Enable framebuffer fetch on SwiftShader" This reverts commit 2eeb8748867c529474200d302f21f20ab461b9b4. Reason for revert: Breaks tests for ANGLE-to-Chromium autoroller Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader > > Bug: angleproject:6951 > Change-Id: I10eeb58be9e8639c0519fc47f327a0894155b755 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437409 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:6951 Change-Id: I35eaf2b7411d1bf055484bbb32f7e681286edd42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442370 Reviewed-by: Ian Elliott <ianelliott@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 2eeb8748 2022-02-03T13:10:54 Vulkan: Enable framebuffer fetch on SwiftShader Bug: angleproject:6951 Change-Id: I10eeb58be9e8639c0519fc47f327a0894155b755 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437409 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e897bf9a 2022-02-03T13:53:11 Remove gl_PerVertex-related suppression Bug: angleproject:5579 Change-Id: I532bc2628f8d69aa429c73dc5613ccb5375109a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437411 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 72529c19 2022-01-31T14:37:42 Vulkan: Fix a few framebuffer fetch bugs A few fixes to framebuffer fetch: - The built-in symbol for coherent and non-coherent are now the same for gl_LastFragData, so extension check can choose one or the other. - The temporary variable used in a transformation is renamed to not be gl_LastFragData. - inout usage is now validated correctly for shader type and version. Bug: angleproject:6951 Bug: angleproject:6905 Bug: angleproject:6907 Change-Id: I9af341a3e8e01ed375a8230618184494813d3ece Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427577 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade 38fada35 2022-01-27T18:16:18 Vulkan: Add support for OES_primitive_bounding_box Add OES version of the primitive bound box extension Bug: angleproject:3576 Test: dEQP-GLES31.functional.primitive_bounding_box.* Change-Id: Ie44d952992a68dfffd5c124dda8dd11069f0c1e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425086 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Shahbaz Youssefi 665ddccd 2021-12-09T23:06:39 Vulkan: Emulate dithering Dithering in OpenGL is vaguely defined, to the extent that no dithering is also a valid dithering algorithm. Dithering is enabled by default, but emulating it has a non-negligible cost. Similarly to some other GLES drivers, ANGLE enables dithering only on low-bit formats where visual banding is particularly common; namely RGBA4444, RGBA5551 and RGB565. Dithering is emulated in the fragment shader and is controlled by a spec constant. Every 2 bits of the spec constant correspond to one attachment, with the value indicating: - 00: No dithering - 01: Dither for RGBA4444 - 10: Dither for RGBA5551 - 11: Dither for RGB565 The translator appends code to the shader that, based on the format specified by the specialization constant, adds dithering to each color attachment output. A 2x2 Bayer matrix is used for dithering, indexed by gl_FragCoord.xy % 2. Bug: angleproject:6755 Change-Id: Ib45da5938e299b6626bff921119d63e7357dd353 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3374261 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade aadc6434 2022-01-24T18:28:19 Vulkan: Fix to correctly redefine gl_PerVertex in GS Angle translator structures were inconsistent of data lookup of gl_PerVertex data when it is user defined. Bug: angleproject:5579 Test: KHR-GLES32.core.geometry_shader.api.getProgramiv3 Test: GLSLTest_ES31.PerVertex* Change-Id: Ied9ea25ce86ade29261f4f75ce0b48af15061760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2962352 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Jamie Madill cb96c236 2022-01-26T18:53:55 Revert "Vulkan: Enable framebuffer fetch on SwiftShader." This reverts commit 5107231939b5e04d3d5e4376176db42c3ae60193. Reason for revert: Fails new code paths in Chrome+Skia. Bug: angleproject:6947 Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader. > > This also fixes a bug with non-coherent fetch in the symbol table. > > Bug: angleproject:6947 > Bug: angleproject:6948 > Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I8bd6c55598552b733547e45c854f6d55768d2b65 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417503 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 51072319 2022-01-25T10:41:25 Vulkan: Enable framebuffer fetch on SwiftShader. This also fixes a bug with non-coherent fetch in the symbol table. Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov aaac31b4 2022-01-25T18:27:11 Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_* Fixed in crrev.com/c/3407737 Bug: angleproject:6916, angleproject:6645 Change-Id: I9b7ee44aed7d77e581b48f871e0f0dd1195dabf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413009 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 78d482e5 2022-01-13T14:49:26 Add standalone ANGLE Pixel 6 experimental bots The bot only runs dEQP tests with Vulkan backend, not GLES. Also skipping non-Vulkan tests in angle_end2end_tests. Also no perf/trace tests, as these time out uploading to device. Adding suppressions for the failing tests at the same time. Bug: chromium:1280418, angleproject:6819 Bug: angleproject:6898, angleproject:6899, angleproject:6900 Bug: angleproject:6905, angleproject:6907, angleproject:6908 Bug: angleproject:6909, angleproject:6910, angleproject:6916 Bug: angleproject:6917, angleproject:6918, angleproject:6919 Bug: angleproject:6931 Change-Id: I3598e6ff7f458ad7ab2defb86e02a17fbf2d20ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387108 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Brandon Schade a5e22715 2021-09-30T17:03:34 Vulkan: Fixed TC shader and gl_PerVertex block interaction TransformSpirV() does not account for the fact that the tessellation control shader's output gl_PerVertex block is a named array. This results in the input and output blocks being sometimes flipped. Added code to track the IdRef of both input and output array gl_PerVertex blocks and swap them if necessary. Bug: angleproject:5557 Tests: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.data_pass_through Change-Id: Ie3823701b4eaa53daa8ca34faab657f54d8aee38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208513 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Brandon Schade 2caa9d4f 2021-10-04T09:43:57 Vulkan: Add missing glGetProgramPipelineiv parameters handling The glGetProgramPipelineiv function call was missing the case handling for tessellation control and evaluation shaders. Bug: angleproject:5557 Tests: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize Change-Id: Id888d1a9ae94228a33cfabcc7f65d1f63d596425 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208511 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Yuly Novikov dcac02ac 2022-01-19T21:30:21 Revert "Enable robustnessEXT for SwiftShader." This reverts commit b803b60df1806f189c1b29ca77da47896241e0f1. Reason for revert: blocks roll into Chrome - anglebug.com/6922 Original change's description: > Enable robustnessEXT for SwiftShader. > > Bug: chromium:1287631 > Bug: angleproject:6906 > Change-Id: I3c8c32561a1ac7860c83b8d3ba22aafd0bf81fd4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3390489 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Roman Lavrov <romanl@google.com> Bug: chromium:1287631 Bug: angleproject:6906, angleproject:6922 Change-Id: Ic8ff7dd996455009037cbff9e10b6fbbc420b37e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3402820 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov b803b60d 2022-01-14T23:29:14 Enable robustnessEXT for SwiftShader. Bug: chromium:1287631 Bug: angleproject:6906 Change-Id: I3c8c32561a1ac7860c83b8d3ba22aafd0bf81fd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3390489 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Mohan Maiya d4c8209b 2022-01-10T13:30:06 Fix validation of copyImageSubData related to texture completeness Fixed an edge case in validation code where we were not properly ignoring format rules for texture completeness as required for copyImageSubData by the ES 3.2 specification Bug: angleproject:5363 Tests: KHR-GLES32.core.copy_image.r32*_texture Change-Id: Ibf8a6f4708e2135f0eb6f4ba58d4ce413f11ce5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379224 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>