Vulkan:Add Swiftshader configs

Add Swiftshader configs to existing test instantiation macros for all ESX
variants. This causes Swiftshader to be used to run end2end tests.

Added detection code to know when tests are running on Swiftshader and skipping
a number of fails initially.

Note that when running ANGLE end2end tests within Chromium build on Win32 bots
there were crashes with Swiftshader config for tests that should have been skipped.
Due to this, just skipping Swiftshader configs on Win32 for now.

Bug: angleproject:4081
Bug: angleproject:4092
Change-Id: I32527a62304c5fad90f645b372edf9411ca2b212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914126
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/tests/gl_tests/FramebufferTest.cpp b/src/tests/gl_tests/FramebufferTest.cpp
index d5a1fc5..9ba0571 100644
--- a/src/tests/gl_tests/FramebufferTest.cpp
+++ b/src/tests/gl_tests/FramebufferTest.cpp
@@ -990,6 +990,8 @@
     ANGLE_SKIP_TEST_IF(IsLinux() && IsAMD() && IsDesktopOpenGL());
     // Occlusion query reports fragments outside the render area are still rendered
     ANGLE_SKIP_TEST_IF(IsAndroid() || (IsWindows() && (IsIntel() || IsAMD())));
+    // http://anglebug.com/4092
+    ANGLE_SKIP_TEST_IF(isSwiftshader());
 
     constexpr char kVS1[] = R"(#version 310 es
 in layout(location = 0) highp vec2 a_position;