Enable Vulkan backend?
Im not sure if there is any particual reason for not using Vulkan on this project. But running on DX backend means the maximum it can provide is ES 3.1.
So i did test if the script could build with Vulkan to enable full ES 3.2, it seems to need two things:
-
Swiftshader cloned into ANGLE_DIR\third_party\SwiftShader https://github.com/google/swiftshader
-
Add "angle_enable_vulkan=true", "angle_enable_d3d11=false" on the build command
vulkan-1.dll and vk_swiftshader.dll needs to be copied to the output directory as well.
Still reports ES 3.1 on my system with wglinfo64, but thats probably due to the gpu.
[EGL] OpenGL ES vendor string: Google Inc. (AMD) [EGL] OpenGL ES renderer string: ANGLE (AMD, Vulkan 1.4.315 (AMD Radeon RX 6500 XT (0x0000743F)), AMD proprietary driver-2.0.353) [EGL] OpenGL ES version string: OpenGL ES 3.1.0 (ANGLE 2.1.26301 git hash: 8ed16003f271) [EGL] OpenGL ES shading language version string: OpenGL ES GLSL ES 3.10 (ANGLE 2.1.26301 git hash: 8ed16003f271)
Works on Nvidia OpenGL Vendor : Google Inc. (NVIDIA) OpenGL Renderer : ANGLE (NVIDIA, Vulkan 1.3.280 (NVIDIA NVIDIA GeForce GT 1030 (0x00001D01)), NVIDIA-560.94.0.0) OpenGL Version : OpenGL ES 3.2.0 (ANGLE 2.1.26301 git hash: 8ed16003f271) GLSL Version : OpenGL ES GLSL ES 3.20 (ANGLE 2.1.26301 git hash: 8ed16003f271)
Compared to just use DX [EGL] OpenGL ES vendor string: Google Inc. (NVIDIA) [EGL] OpenGL ES renderer string: ANGLE (NVIDIA, NVIDIA GeForce GT 1030 (0x00001D01) Direct3D11 vs_5_0 ps_5_0, D3D11-32.0.15.6094) [EGL] OpenGL ES version string: OpenGL ES 3.0.0 (ANGLE 2.1.26271 git hash: 5c58505be7f4) [EGL] OpenGL ES shading language version string: OpenGL ES GLSL ES 3.00 (ANGLE 2.1.26271 git hash: 5c58505be7f4)
The main reason I set it to D3D11 is because that's what browsers do. So this code path is way more used & tested & maintained. I'm not aware of anybody who's seriously using vulkan in angle on the same scale as browsers. So I want to use backend that is most likely to work. And not deal with extra issues that may arise with less used code path.
Interesting, i was not aware the DX version was the most used one considering its the vulkan version what is on the android SDK and used to run the emulators on Android Studio. I guess its just diferent use cases. Well, thank you anyway, i least now i know how to change the script to compile it.