diff --git a/README.md b/README.md index edcc90b3..4e29e5e0 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,11 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [5]:** +**Bugfixes and features included in the next upcoming release [6]:** * Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907)) * Fix multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087)) +* Fix wrong version of ID3DXEffect interface for d3dx9_24 * Fix wrong version of ID3DXEffect interface for d3dx9_25 * Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899)) * Python PIP needs better NtQueryInformationJobObject stub diff --git a/debian/changelog b/debian/changelog index d8230145..4c6d6c0c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ wine-staging (1.7.39) UNRELEASED; urgency=low * Added patch to implement proper locking of keystate and synchronization with desktop thread. * Added patch to implement better stub function for NtQueryInformationJobObject. * Added patch to avoid crash in d3d9 tests by skipping when texture/surface creation fails. + * Added patch to fix wrong version of ID3DXEffect interface for d3dx9_24. * Added patch to fix wrong version of ID3DXEffect interface for d3dx9_25. * Removed patch to avoid hardcoded values for sizeof(GUID) (accepted upstream). * Removed patches for SLGetWindowsInformationDWORD (accepted upstream). diff --git a/patches/d3dx9_24-ID3DXEffect/0001-d3dx9_24-Add-an-interface-wrapper-for-different-vers.patch b/patches/d3dx9_24-ID3DXEffect/0001-d3dx9_24-Add-an-interface-wrapper-for-different-vers.patch new file mode 100644 index 00000000..2f0f4997 --- /dev/null +++ b/patches/d3dx9_24-ID3DXEffect/0001-d3dx9_24-Add-an-interface-wrapper-for-different-vers.patch @@ -0,0 +1,26 @@ +From 5b9b5bcfe1c8241f5f0f8502aff184425797e207 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sat, 14 Mar 2015 05:01:05 +0100 +Subject: d3dx9_24: Add an interface wrapper for different version of + ID3DXEffect. + +--- + dlls/d3dx9_24/d3dx9_24.spec | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec +index f111618..f714284 100644 +--- a/dlls/d3dx9_24/d3dx9_24.spec ++++ b/dlls/d3dx9_24/d3dx9_24.spec +@@ -43,7 +43,7 @@ + @ stdcall D3DXCreateCubeTextureFromResourceExW(ptr long long long long long long long long long long ptr ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceExW + @ stdcall D3DXCreateCubeTextureFromResourceW(ptr long ptr ptr) d3dx9_36.D3DXCreateCubeTextureFromResourceW + @ stdcall D3DXCreateCylinder(ptr long long long long long ptr ptr) d3dx9_36.D3DXCreateCylinder +-@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_36.D3DXCreateEffect ++@ stdcall D3DXCreateEffect(ptr ptr long ptr ptr long ptr ptr ptr) d3dx9_25.D3DXCreateEffect + @ stdcall D3DXCreateEffectCompiler(ptr long ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompiler + @ stdcall D3DXCreateEffectCompilerFromFileA(str ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileA + @ stdcall D3DXCreateEffectCompilerFromFileW(wstr ptr ptr long ptr ptr) d3dx9_36.D3DXCreateEffectCompilerFromFileW +-- +2.3.2 + diff --git a/patches/d3dx9_24-ID3DXEffect/definition b/patches/d3dx9_24-ID3DXEffect/definition new file mode 100644 index 00000000..c502e75a --- /dev/null +++ b/patches/d3dx9_24-ID3DXEffect/definition @@ -0,0 +1,2 @@ +Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_24 +Depends: d3dx9_25-ID3DXEffect diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 5cd672e5..4041be31 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -74,6 +74,7 @@ patch_enable_all () enable_d3d9_Skip_Tests="$1" enable_d3d9_Surface_Refcount="$1" enable_d3drm_Specfile="$1" + enable_d3dx9_24_ID3DXEffect="$1" enable_d3dx9_25_ID3DXEffect="$1" enable_d3dx9_36_AnimationController="$1" enable_d3dx9_36_D3DXStubs="$1" @@ -266,6 +267,9 @@ patch_enable () d3drm-Specfile) enable_d3drm_Specfile="$2" ;; + d3dx9_24-ID3DXEffect) + enable_d3dx9_24_ID3DXEffect="$2" + ;; d3dx9_25-ID3DXEffect) enable_d3dx9_25_ID3DXEffect="$2" ;; @@ -1097,6 +1101,13 @@ if test "$enable_d3dx9_36_DXTn" -eq 1; then enable_wined3d_DXTn=1 fi +if test "$enable_d3dx9_24_ID3DXEffect" -eq 1; then + if test "$enable_d3dx9_25_ID3DXEffect" -gt 1; then + abort "Patchset d3dx9_25-ID3DXEffect disabled, but d3dx9_24-ID3DXEffect depends on that." + fi + enable_d3dx9_25_ID3DXEffect=1 +fi + if test "$enable_Exagear" -eq 1; then if test "$enable_ntdll_WRITECOPY" -gt 1; then abort "Patchset ntdll-WRITECOPY disabled, but Exagear depends on that." @@ -1371,6 +1382,18 @@ if test "$enable_d3dx9_25_ID3DXEffect" -eq 1; then ) >> "$patchlist" fi +# Patchset d3dx9_24-ID3DXEffect +# | +# | Modified files: +# | * dlls/d3dx9_24/d3dx9_24.spec +# | +if test "$enable_d3dx9_24_ID3DXEffect" -eq 1; then + patch_apply d3dx9_24-ID3DXEffect/0001-d3dx9_24-Add-an-interface-wrapper-for-different-vers.patch + ( + echo '+ { "Sebastian Lackner", "d3dx9_24: Add an interface wrapper for different version of ID3DXEffect.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-DXTn # | # | This patchset fixes the following Wine bugs: