[vlc-commits] [Git][videolan/vlc][master] contrib: mingw64: install d3d12 for mingw64 <9.0
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Feb 15 16:43:38 UTC 2024
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
f9d1f2d6 by Fatih Uzunoglu at 2024-02-15T15:49:42+00:00
contrib: mingw64: install d3d12 for mingw64 <9.0
Patch old MinGW versions to have
full d3d12 support. MinGW 8.0.0 has
partial support (d3d12sdklayers.h
missing).
- - - - -
1 changed file:
- contrib/src/mingw64/rules.mak
Changes:
=====================================
contrib/src/mingw64/rules.mak
=====================================
@@ -14,12 +14,13 @@ PKGS += winrt_headers alloweduwp
else # !HAVE_WINSTORE
PKGS += d3d9 dcomp
endif # !HAVE_WINSTORE
-PKGS += dxva dxvahd mingw11-fixes mft10
+PKGS += dxva dxvahd mingw11-fixes mft10 d3d12
ifeq ($(call mingw_at_least, 8), true)
PKGS_FOUND += d3d9
endif # MINGW 8
ifeq ($(call mingw_at_least, 9), true)
+PKGS_FOUND += d3d12
ifdef HAVE_WINSTORE
PKGS_FOUND += winrt_headers
endif # HAVE_WINSTORE
@@ -45,7 +46,7 @@ endif
endif # HAVE_WIN32
-PKGS_ALL += winpthreads winrt_headers d3d9 dxva dxvahd dcomp mingw11-fixes alloweduwp mft10
+PKGS_ALL += winpthreads winrt_headers d3d9 dxva dxvahd dcomp mingw11-fixes alloweduwp mft10 d3d12
$(TARBALLS)/mingw-w64-$(MINGW64_HASH).tar.xz:
$(call download_git,$(MINGW64_GITURL),,$(MINGW64_HASH))
@@ -169,18 +170,18 @@ MINGW_HEADERS_D3D9 := d3d9.h d3d9caps.h
install $</mingw-w64-headers/include/dxva.h "$(PREFIX)/include"
touch $@
-MINGW64_UWP_CONF := --without-headers --with-crt --without-libraries --without-tools
+MINGW64_MINIMALCRT_CONF := --without-headers --with-crt --without-libraries --without-tools
ifeq ($(ARCH),x86_64)
-MINGW64_UWP_CONF +=--disable-lib32 --enable-lib64
+MINGW64_MINIMALCRT_CONF +=--disable-lib32 --enable-lib64
MINGW64_BUILDDIR := lib64
else ifeq ($(ARCH),i386)
-MINGW64_UWP_CONF +=--enable-lib32 --disable-lib64
+MINGW64_MINIMALCRT_CONF +=--enable-lib32 --disable-lib64
MINGW64_BUILDDIR := lib32
else ifeq ($(ARCH),aarch64)
-MINGW64_UWP_CONF +=--disable-lib32 --disable-lib64 --enable-libarm64
+MINGW64_MINIMALCRT_CONF +=--disable-lib32 --disable-lib64 --enable-libarm64
MINGW64_BUILDDIR := libarm64
else ifeq ($(ARCH),arm)
-MINGW64_UWP_CONF +=--disable-lib32 --disable-lib64 --enable-libarm32
+MINGW64_MINIMALCRT_CONF +=--disable-lib32 --disable-lib64 --enable-libarm32
MINGW64_BUILDDIR := libarm32
endif
@@ -200,9 +201,25 @@ endif
# Trick mingw-w64 into just building libwindowsapp.a
$(MAKEBUILDDIR)
- $(MAKECONFIGURE) $(MINGW64_UWP_CONF)
+ $(MAKECONFIGURE) $(MINGW64_MINIMALCRT_CONF)
mkdir -p $(BUILD_DIR)/mingw-w64-crt/$(MINGW64_BUILDDIR)
+$(MAKEBUILD) -C mingw-w64-crt LIBRARIES=$(MINGW64_BUILDDIR)/libwindowsapp.a DATA= HEADERS=
+$(MAKEBUILD) -C mingw-w64-crt $(MINGW64_BUILDDIR)_LIBRARIES=$(MINGW64_BUILDDIR)/libwindowsapp.a install-$(MINGW64_BUILDDIR)LIBRARIES
touch $@
+.sum-d3d12: .sum-mingw64
+ touch $@
+
+.d3d12: mingw64
+ install -d "$(PREFIX)/include"
+ install $</mingw-w64-headers/include/d3d12.h "$(PREFIX)/include"
+ install $</mingw-w64-headers/include/d3d12sdklayers.h "$(PREFIX)/include"
+ install $</mingw-w64-headers/include/d3d12shader.h "$(PREFIX)/include"
+
+ # Trick mingw-w64 into just building libd3d12.a
+ $(MAKEBUILDDIR)
+ $(MAKECONFIGURE) $(MINGW64_MINIMALCRT_CONF)
+ mkdir -p $(BUILD_DIR)/mingw-w64-crt/$(MINGW64_BUILDDIR)
+ +$(MAKEBUILD) -C mingw-w64-crt LIBRARIES=$(MINGW64_BUILDDIR)/libd3d12.a DATA= HEADERS=
+ +$(MAKEBUILD) -C mingw-w64-crt $(MINGW64_BUILDDIR)_LIBRARIES=$(MINGW64_BUILDDIR)/libd3d12.a install-$(MINGW64_BUILDDIR)LIBRARIES
+ touch $@
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f9d1f2d657e1e027455a2c2a232ff2d726e93cab
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f9d1f2d657e1e027455a2c2a232ff2d726e93cab
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list