Skip SwANGLE GLES31 tests which crash with 32-bit Subzero.

Started with https://swiftshader-review.googlesource.com/c/SwiftShader/+/42108

Bug: angleproject:4482
Change-Id: I48effe26aa7ce1b574f9df8ad9c3f560cb599cf3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104406
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
diff --git a/src/tests/deqp_support/deqp_gles31_test_expectations.txt b/src/tests/deqp_support/deqp_gles31_test_expectations.txt
index ba2f7db..05bfaaa 100644
--- a/src/tests/deqp_support/deqp_gles31_test_expectations.txt
+++ b/src/tests/deqp_support/deqp_gles31_test_expectations.txt
@@ -105,6 +105,12 @@
 3865 D3D11 : dEQP-GLES31.functional.compute.basic.copy_image_to_ssbo_large = FAIL
 3865 D3D11 : dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_large = FAIL
 
+// Simultaneous use of GL_CONSTANT_ALPHA/GL_ONE_MINUS_CONSTANT_ALPHA and GL_CONSTANT_COLOR/GL_ONE_MINUS_CONSTANT_COLOR as color factors
+4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4 = FAIL
+4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7 = FAIL
+4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.9 = FAIL
+4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.15 = FAIL
+
 // Failing with dEQP roll
 3447 D3D11 : dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.22 = FAIL
 3447 D3D11 : dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.41 = FAIL
@@ -185,6 +191,19 @@
 3881 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array.image_2d = SKIP
 3881 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array.iimage_2d_array = SKIP
 
+// Crashes in x86 Subzero Reactor
+4482 SWIFTSHADER : dEQP-GLES31.functional.compute.basic.shared_atomic_op_* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.compute.basic.shared_var_* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.compute.basic.ssbo_local_barrier_* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.compute.shared_var.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.image_load_store.2d.qualifiers.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.image_load_store.2d_array.qualifiers.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.image_load_store.3d.qualifiers.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.image_load_store.cube.qualifiers.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.ssbo.atomic.compswap.* = SKIP
+4482 SWIFTSHADER : dEQP-GLES31.functional.synchronization.inter_invocation.* = SKIP
+
+
 ////
 //// General Vulkan expectations
 ////
@@ -262,8 +281,3 @@
 4371 VULKAN ANDROID : dEQP-GLES31.functional.shaders.implicit_conversions.es31.arithmetic.input_before_literal.add.int_to_uvec3_vertex = FAIL
 4371 SWIFTSHADER : dEQP-GLES31.functional.shaders.implicit_conversions.* = FAIL
 
-// Simultaneous use of GL_CONSTANT_ALPHA/GL_ONE_MINUS_CONSTANT_ALPHA and GL_CONSTANT_COLOR/GL_ONE_MINUS_CONSTANT_COLOR as color factors
-4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4 = FAIL
-4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7 = FAIL
-4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.9 = FAIL
-4394 D3D11 : dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.15 = FAIL
diff --git a/src/tests/gl_tests/ComputeShaderTest.cpp b/src/tests/gl_tests/ComputeShaderTest.cpp
index 4cc568b..3b1e481 100644
--- a/src/tests/gl_tests/ComputeShaderTest.cpp
+++ b/src/tests/gl_tests/ComputeShaderTest.cpp
@@ -1721,6 +1721,11 @@
 // order of multiple shader invocations in compute shader.
 TEST_P(ComputeShaderTest, groupMemoryBarrierAndBarrierTest)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     // TODO(xinghua.cao@intel.com): Figure out why we get this error message
     // that shader uses features not recognized by this D3D version.
     ANGLE_SKIP_TEST_IF((IsAMD() || IsNVIDIA()) && IsD3D11());
@@ -1882,6 +1887,11 @@
 // Verify shared non-array variables can work correctly.
 TEST_P(ComputeShaderTest, NonArraySharedVariable)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     const char kCSShader[] = R"(#version 310 es
 layout (local_size_x = 2, local_size_y = 2, local_size_z = 1) in;
 layout (r32ui, binding = 0) readonly uniform highp uimage2D srcImage;
@@ -1915,6 +1925,11 @@
 // Verify shared non-struct array variables can work correctly.
 TEST_P(ComputeShaderTest, NonStructArrayAsSharedVariable)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     const char kCSShader[] = R"(#version 310 es
 layout (local_size_x = 2, local_size_y = 2, local_size_z = 1) in;
 layout (r32ui, binding = 0) readonly uniform highp uimage2D srcImage;
@@ -1939,6 +1954,11 @@
 // Verify shared struct array variables work correctly.
 TEST_P(ComputeShaderTest, StructArrayAsSharedVariable)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     const char kCSShader[] = R"(#version 310 es
 layout (local_size_x = 2, local_size_y = 2, local_size_z = 1) in;
 layout (r32ui, binding = 0) readonly uniform highp uimage2D srcImage;
@@ -1967,6 +1987,11 @@
 // Verify using atomic functions without return value can work correctly.
 TEST_P(ComputeShaderTest, AtomicFunctionsNoReturnValue)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     // Fails on AMD windows drivers.  http://anglebug.com/3872
     ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsVulkan());
 
@@ -2033,6 +2058,11 @@
 // Verify using atomic functions in a non-initializer single assignment can work correctly.
 TEST_P(ComputeShaderTest, AtomicFunctionsInNonInitializerSingleAssignment)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     // Fails on AMD windows drivers.  http://anglebug.com/3872
     ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsVulkan());
 
@@ -2082,6 +2112,11 @@
 // Verify using atomic functions in an initializers and using unsigned int works correctly.
 TEST_P(ComputeShaderTest, AtomicFunctionsInitializerWithUnsigned)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     // Fails on AMD windows drivers.  http://anglebug.com/3872
     ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsVulkan());
 
@@ -2142,6 +2177,11 @@
 // Verify using atomic functions inside expressions as unsigned int.
 TEST_P(ComputeShaderTest, AtomicFunctionsReturnWithUnsigned)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     // Fails on AMD windows drivers.  http://anglebug.com/3872
     ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsVulkan());
 
@@ -2192,6 +2232,11 @@
 // Verify using nested atomic functions in expressions.
 TEST_P(ComputeShaderTest, AtomicFunctionsReturnWithMultipleTypes)
 {
+    // Crashes on 32-bit SwiftShader Subzero. http://anglebug.com/4482
+#if defined(ANGLE_IS_32_BIT_CPU)
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
+#endif
+
     constexpr char kCShader[] = R"(#version 310 es
 layout (local_size_x = 4, local_size_y = 1, local_size_z = 1) in;
 layout (r32ui, binding = 0) readonly uniform highp uimage2D srcImage;