Sorry if this is a waste of time. Out of curiosity I have some code to enumerate the backends and wondered if SwiftShader should be included among them (maybe just for laughs?) and I was a little curious because the machine I do most work on doesn't have Vulkan driver support, so I thought it would be interesting to see what happens. Briefly below was my experience...
First, I'm using a static build, that may not be sanctioned. Other backends seem to work. With Vulkan/SwiftShader eglGetPlatformDisplayEXT works, but eglInitialize seems to not. (I guess I should be calling eglInitialize before thinking I have a working backend.) So I traced it. It wanted to load the Vulkan DLL because ANGLE_SHARED_LIBVULKAN was defined (I don't know if it should be, I don't even know how to define such macros in
args.gn yet.)
So I copied over the DLL in angle's build output directory (assuming it's SwiftShader--maybe not--and not really knowing how ANGLE would distinguish between that one and a real one.)
Then it fails because it can't find two extensions in the Vulkan instance. It looks for VK_KHR_SURFACE_EXTENSION_NAME and VK_KHR_WIN32_SURFACE_EXTENSION_NAME (getWSIExtension) and fails because they're not in the list... which only contains two: VK_EXT_debug_report and VK_EXT_debug_utils.
It does set mEnabledICD to SwiftShader. I'm not sure if SwiftShader is statically linked or what. There's another switftshader DLL but I don't know if it's related. I guess all I'm saying if there's any use a guide would be helpful. (I think I've read everything document in the repo. Maybe this post can get indexed by Google/Bing.)