Info on SwAngle

412 views
Skip to first unread message

Irena Pasvinter

unread,
Feb 2, 2022, 5:58:10 AM2/2/22
to swiftshader
Hello,

I'm trying to understand how exactly SwAngle is supposed to work. README.md says:

Read more about our recommendation to use [ANGLE on
 top of SwiftShader Vulkan here](docs/ANGLE.md) (aka. "SwANGLE").


But there is no such file in docs. Do you have any documentation on SwAngle?

Thank you,
Irena

Alexis Hétu

unread,
Feb 2, 2022, 8:18:38 AM2/2/22
to Irena Pasvinter, swiftshader
Hi Irena,

  We'll look into the missing doc file, thanks.

  About how SwANGLE works, it works essentially the same way legacy SwiftShader GL used to work: where you used to use SwiftShader's libGLESv2 and libEGL libraries, you use ANGLE's libGLESv2 and libEGL libraries instead. In the same folder you must add ANGLE's Vulkan loader (vulkan-1.dll on Windows) SwiftShader Vulkan (vk_swiftshader.dll on Windows, along with the ICD file vk_swiftshader_icd.json). You can take any Chrome distribution as an example of this. To make sure ANGLE picks the SwiftShader Vulkan backend, you must specify the EGL display attribute EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE and all other attributes relevant to your case (See this code as an example:
https://source.chromium.org/chromium/chromium/src/+/main:ui/gl/gl_surface_egl.cc;l=501).

Alexis



--
You received this message because you are subscribed to the Google Groups "swiftshader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to swiftshader...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/swiftshader/ce77bbd8-86e0-4538-981f-374877cebd7an%40googlegroups.com.

Nicolas Capens

unread,
Feb 2, 2022, 10:48:39 AM2/2/22
to Irena Pasvinter, swiftshader, Alexis Hétu
Sorry about the broken link. I removed this file as part of https://swiftshader-review.googlesource.com/c/SwiftShader/+/60668 since it was no longer accurate.

We no longer support building 'SwANGLE' from a SwiftShader checkout. It was causing issues with some tools, and became a maintenance burden. Meanwhile both Chrome and Android Cuttlefish have fully integrated SwANGLE so we didn't have to keep this around for our own development purposes. Sorry for the complications this causes for integrating SwANGLE into third-party solutions. I hope the old docs still contain some useful info for your purposes.

We'll refresh our docs a bit to avoid the confusion, but I don't think we'll restore the ANGLE files since we're aiming for SwiftShader to become Vulkan-only. There are multiple APIs that can be layered on top of Vulkan besides OpenGL ES, so we're hoping they can provide guidance on how to use SwiftShader as a backend. For what it's worth, I'm involved with an effort to make it easier for such layered drivers to load SwiftShader. For ANGLE-specific issues, note there's contact information at https://chromium.googlesource.com/angle/angle/+/main/README.md#contributing.

Best regards,
Nicolas

Irena Pasvinter

unread,
Feb 3, 2022, 6:41:21 AM2/3/22
to Nicolas Capens, swiftshader, Alexis Hétu
Thank you very much for the info, Alexis and Nicolas!
Reply all
Reply to author
Forward
0 new messages