These DLLs are available out of the box on arm32 and arm64 since
Windows 11.

However these DLLs themselves are only the main interface (containing
the fallback, essentially unusable, OpenGL 1.1 GDI implementation);
without a separate ICD (installable client driver), it's near useless.

Currently (Dec 2021), such a driver (implementing OpenGL on top of
D3D12) is installable in the "OpenCL and OpenGL Compatibility Pack" in
Microsoft Store (but it's only available for regular third party
applications if you install the Windows Insider version of it).
And even then, it's not necessarily available for all architectures.
(In a brief test, it seems like the driver is available for i686 and
aarch64 processes, but not for x86_64 or armv7).

By providing these, we risk that people porting software to Windows
10 on ARM accidentally end up relying on them (earlier, they got clear
link errors showing that these really aren't available), ending up
with executables that only run on Windows 11.

For some projects with existing support for Windows 10 on ARM, this
is handled by entirely disabling building of intermediate wrapper
libraries such as glew or libepoxy; then the main application only
detects the presence of glew or libepoxy, and disables OpenGL
functionality if not found. (This has been tested with VLC, where
the glew dependency already is hardcoded to not be built for these
targets, so this doesn't change anything for the build output of
VLC.)

Signed-off-by: Martin Storsjö <[email protected]>
---
 mingw-w64-crt/{lib64 => lib-common}/glu32.def    | 0
 mingw-w64-crt/{lib64 => lib-common}/opengl32.def | 0
 mingw-w64-crt/libarm32/Makefile.am               | 2 ++
 mingw-w64-crt/libarm64/Makefile.am               | 2 ++
 4 files changed, 4 insertions(+)
 rename mingw-w64-crt/{lib64 => lib-common}/glu32.def (100%)
 rename mingw-w64-crt/{lib64 => lib-common}/opengl32.def (100%)

diff --git a/mingw-w64-crt/lib64/glu32.def b/mingw-w64-crt/lib-common/glu32.def
similarity index 100%
rename from mingw-w64-crt/lib64/glu32.def
rename to mingw-w64-crt/lib-common/glu32.def
diff --git a/mingw-w64-crt/lib64/opengl32.def 
b/mingw-w64-crt/lib-common/opengl32.def
similarity index 100%
rename from mingw-w64-crt/lib64/opengl32.def
rename to mingw-w64-crt/lib-common/opengl32.def
diff --git a/mingw-w64-crt/libarm32/Makefile.am 
b/mingw-w64-crt/libarm32/Makefile.am
index b0bbd0a4f..12a56b203 100644
--- a/mingw-w64-crt/libarm32/Makefile.am
+++ b/mingw-w64-crt/libarm32/Makefile.am
@@ -277,6 +277,7 @@ libarm32_DATA += %reldir%/libgeofencemonitorservice.a
 libarm32_DATA += %reldir%/libgetuname.a
 libarm32_DATA += %reldir%/libglobcollationhost.a
 libarm32_DATA += %reldir%/libglobinputhost.a
+libarm32_DATA += %reldir%/libglu32.a
 libarm32_DATA += %reldir%/libgpapi.a
 libarm32_DATA += %reldir%/libgpedit.a
 libarm32_DATA += %reldir%/libgpprefcl.a
@@ -534,6 +535,7 @@ libarm32_DATA += %reldir%/libondemandconnroutehelper.a
 libarm32_DATA += %reldir%/libonex.a
 libarm32_DATA += %reldir%/libonexui.a
 libarm32_DATA += %reldir%/liboobefldr.a
+libarm32_DATA += %reldir%/libopengl32.a
 libarm32_DATA += %reldir%/libosbaseln.a
 libarm32_DATA += %reldir%/libosksupport.a
 libarm32_DATA += %reldir%/libosuninst.a
diff --git a/mingw-w64-crt/libarm64/Makefile.am 
b/mingw-w64-crt/libarm64/Makefile.am
index 0133b16b2..34ac5dbc1 100644
--- a/mingw-w64-crt/libarm64/Makefile.am
+++ b/mingw-w64-crt/libarm64/Makefile.am
@@ -108,6 +108,7 @@ libarm64_DATA += %reldir%/libfontsub.a
 libarm64_DATA += %reldir%/libgdi32.a
 #libarm64_DATA += %reldir%/libgdiplus.a  # Handled by custom rule
 libarm64_DATA += %reldir%/libgetuname.a
+libarm64_DATA += %reldir%/libglu32.a
 libarm64_DATA += %reldir%/libgpedit.a
 libarm64_DATA += %reldir%/libhbaapi.a
 libarm64_DATA += %reldir%/libhid.a
@@ -209,6 +210,7 @@ libarm64_DATA += %reldir%/libole32.a
 libarm64_DATA += %reldir%/liboleacc.a
 libarm64_DATA += %reldir%/liboleaut32.a
 libarm64_DATA += %reldir%/liboledlg.a
+libarm64_DATA += %reldir%/libopengl32.a
 libarm64_DATA += %reldir%/libosuninst.a
 libarm64_DATA += %reldir%/libp2p.a
 libarm64_DATA += %reldir%/libp2pgraph.a
-- 
2.25.1



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to