Compare commits

..

100 Commits

Author SHA1 Message Date
Sebastian Lackner
b7770327f1 Release 1.7.36. 2015-02-08 19:15:49 +01:00
Sebastian Lackner
b8c9d22e4c Added patch to improve stub for AEV_GetVolumeRange. 2015-02-08 18:02:28 +01:00
Sebastian Lackner
2b2f2d70ab Added patch to fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function. 2015-02-08 17:58:49 +01:00
Sebastian Lackner
c81eb4cfa6 Added patch to improve various ntoskrnl stub functions. 2015-02-08 17:55:46 +01:00
Sebastian Lackner
221a419640 Added patch to implement stub for ntoskrnl.KeDelayExecutionThread. 2015-02-08 17:51:06 +01:00
Sebastian Lackner
f1b08404b8 Added patch to implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject. 2015-02-08 17:47:43 +01:00
Sebastian Lackner
28fc684ff9 Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe. 2015-02-08 17:44:07 +01:00
Sebastian Lackner
cb402d63de Added patch to implement stub for ntoskrnl.IoGetAttachedDeviceReference. 2015-02-08 17:35:02 +01:00
Sebastian Lackner
865083f801 Mark various upstream bugs as fixed. 2015-02-08 17:29:34 +01:00
Sebastian Lackner
b70612a236 Staging: Avoid a warning on x86_64. 2015-02-08 15:18:58 +01:00
Sebastian Lackner
340a8a9e73 patchupdate.py: Replace '.' with underscore for patchinstall.sh script. 2015-02-08 15:02:51 +01:00
Sebastian Lackner
39787f3608 Added patch to make nvcuda.dll compatible with CUDA 7.0. 2015-02-08 09:44:03 +01:00
Sebastian Lackner
f2831c4a36 Added patch to implement NVIDIA video encoder library (nvencodeapi). 2015-02-08 08:40:31 +01:00
Sebastian Lackner
6a5466cff1 Added patch to add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2. 2015-02-08 06:39:31 +01:00
Sebastian Lackner
fbf97b4ef0 Added patchset for various improvements and cleanup of reg.exe. 2015-02-07 15:41:23 +01:00
Sebastian Lackner
cfdc80f823 Add library override instead of closing winecfg when pressing ENTER over the combobox. 2015-02-07 08:07:40 +01:00
Sebastian Lackner
1b9fa30106 Rebase against upstream changes. 2015-02-06 21:41:46 +01:00
Sebastian Lackner
99fc70333a ntdll-Vista_Threadpool: Update threadpool patchset, implement additional wait object functions. 2015-02-06 20:49:32 +01:00
Sebastian Lackner
dac872a3f7 dinput-Events: Update patch to fix bug 42, some games do not explicitly poll for mouse events. 2015-02-04 06:51:05 +01:00
Sebastian Lackner
94558a24fb Removed several patches (accepted upstream). 2015-02-03 17:16:22 +01:00
Sebastian Lackner
1eeba48e51 Added patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats. 2015-02-03 12:24:48 +01:00
Sebastian Lackner
70b8d10d2f Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native. 2015-02-03 07:13:28 +01:00
Sebastian Lackner
95d7e3c5a9 ntdll-Vista_Threadpool: Avoid race conditions between tp_object_{submit,shutdown} for simple callbacks. 2015-02-03 05:33:58 +01:00
Sebastian Lackner
647efb0b9b wined3d-CSMT_Main: Rebase against upstream changes. 2015-02-02 17:52:20 +01:00
Sebastian Lackner
1ac4ac7302 ntdll-Vista_Threadpool: Make sure that threadpools have always at least one worker thread. 2015-02-02 14:09:18 +01:00
Sebastian Lackner
af245c20be Added patchset to implement Vista+ threadpool functions for work / timers. 2015-02-01 19:58:36 +01:00
Sebastian Lackner
e51f6d2439 Added patch to implement additional stubs for vcomp dlls. 2015-01-29 00:43:26 +01:00
Sebastian Lackner
96b6186af1 Rebase patches against upstream Wine. 2015-01-28 23:25:01 +01:00
Sebastian Lackner
cfdd73e2c4 ntoskrnl-KeWaitForMultipleObjects: Remove definition of KWAIT_BLOCK (accepted upstream). 2015-01-28 02:03:28 +01:00
Sebastian Lackner
e3c329b656 ntoskrnl-KeWaitForMultipleObjects: Avoid duplicate definitions in ntdef.h and winternl.h. 2015-01-27 15:09:32 +01:00
Sebastian Lackner
aab0c9dd62 ntoskrnl-KeWaitForMultipleObjects: Directly use new header file ntdef.h. 2015-01-27 04:38:18 +01:00
Sebastian Lackner
42ef436373 ntdll-Junction_Points: Rebase against upstream changes. 2015-01-27 04:07:25 +01:00
Sebastian Lackner
8d231bde1d Added patch to fix mouse jittering in Planetside 2. 2015-01-26 13:31:24 +01:00
Sebastian Lackner
a5566f1e8e Added patch to fix check for end_frame in RtlUnwindEx on x86_64. 2015-01-26 11:57:43 +01:00
Michael MĂĽller
a3813c45a0 Added patch to call DriverUnload during driver unload. 2015-01-26 04:39:12 +01:00
Sebastian Lackner
0c2b776e83 patchinstall.sh: Only apply patchlist when 'Staging' patchset is enabled. Ensure Staging/004-*.patch also compiles without patchlist. 2015-01-26 03:46:33 +01:00
Sebastian Lackner
e65c2c7954 patchinstall.sh: Avoid using '&>' syntax which spawns a detached shell with dash instead of forwarding output (thanks DarkPlayer). 2015-01-26 01:13:49 +01:00
Sebastian Lackner
9ee1d8c391 nvcuvid-CUDA_Video_Support: Remove another duplicate struct definition (ancient compilers again ...). 2015-01-25 06:01:27 +01:00
Sebastian Lackner
4b62bd0dbc Release 1.7.35. 2015-01-24 16:04:50 +01:00
Sebastian Lackner
ca5f61a043 README.md: Update URL to installation instructions and commandline. 2015-01-24 13:13:19 +01:00
Sebastian Lackner
c2f1a759c3 ntdll-NtQuerySection: Fix warnings in tests on x86_64 (try 2). 2015-01-24 13:04:39 +01:00
Sebastian Lackner
71658e9cd3 ntoskrnl-DriverTest: Partially revert 791f33b, fix additional compiler warning.
We always have to use __ms_va_list because we depend on an ntoskrnl export here.
2015-01-24 12:32:24 +01:00
Sebastian Lackner
685c0f7d39 ws2_32-TransmitFile: Fix warnings in tests on x86_64. 2015-01-24 10:39:58 +01:00
Sebastian Lackner
0d7e53d834 setupapi-SetupPromptForDisk: Fix warnings in tests on x86_64. 2015-01-24 10:26:31 +01:00
Sebastian Lackner
791f33b9b7 ntoskrnl-DriverTest: Remove duplicate definition of __ms_va_{start,end,list} and some small fixes. 2015-01-24 10:25:15 +01:00
Sebastian Lackner
ed9a66862f ntdll-LZNT1_Compression: Fix warnings in tests on x86_64. 2015-01-24 09:42:35 +01:00
Sebastian Lackner
cc484c6d23 Update year in LICENSE.md. 2015-01-24 09:39:53 +01:00
Sebastian Lackner
425be312a8 slc-SLGetWindowsInformation: Fix warnings in tests on x86_64. 2015-01-24 09:26:22 +01:00
Sebastian Lackner
09bf9a7d65 ntdll-NtQuerySection: Fix warnings in tests on x86_64. 2015-01-24 09:12:52 +01:00
Sebastian Lackner
c85677af86 kernel32-Named_Pipe: Fix warnings in tests on x86_64. 2015-01-24 08:49:33 +01:00
Sebastian Lackner
8cf7585f01 kernel32-GetFinalPathNameByHandle: Fix warnings in tests on x86_64. 2015-01-24 08:43:01 +01:00
Sebastian Lackner
be82b0f592 dpvoice-GetCompressionTypes: Fix warnings in tests on x86_64. 2015-01-24 08:37:35 +01:00
Sebastian Lackner
7a84e26713 ntoskrnl-Irp_Status: Remove 'Fixes:' line as long as it doesn't resolve the upstream bug completely. 2015-01-24 05:52:41 +01:00
Sebastian Lackner
ab14a7dba0 Added patch to fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED. 2015-01-24 05:15:18 +01:00
Sebastian Lackner
804b80bb94 winecfg-Staging: Simplify logic to enable/disable CSMT. 2015-01-24 03:52:02 +01:00
Sebastian Lackner
2271acca98 Rebase against upstream wine, move ntdll-DllRedirects dependency from winecfg-Staging to wined3d-CSMT_Helper. 2015-01-23 18:21:18 +01:00
Sebastian Lackner
1b792e51fb msvcrt-atof_strtod: Skip tests on Windows 2000/XP.
We still need to add additional tests before sending this one upstream, since
the behaviour could be different between different msvcrt libraries.
2015-01-23 14:17:29 +01:00
Sebastian Lackner
dcc1885175 ntoskrnl-DriverTest: Fix typo in subject. 2015-01-23 06:21:11 +01:00
Sebastian Lackner
29bbba1e0f Added patches to implement ntoskrnl driver testing framework. 2015-01-23 06:14:02 +01:00
Sebastian Lackner
1d5798b7d0 kernel32-Profile: List one additional bug as fixed (Mario Remake fails to load keyboard mapping from profile files). 2015-01-23 04:51:45 +01:00
Erich E. Hoover
525dcd012f Removed patch to fix RandR on some broken nVidia systems (accepted upstream). 2015-01-22 14:37:27 -07:00
Erich E. Hoover
6a1d2cdd7b Add stub for KeWaitForMultipleObjects. 2015-01-22 13:50:03 -07:00
Sebastian Lackner
6a10f6d38f d3dx9_36-DXTn: Add another fixed bug to the definition file (Space Rangers 2 crashes). 2015-01-22 19:46:18 +01:00
Sebastian Lackner
0121248145 Added patch to fix cursor clip regression / broken raw input in multiple games. 2015-01-22 19:42:54 +01:00
Sebastian Lackner
fbe41916cb Properly wrap CUDA stream callbacks by forwarding them to a separate worker thread. 2015-01-22 01:05:36 +01:00
Sebastian Lackner
f64437a901 nvcuda-CUDA_Support: Update patchset with various improvements.
* Add static to a couple of functions
* TLS callbacks should be declared as CDECL
* Do not unlock the critical section while processing TLS callbacks
2015-01-21 03:09:54 +01:00
Sebastian Lackner
ddbbcb6c0f ws2_32-getaddrinfo: Rebase against upstream changes. 2015-01-20 23:04:35 +01:00
Sebastian Lackner
372c004139 Added patch to implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes. 2015-01-20 19:11:58 +01:00
Erich E. Hoover
277cf9f50f Actually revert 1b743a18ea. 2015-01-20 00:00:34 -07:00
Erich E. Hoover
69032a489b Added patch to quote program name in ShellExecute[Ex] when it contains spaces. 2015-01-19 23:39:56 -07:00
Erich E. Hoover
2a8899bd4f Revert commit 1b743a18ea for now. 2015-01-19 23:35:34 -07:00
Erich E. Hoover
0c33c34ab3 Add the library packages for building with OpenCL support. 2015-01-19 21:19:03 -07:00
Sebastian Lackner
87b4b86756 patchinstall.sh: Switch to DESTDIR at the beginning, instead of for each patch individually. Various Improvements of the 'ebuild' backend. 2015-01-20 03:54:35 +01:00
Sebastian Lackner
93224a7bf4 Rebase wined3d-CSMT_Main patchset on top of upstream Wine, remove wined3d-Color_Key patchset (fixed upstream). 2015-01-20 03:44:15 +01:00
Erich E. Hoover
1b743a18ea Added OpenCL dependency to the Debian control file. 2015-01-19 12:51:32 -07:00
Sebastian Lackner
ffac1eec98 mshtml-sessionStorage: Remove patches (because of incompatibility with new Gecko version).
These patches have been disabled for quite some time now because of fundamental changes
in Gecko (see https://github.com/wine-compholio/wine-staging/issues/119). As there
wasn't any attempt to fix that yet, we will remove them (until a solution compatible
with the current version is found).
2015-01-19 08:49:21 +01:00
Sebastian Lackner
417adfe869 d3dx9_36-AnimationController: Update patch to fix style issues in include/d3dx9anim.h. 2015-01-19 00:33:06 +01:00
Sebastian Lackner
294abd9164 Added patch to implement stubs for D3DXCreateAnimationController interface. 2015-01-18 07:43:10 +01:00
Sebastian Lackner
56a8b5698c Mark various bugs as fixed, which are indirectly solved by other patchsets. Disable ntoskrnl-Irp_Status since it doesn't solve the issue completely. 2015-01-18 06:18:42 +01:00
Sebastian Lackner
3a77266255 wined3d-CSMT_Main: Rebase against current upstream git version. 2015-01-16 07:52:09 +01:00
Sebastian Lackner
8692907421 Rebase against upstream commit 79a0dece8b2a27979835076914a21f468515d8b6, remove several patches accepted upstream. 2015-01-16 05:06:37 +01:00
Sebastian Lackner
3e7445275a Added patch to fix init of LONGLONG variable with a negative value in TGA decoder. 2015-01-15 18:18:50 +01:00
Sebastian Lackner
603ba80d41 Automatically enable fallback method to apply patches when running from inside of a git subdirectory. 2015-01-15 06:51:54 +01:00
Sebastian Lackner
d50c673144 Several improvements to make nvcuvid (CUDA video decoding) better compatible with x86_64. 2015-01-15 02:21:19 +01:00
Michael MĂĽller
60d18d4610 Add nvapi patch to stub NvAPI_D3D9_RegisterResource. 2015-01-14 22:55:10 +01:00
Michael MĂĽller
93764fd3d4 Add more nvapi stub patches. 2015-01-14 22:24:14 +01:00
Sebastian Lackner
fce30bb8f1 Removed patch to fix handling of subdirectory in FtpFindFirstFile (accepted upstream). 2015-01-14 21:48:26 +01:00
Michael MĂĽller
7c3eb20866 Add patch to stub IConnectionPoint. 2015-01-14 05:32:57 +01:00
Sebastian Lackner
322a32547f Synchronize CSMT patchset with https://github.com/stefand/wine. 2015-01-14 01:43:00 +01:00
Erich E. Hoover
b7ec4c3294 Update broken nVidia RandR detection with Henri's suggestions. 2015-01-13 14:59:19 -07:00
Sebastian Lackner
2e7eef2694 Removed patch to set last error on success in WSARecv (accepted upstream). 2015-01-13 22:21:26 +01:00
Sebastian Lackner
4d5f020d44 Add support for patchinstall.sh parameters '--no-patchlist' and '--no-autoconf'. 2015-01-13 07:54:16 +01:00
Sebastian Lackner
ce0a7a882b Added patch to avoid appending duplicate NULL character when importing keys with regedit. 2015-01-13 05:46:52 +01:00
Michael MĂĽller
0d07d50b91 Add more nvapi stubs. 2015-01-13 03:16:33 +01:00
Sebastian Lackner
32d5e2d8e9 nvcuvid-CUDA_Video_Support: Avoid duplicate struct definition to stay compatible with ancient gcc compilers (CentOS 6). 2015-01-12 20:20:09 +01:00
Sebastian Lackner
e55bb43544 d3dx9_36-DXTn: Remove todo_wine for all fixed format conversions. 2015-01-12 19:34:20 +01:00
Sebastian Lackner
2c708426cc patchinstall.sh: Mention stg backend in help. 2015-01-12 19:29:22 +01:00
Sebastian Lackner
ecd57240d0 Added patch to implement support for DDS file format in D3DXSaveTextureToFileInMemory. 2015-01-12 19:10:13 +01:00
Sebastian Lackner
a6b41279d8 patchinstall.sh: Use abort on error instead of calling exit directly, mention epatch backend in help. 2015-01-12 13:17:03 +01:00
Sebastian Lackner
7d9c7855c2 Add support for Gentoo epatch backend to patchinstall.sh. 2015-01-12 13:10:19 +01:00
214 changed files with 17617 additions and 3168 deletions

View File

@@ -7,7 +7,7 @@ are part of **Wine Staging** and are licensed under the terms of the
[LGPLv2.1](#gnu-lgpl-version-21), to stay compatible with Wine:
```
Copyright (C) 2014 the Wine Staging project authors.
Copyright (C) 2014-2015 the Wine Staging project authors.
Wine Staging is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public

View File

@@ -23,11 +23,12 @@ How to install and use Wine Staging
Ready-to-use packages for Wine Staging are available for a variety
of different Linux distributions directly for download. Just follow the
instructions available on the [website](http://www.wine-staging.com/install.html).
instructions available on the
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
When using Wine Staging there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type `wine` to
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
run it, but instead you will have to type `/opt/wine-staging/bin/wine`.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the
@@ -37,31 +38,37 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugs fixed in Wine Staging 1.7.34-1 [135]:**
**Bugs fixed in Wine Staging 1.7.36 [167]:**
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](https://bugs.winehq.org/show_bug.cgi?id=21767))
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](https://bugs.winehq.org/show_bug.cgi?id=36374))
* Add default ACLs for user shell folders
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
* Add library override instead of closing winecfg when pressing ENTER over the combobox ([Wine Bug #12804](https://bugs.winehq.org/show_bug.cgi?id=12804))
* Add nvapi stubs required for GPU PhysX support
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
* Add stub for D3DXComputeNormalMap
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
* Add stub for D3DXIntersect
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Add stub for ntoskrnl.KeWaitForMultipleObjects
* Add stubs for D3DXCreateAnimationController interface
* Add support for GetPropValue to PulseAudio backend
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
* Allow selection of audio device for PulseAudio backend
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
* Avoid crashing when broken app tries to release surface although refcount is zero ([Wine Bug #18477](https://bugs.winehq.org/show_bug.cgi?id=18477))
* Avoid race-conditions of async WSARecv() operations with write watches.
* Avseq crashes when multisampling is enabled ([Wine Bug #31998](https://bugs.winehq.org/show_bug.cgi?id=31998))
* Basic support for CUDA
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
* Correctly treat '.' when checking for empty directories ([Wine Bug #26272](https://bugs.winehq.org/show_bug.cgi?id=26272))
* Call DriverUnload function when unloading a device driver.
* Child of Light expects FindConnectionPoint to succeed and increase the refcount ([Wine Bug #36408](https://bugs.winehq.org/show_bug.cgi?id=36408))
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
* Don't fill KdHelp structure for usermode applications ([Wine Bug #37272](https://bugs.winehq.org/show_bug.cgi?id=37272))
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
@@ -70,49 +77,71 @@ Included bug fixes and improvements
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
* Fix arguments for OSMesaMakeCurrent when using 16 bit formats
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
* Fix color key regression causing pink rectangles around text ([Wine Bug #37748](https://bugs.winehq.org/show_bug.cgi?id=37748))
* Fix check for end_frame in RtlUnwindEx on x86_64. ([Wine Bug #34254](https://bugs.winehq.org/show_bug.cgi?id=34254))
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](https://bugs.winehq.org/show_bug.cgi?id=35718))
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
* Fix graphical corruption in FarCry 3 with NVIDIA drivers ([Wine Bug #35062](https://bugs.winehq.org/show_bug.cgi?id=35062))
* Fix gray screen on startup introduced by pixelformat changes. ([Wine Bug #35975](https://bugs.winehq.org/show_bug.cgi?id=35975))
* Fix handling of empty section and key name for profile files. ([Wine Bug #8036](https://bugs.winehq.org/show_bug.cgi?id=8036))
* Fix handling of invert_y in DrawTextExW ([Wine Bug #22109](https://bugs.winehq.org/show_bug.cgi?id=22109))
* Fix handling of subdirectory in FtpFindFirstFile ([Wine Bug #16526](https://bugs.winehq.org/show_bug.cgi?id=16526))
* Fix issues when driver dispatch routine returns different status codes ([Wine Bug #30155](https://bugs.winehq.org/show_bug.cgi?id=30155))
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
* Fix init of LONGLONG variable with a negative value in TGA decoder
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
* Fix mouse jittering in Planetside 2 ([Wine Bug #32913](https://bugs.winehq.org/show_bug.cgi?id=32913))
* Fix parameters for ConvertToIndexedBlendedMesh stub ([Wine Bug #36449](https://bugs.winehq.org/show_bug.cgi?id=36449))
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
* Fix unintentional leaks with ntdll internals
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](https://bugs.winehq.org/show_bug.cgi?id=35655))
* Fix wrong colors in Wolfenstein (2009) ([Wine Bug #34692](https://bugs.winehq.org/show_bug.cgi?id=34692))
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
* Hearthstone fails to start ([Wine Bug #36216](https://bugs.winehq.org/show_bug.cgi?id=36216))
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
* Implement IDXGIOutput::GetDesc
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
* Implement ntoskrnl driver testing framework.
* Implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes ([Wine Bug #29238](https://bugs.winehq.org/show_bug.cgi?id=29238))
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
* Implement stub for ntoskrnl.KeDelayExecutionThread.
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
* Implement threadpool wait objects
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
* Improvement for heap allocation performance
* Initialize irp.Tail.Overlay.OriginalFileObject with stub file object ([Wine Bug #37537](https://bugs.winehq.org/show_bug.cgi?id=37537))
* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983))
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
* Limit cross thread access to ImmSet* functions ([Wine Bug #35361](https://bugs.winehq.org/show_bug.cgi?id=35361))
* Lockfree algorithm for filedescriptor cache (improves file access speed)
* MSVCRT crashes when NULL is passed as string to atof or strtod ([Wine Bug #32550](https://bugs.winehq.org/show_bug.cgi?id=32550))
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
* Other Pipelight-specific enhancements
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
@@ -120,14 +149,18 @@ Included bug fixes and improvements
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
* Return more context attributes in schan_InitializeSecurityContextW ([Wine Bug #37527](https://bugs.winehq.org/show_bug.cgi?id=37527))
* SO_CONNECT_TIME returns the appropriate time
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
* Silverlight needs support for file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
* Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. ([Wine Bug #18099](https://bugs.winehq.org/show_bug.cgi?id=18099))
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
* Support for CSMT (command stream) to increase graphic performance ([Wine Bug #11674](https://bugs.winehq.org/show_bug.cgi?id=11674))
* Support for CUDA GPU video decoding
* Support for D3DXComputeNormals ([Wine Bug #26379](https://bugs.winehq.org/show_bug.cgi?id=26379))
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
* Support for DDS file format in D3DXSaveTextureToFileInMemory ([Wine Bug #26898](https://bugs.winehq.org/show_bug.cgi?id=26898))
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
* Support for Dynamic DST (daylight saving time) information in registry
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
@@ -141,6 +174,7 @@ Included bug fixes and improvements
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](https://bugs.winehq.org/show_bug.cgi?id=30385))
* Support for LoadIconMetric ([Wine Bug #35375](https://bugs.winehq.org/show_bug.cgi?id=35375))
* Support for NVIDIA video encoder library (nvencodeapi)
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](https://bugs.winehq.org/show_bug.cgi?id=30397))
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
@@ -159,18 +193,17 @@ Included bug fixes and improvements
* Support for pasting HTML from Unix applications ([Wine Bug #7372](https://bugs.winehq.org/show_bug.cgi?id=7372))
* Support for process ACLs ([Wine Bug #22006](https://bugs.winehq.org/show_bug.cgi?id=22006))
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
* Support for stored file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
* Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609))
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
* Use actual program name if available to describe PulseAudio streams
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033))
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
* WSARecv should call SetLastError on success ([Wine Bug #31438](https://bugs.winehq.org/show_bug.cgi?id=31438))
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
* Workaround for shlwapi URLs with relative paths
* XEMBED support for embedding Wine windows inside Linux applications
* nVidia driver for high-end laptop cards does not list all supported resolutions
* eRacer Demo doesn't correctly display text ([Wine Bug #29598](https://bugs.winehq.org/show_bug.cgi?id=29598))
* ntdll is missing WinSqm[Start|End]Session implementation ([Wine Bug #31971](https://bugs.winehq.org/show_bug.cgi?id=31971))
* wglDescribePixelFormat should return max index for NULL descriptor ([Wine Bug #6176](https://bugs.winehq.org/show_bug.cgi?id=6176))
* wininet should allow Accept-Encoding header for HTTP/1.0 ([Wine Bug #37046](https://bugs.winehq.org/show_bug.cgi?id=37046))

55
debian/changelog vendored
View File

@@ -1,3 +1,58 @@
wine-staging (1.7.36) unstable; urgency=low
* Fix an incompatibility of patchinstall.sh with non-bash shells under specific situations.
* Improve dinput-Events patch to be compatible with applications which do not explicitly poll for input.
* Added patch to properly call DriverUnload when unloading device drivers.
* Added patch to fix check for end_frame in RtlUnwindEx on x86_64.
* Added patch to fix mouse jittering in Planetside 2.
* Added patch to implement additional stubs for vcomp dlls.
* Added patchset to implement Vista+ threadpool functions for work / timers.
* Added patchset for Vista+ threadpool wait objects.
* Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native.
* Added patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats.
* Added patch to add library override instead of closing winecfg when pressing ENTER over the combobox.
* Added patchset for various improvements and cleanup of reg.exe.
* Added patch to add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2.
* Added patch to implement NVIDIA video encoder library (nvencodeapi).
* Added patch to make nvcuda.dll compatible with CUDA 7.0.
* Added patch to implement stub for ntoskrnl.IoGetAttachedDeviceReference.
* Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.
* Added patch to implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject.
* Added patch to implement stub for ntoskrnl.KeDelayExecutionThread.
* Added patch to improve various ntoskrnl stub functions.
* Added patch to fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
* Added patch to improve stub for AEV_GetVolumeRange.
* Removed patch to add additional tests for SLGetWindowsInformationDWORD (accepted upstream).
* Removed patch to avoid filling KdHelp structure for usermode applications (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 08 Feb 2015 19:14:24 +0100
wine-staging (1.7.35) unstable; urgency=low
* Add stub for KeWaitForMultipleObjects.
* Add support for patchinstall.sh parameters '--no-patchlist' and '--no-autoconf'.
* Add support for Gentoo epatch backend to patchinstall.sh.
* Fix compile warnings on x86_64 in several patchsets.
* Automatically enable fallback method to apply patches when running from inside of a git subdirectory.
* Synchronize CSMT patchset with https://github.com/stefand/wine.
* Several improvements to make nvcuvid (CUDA video decoding) better compatible with x86_64.
* Properly wrap CUDA stream callbacks by forwarding them to a separate worker thread.
* Added patch to quote program name in ShellExecute[Ex] when it contains spaces.
* Added patch to implement support for DDS file format in D3DXSaveTextureToFileInMemory.
* Added patch to avoid appending duplicate NULL character when importing keys with regedit.
* Added patch for IConnectionPoint/INetworkListManagerEvents stub interface.
* Added patch to fix init of LONGLONG variable with a negative value in TGA decoder.
* Added patch to implement stubs for D3DXCreateAnimationController interface.
* Added patch to implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes.
* Added patch to fix cursor clip regression / broken raw input in multiple games.
* Added patches to implement ntoskrnl driver testing framework.
* Added patch to fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.
* Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
* Removed patch to set last error on success in WSARecv (accepted upstream).
* Removed patch to fix handling of subdirectory in FtpFindFirstFile (accepted upstream).
* Removed patch to initialize irp.Tail.Overlay.OriginalFileObject with stub file object (accepted upstream).
* Removed patch to fix incorrect behaviour of PathIsDirectoryEmptyW (accepted upstream).
* Removed patch to store IOCS data in a property instead of GWLP_USERDATA (accepted upstream).
* Removed patch to fix color key regression (fixed upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 24 Jan 2015 16:03:35 +0100
wine-staging (1.7.34-1) unstable; urgency=low
* Debian/Ubuntu specific package dependency fix (no changes for other distros).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 11 Jan 2015 19:14:09 +0100

View File

@@ -23,11 +23,12 @@ How to install and use Wine Staging
Ready-to-use packages for Wine Staging are available for a variety
of different Linux distributions directly for download. Just follow the
instructions available on the [website](http://www.wine-staging.com/install.html).
instructions available on the
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
When using Wine Staging there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type `wine` to
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
run it, but instead you will have to type `/opt/wine-staging/bin/wine`.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the

View File

@@ -31,15 +31,18 @@ usage()
echo ""
echo "Configuration:"
echo " DESTDIR=path Specify the path to the wine source tree"
echo " --all Select all patches"
echo " --help Display this help and exit"
echo " --no-autoupdate Do not apply patchlist and don't auto-update files"
echo " -W patchset Exclude a specific patchset"
echo " --all Select all patches"
echo " --help Display this help and exit"
echo " --no-patchlist Do not apply patchlist (needed for 'wine --patches')"
echo " --no-autoconf Do not run autoreconf and tools/make_requests"
echo " -W patchset Exclude a specific patchset"
echo ""
echo "Backends:"
echo " --backend=patch Use regular 'patch' utility to apply patches (default)"
echo " --backend=epatch Use 'epatch' to apply patches (Gentoo only)"
echo " --backend=git-am Use 'git am' to apply patches"
echo " --backend=git-apply Use 'git apply' to apply patches"
echo " --backend=stg Import the patches using stacked git"
echo ""
}}
@@ -50,15 +53,33 @@ abort()
exit 1
}}
# Show a warning
warning()
{{
echo "WARNING: $1" >&2
}}
{patch_helpers}
# Default settings
patch_enable_all 0
enable_autoupdate=1
enable_patchlist=1
enable_autoconf=1
patchlist="/dev/null"
backend="patch"
enable=1
# Find location of patches
patchdir="$(dirname "$(readlink -f "$0")")"
if ! test -f "$patchdir/patchinstall.sh"; then
if test -f ./patchinstall.sh; then
patchdir="$(pwd)"
else
abort "Failed to find patch directory."
fi
fi
# Parse commandline arguments
if test "$#" -eq 0; then
abort "No commandline arguments given, don't know what to do."
fi
@@ -95,8 +116,13 @@ while test "$#" -gt 0; do
exit 0
;;
--no-autoupdate)
enable_autoupdate=0
--no-patchlist)
enable_patchlist=0
shift
;;
--no-autoconf)
enable_autoconf=0
shift
;;
@@ -115,24 +141,85 @@ if test "$enable" -ne 1; then
abort "Missing argument for -W, expected patchname."
fi
# Determine DESTDIR if not explicitly specified
if test -z "$DESTDIR" -a -f ./tools/make_requests; then
DESTDIR="$(pwd)"
elif test ! -f "$DESTDIR/tools/make_requests"; then
abort "DESTDIR does not point to the Wine source tree."
fi
# Change directory to DESTDIR, epatch depends on that
if ! cd "$DESTDIR"; then
abort "Unable to change directory to $DESTDIR."
fi
# Most backends will try to use git, either directly or indirectly.
# Unfortunately this does not work when "$DESTDIR" points to a
# subdirectory of a git tree, which has the effect that no patches
# are applied, but the exitcode is zero. To avoid broken builds we
# will workaround this issue or abort. For more information see
# https://github.com/wine-compholio/wine-staging/issues/7
test ! -d ".git" && git rev-parse --git-dir >/dev/null 2>&1
workaround_git_bug="$?"
# Apply the patches using gitapply.sh, a small wrapper around 'patch'
if test "$backend" = "patch"; then
patch_apply ()
if test "$workaround_git_bug" -eq 0; then
gitapply_args="--nogit"
else
gitapply_args=""
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! ../debian/tools/gitapply.sh -d "$DESTDIR" < "$1"; then
if ! "$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
# 'epatch' backend - used on Gentoo
elif test "$backend" = "epatch"; then
if test "$workaround_git_bug" -eq 0; then
gitapply_args="--nogit"
else
gitapply_args=""
fi
if ! command -v epatch >/dev/null 2>&1 || \
! command -v ebegin >/dev/null 2>&1 || \
! command -v eend >/dev/null 2>&1; then
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
fi
patch_apply_file ()
{{
shortname="$(basename "$1")"
if grep -q "^GIT binary patch" "$1"; then
ebegin "Applying $shortname"
"$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1" || \
die "Failed Patch: $1!"
eend
else
epatch "$1" # epatch calls die upon failure
fi
}}
# GIT backend - apply patches using 'git am'
elif test "$backend" = "git" -o "$backend" = "git-am"; then
patch_apply ()
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! cat "$1" | (cd "$DESTDIR" && git am); then
if ! git am "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
@@ -140,10 +227,14 @@ elif test "$backend" = "git" -o "$backend" = "git-am"; then
# Git apply backend
elif test "$backend" = "git-apply"; then
patch_apply ()
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! cat "$1" | (cd "$DESTDIR" && git apply); then
if ! git apply "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
@@ -151,14 +242,20 @@ elif test "$backend" = "git-apply"; then
# Stacked GIT backend - import the patches (mainly for developers)
elif test "$backend" = "stg"; then
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'stg' not possible when DESTDIR points to a git subdirectory."
fi
# Only import the regular patches, no autogenerated ones -
# moreover, don't run autoreconf or ./tools/make_requests.
enable_autoupdate=0
enable_patchlist=0
enable_autoconf=0
patch_apply ()
patch_apply_file ()
{{
echo "Applying $1"
if ! echo "staging/$1" | cat - "$1" | (cd "$DESTDIR" && stg import); then
shortname="$(basename "$1")"
if ! echo "staging/$shortname" | cat - "$1" | stg import; then
abort "Failed to apply patch, aborting!"
fi
}}
@@ -167,30 +264,25 @@ else
abort "Selected backend $backend not supported."
fi
patch_apply ()
{{
patch_apply_file "$patchdir/$1"
}}
{patch_resolver}
if test -z "$DESTDIR" -a -f ./tools/make_requests; then
DESTDIR="$(pwd)"
elif test ! -f "$DESTDIR/tools/make_requests"; then
abort "DESTDIR does not point to the Wine source tree."
fi
# To make sure we find all the patches and tools switch to the patches directory now
script="$(readlink -f "$0")"
curdir="$(dirname "$script")"
if ! cd "$curdir"; then
abort "Failed to change working directory to $curdir."
fi
# If autoupdate is enabled then create a tempfile to keep track of all patches
if test "$enable_autoupdate" -eq 1; then
patchlist=$(mktemp)
if test ! -f "$patchlist"; then
echo "ERROR: Unable to create temporary file for patchlist." >&2
exit 1
if test "$enable_patchlist" -eq 1; then
if test "$enable_Staging" -eq 1; then
patchlist=$(mktemp)
if test ! -f "$patchlist"; then
abort "Unable to create temporary file for patchlist."
fi
else
warning "Skipping generation of patchlist because 'Staging' patchset is disabled."
enable_patchlist=0
fi
fi
@@ -198,33 +290,22 @@ fi
{patch_apply}
if test "$enable_autoupdate" -eq 1; then
if test "$enable_patchlist" -eq 1; then
# Generate a temporary patch containing the patchlist and apply it
patch_data=$(cat "$patchlist" | sort)
patch_lines=$(echo "$patch_data" | wc -l)
if test ! -z "$patch_data"; then
patch_lines=$((${{patch_lines}}+23))
patch_lines=$((${{patch_lines}}+21))
cat > "$patchlist" <<EOF
From: Wine Staging Team <webmaster@fds-team.de>
Subject: Autogenerated patch list.
diff --git a/include/wine/library.h b/include/wine/library.h
--- a/include/wine/library.h
+++ b/include/wine/library.h
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
extern const char *wine_get_server_dir(void);
extern const char *wine_get_user_name(void);
extern const char *wine_get_version(void);
+extern const void *wine_get_patches(void);
extern const char *wine_get_build_id(void);
extern void wine_init_argv0_path( const char *argv0 );
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..0a3182f 100644
index 5262c76..0a3182f 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,${{patch_lines}} @@ const char *wine_get_version(void)
@@ -478,10 +478,${{patch_lines}} @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}}
@@ -240,49 +321,25 @@ ${{patch_data}}
+ {{ NULL, NULL, 0 }}
+}};
+
+/* return the applied non-standard patches */
+const void *wine_get_patches(void)
+{{
+ return &wine_patch_data[0];
+}}
+
/* return the build id string */
const char *wine_get_build_id(void)
/* return the applied non-standard patches */
const void *wine_get_patches(void)
{{
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index ed315bd..5b42029 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -83,6 +83,7 @@ EXPORTS
wine_get_sortkey
wine_get_user_name
wine_get_version
+ wine_get_patches
wine_init
wine_init_argv0_path
wine_is_dbcs_leadbyte
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 2159fac..7cb2918 100644
--- a/libs/wine/wine.map
+++ b/libs/wine/wine.map
@@ -90,6 +90,7 @@ WINE_1.0
wine_get_ss;
wine_get_user_name;
wine_get_version;
+ wine_get_patches;
wine_init;
wine_init_argv0_path;
wine_is_dbcs_leadbyte;
- return NULL;
+ return &wine_patch_data[0];
}}
/* return the build id string */
EOF
patch_apply "$patchlist"
patch_apply_file "$patchlist"
fi
rm "$patchlist"
fi
# Other autogenerated changes
if ! (cd "$DESTDIR" && autoreconf -f); then
if test "$enable_autoconf" -eq 1; then
if ! autoreconf -f; then
abort "'autoreconf -f' failed."
fi
if ! (cd "$DESTDIR" && ./tools/make_requests); then
if ! ./tools/make_requests; then
abort "'./tools/make_requests' failed."
fi
fi

View File

@@ -146,11 +146,12 @@ def _stable_compholio_version():
if distro.lower() != "unreleased":
return version
def _latest_wine_commit():
def _latest_wine_commit(commit=None):
"""Get latest wine commit."""
if not os.path.isdir(config.path_wine):
raise PatchUpdaterError("Please create a symlink to the wine repository in %s" % config.path_wine)
commit = subprocess.check_output(["git", "rev-parse", "origin/master"], cwd=config.path_wine).strip()
if commit is None:
commit = subprocess.check_output(["git", "rev-parse", "origin/master"], cwd=config.path_wine).strip()
assert len(commit) == 40
return commit
@@ -504,7 +505,7 @@ def generate_script(all_patches):
lines.append("patch_enable_all ()\n")
lines.append("{\n")
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
patch.variable = "enable_%s" % patch.name.replace("-","_")
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
lines.append("\t%s=\"$1\"\n" % patch.variable)
lines.append("}\n")
lines.append("\n")
@@ -650,7 +651,7 @@ if __name__ == "__main__":
try:
# Get information about Wine and Compholio version
latest_wine_commit = _latest_wine_commit()
latest_wine_commit = _latest_wine_commit(sys.argv[1] if len(sys.argv) >= 2 else None)
stable_compholio_version = _stable_compholio_version()
# Read current and stable patches

View File

@@ -1,4 +1,4 @@
From f56694f318ce0134317b812ff32f6c35875c31b3 Mon Sep 17 00:00:00 2001
From aa76ae0448583e87dbe7f374101eb5b20d55dea8 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 8 Aug 2014 19:33:14 -0600
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
@@ -12,10 +12,10 @@ Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 117c8eb..3988628 100644
index 0c10ffa..2f35992 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -11163,7 +11163,7 @@ static void yuv_layout_test(void)
@@ -11161,7 +11161,7 @@ static void yuv_layout_test(void)
IDirect3D9 *d3d;
D3DCOLOR color;
DWORD ref_color;
@@ -38,10 +38,10 @@ index d2a61fa..bb7ac1c 100644
if (servername && !(server = strdup_unixcp( servername ))) return ERROR_OUTOFMEMORY;
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index a4c02bf..909db53 100644
index e32cb54..ddf972d 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -353,7 +353,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
@@ -359,7 +359,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
{
WCHAR *ret;
const WCHAR *prefix;
@@ -51,13 +51,13 @@ index a4c02bf..909db53 100644
static const WCHAR dashW[] = {' ','-',' ',0};
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 34cc567..4f2a6c6 100644
index f3e921c..fa64436 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -5784,7 +5784,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
GLhandleARB vs_id = 0;
GLhandleARB gs_id = 0;
GLhandleARB ps_id = 0;
@@ -5834,7 +5834,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
GLuint vs_id = 0;
GLuint gs_id = 0;
GLuint ps_id = 0;
- struct list *ps_list, *vs_list;
+ struct list *ps_list = NULL, *vs_list = NULL;
@@ -77,5 +77,5 @@ index 54aab45..103422e 100644
expand = get_make_variable( make, name );
if (!expand) return NULL;
--
2.1.1
2.2.1

View File

@@ -1,13 +1,17 @@
From 6661529d2422f99287336b764fe7a5b61484b8ad Mon Sep 17 00:00:00 2001
From f23512417cb3d149a8be4f757282d17cc1f99f9a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 29 May 2014 23:43:45 +0200
Subject: loader: Add commandline option --patches to show the patch list.
---
dlls/ntdll/misc.c | 8 ++++++++
dlls/ntdll/ntdll.spec | 1 +
loader/main.c | 36 +++++++++++++++++++++++++++++++++++-
3 files changed, 44 insertions(+), 1 deletion(-)
dlls/ntdll/misc.c | 8 ++++++++
dlls/ntdll/ntdll.spec | 1 +
include/wine/library.h | 1 +
libs/wine/config.c | 6 ++++++
libs/wine/wine.def | 1 +
libs/wine/wine.map | 1 +
loader/main.c | 42 +++++++++++++++++++++++++++++++++++++++++-
7 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/misc.c b/dlls/ntdll/misc.c
index ad1b43b..1f985e7 100644
@@ -29,7 +33,7 @@ index ad1b43b..1f985e7 100644
*/
const char * CDECL NTDLL_wine_get_build_id(void)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 7e95969..f9483aa 100644
index 51de6e7..ee4ed49 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1421,6 +1421,7 @@
@@ -40,8 +44,61 @@ index 7e95969..f9483aa 100644
@ cdecl wine_get_build_id() NTDLL_wine_get_build_id
@ cdecl wine_get_host_version(ptr ptr) NTDLL_wine_get_host_version
diff --git a/include/wine/library.h b/include/wine/library.h
index 242bb69..fae73fe 100644
--- a/include/wine/library.h
+++ b/include/wine/library.h
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
extern const char *wine_get_server_dir(void);
extern const char *wine_get_user_name(void);
extern const char *wine_get_version(void);
+extern const void *wine_get_patches(void);
extern const char *wine_get_build_id(void);
extern void wine_init_argv0_path( const char *argv0 );
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5262c76 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,12 @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
+/* return the applied non-standard patches */
+const void *wine_get_patches(void)
+{
+ return NULL;
+}
+
/* return the build id string */
const char *wine_get_build_id(void)
{
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index ed315bd..5b42029 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -83,6 +83,7 @@ EXPORTS
wine_get_sortkey
wine_get_user_name
wine_get_version
+ wine_get_patches
wine_init
wine_init_argv0_path
wine_is_dbcs_leadbyte
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 2159fac..7cb2918 100644
--- a/libs/wine/wine.map
+++ b/libs/wine/wine.map
@@ -90,6 +90,7 @@ WINE_1.0
wine_get_ss;
wine_get_user_name;
wine_get_version;
+ wine_get_patches;
wine_init;
wine_init_argv0_path;
wine_is_dbcs_leadbyte;
diff --git a/loader/main.c b/loader/main.c
index ac67290..b1df463 100644
index ce21173..4794e51 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -89,7 +89,8 @@ static void check_command_line( int argc, char *argv[] )
@@ -54,7 +111,7 @@ index ac67290..b1df463 100644
if (argc <= 1)
{
@@ -106,6 +107,39 @@ static void check_command_line( int argc, char *argv[] )
@@ -106,6 +107,45 @@ static void check_command_line( int argc, char *argv[] )
printf( "%s\n", wine_get_build_id() );
exit(0);
}
@@ -68,6 +125,12 @@ index ac67290..b1df463 100644
+ }
+ *next, *cur = wine_get_patches();
+
+ if (!cur)
+ {
+ fprintf( stderr, "Patchlist not available.\n" );
+ exit(1);
+ }
+
+ while (cur->author)
+ {
+ next = cur + 1;
@@ -77,7 +140,7 @@ index ac67290..b1df463 100644
+ next++;
+ }
+
+ printf( "%s (%d):\n", cur->author, next - cur );
+ printf( "%s (%d):\n", cur->author, (int)(next - cur) );
+ while (cur < next)
+ {
+ printf( " %s", cur->subject );
@@ -95,5 +158,5 @@ index ac67290..b1df463 100644
--
2.1.3
2.2.1

View File

@@ -1,71 +0,0 @@
From 4d79656ea8c30f14fcd4a8e6a901e7b50ea50eef Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Thu, 17 Apr 2014 04:34:30 +0800
Subject: atl: Don't use GWLP_USERDATA to store IOCS to avoid conflict with
Apps.
---
dlls/atl/atl_ax.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/atl/atl_ax.c b/dlls/atl/atl_ax.c
index 5bafbf1..45936e8 100644
--- a/dlls/atl/atl_ax.c
+++ b/dlls/atl/atl_ax.c
@@ -38,6 +38,8 @@
#include "wine/unicode.h"
+#define WINE_IOCS_PROPERTY "WINE_IOCS"
+
WINE_DEFAULT_DEBUG_CHANNEL(atl);
typedef struct IOCS {
@@ -150,7 +152,7 @@ static HRESULT IOCS_Detach( IOCS *This ) /* remove subclassing */
if ( This->hWnd )
{
SetWindowLongPtrW( This->hWnd, GWLP_WNDPROC, (ULONG_PTR) This->OrigWndProc );
- SetWindowLongPtrW( This->hWnd, GWLP_USERDATA, 0 );
+ RemovePropA( This->hWnd, WINE_IOCS_PROPERTY );
This->hWnd = NULL;
}
if ( This->control )
@@ -906,7 +908,7 @@ static LRESULT IOCS_OnWndProc( IOCS *This, HWND hWnd, UINT uMsg, WPARAM wParam,
static LRESULT CALLBACK AtlHost_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
{
- IOCS *This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
+ IOCS *This = (IOCS *)GetPropA( hWnd, WINE_IOCS_PROPERTY );
return IOCS_OnWndProc( This, hWnd, wMsg, wParam, lParam );
}
@@ -915,7 +917,7 @@ static HRESULT IOCS_Attach( IOCS *This, HWND hWnd, IUnknown *pUnkControl ) /* su
This->hWnd = hWnd;
IUnknown_QueryInterface( pUnkControl, &IID_IOleObject, (void**)&This->control );
IOleObject_SetClientSite( This->control, &This->IOleClientSite_iface );
- SetWindowLongPtrW( hWnd, GWLP_USERDATA, (ULONG_PTR) This );
+ SetPropA( hWnd, WINE_IOCS_PROPERTY, This );
This->OrigWndProc = (WNDPROC)SetWindowLongPtrW( hWnd, GWLP_WNDPROC, (ULONG_PTR) AtlHost_wndproc );
return S_OK;
@@ -1329,7 +1331,7 @@ HRESULT WINAPI AtlAxGetHost(HWND hWnd, IUnknown **host)
*host = NULL;
- This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
+ This = (IOCS *)GetPropA( hWnd, WINE_IOCS_PROPERTY );
if ( !This )
{
WARN("No container attached to %p\n", hWnd );
@@ -1351,7 +1353,7 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
*pUnk = NULL;
- This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA );
+ This = (IOCS *)GetPropA ( hWnd, WINE_IOCS_PROPERTY );
if ( !This || !This->control )
{
WARN("No control attached to %p\n", hWnd );
--
1.7.9.5

View File

@@ -1 +0,0 @@
Fixes: [21767] ATL IOCS data should not be stored in GWLP_USERDATA

View File

@@ -0,0 +1,2 @@
Fixes: Add stubs for D3DXCreateAnimationController interface
Depends: d3dx9_36-DXTn

View File

@@ -0,0 +1,47 @@
From 85bb1e11795df868ab19f6b40b07036f2922eba4 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 11 Jan 2015 16:09:43 +0100
Subject: d3dx9_36: Fix several issues in save_dds_surface_to_memory.
The different fixes are:
- Fix header size of the DDS file
- Remove DDS_MIPMAPCOUNT as mipmap levels are not supported yet
- Fix DDS_WIDTH define to correct value 4
- Do not set depth and miplevels fields as their flags are not set (to match native)
---
dlls/d3dx9_36/surface.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index f187031..ae10adc 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -77,7 +77,7 @@ static const GUID *d3dformat_to_wic_guid(D3DFORMAT format)
/* dds_header.flags */
#define DDS_CAPS 0x1
#define DDS_HEIGHT 0x2
-#define DDS_WIDTH 0x2
+#define DDS_WIDTH 0x4
#define DDS_PITCH 0x8
#define DDS_PIXELFORMAT 0x1000
#define DDS_MIPMAPCOUNT 0x20000
@@ -487,13 +487,12 @@ static HRESULT save_dds_surface_to_memory(ID3DXBuffer **dst_buffer, IDirect3DSur
memset(header, 0, sizeof(*header));
header->signature = MAKEFOURCC('D','D','S',' ');
- header->size = sizeof(*header);
- header->flags = DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PITCH | DDS_PIXELFORMAT | DDS_MIPMAPCOUNT;
+ /* The signature is not really part of the DDS header */
+ header->size = sizeof(*header) - sizeof(header->signature);
+ header->flags = DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PITCH | DDS_PIXELFORMAT;
header->height = src_desc.Height;
header->width = src_desc.Width;
header->pitch_or_linear_size = dst_pitch;
- header->depth = 1;
- header->miplevels = 1;
header->caps = DDS_CAPS_TEXTURE;
hr = d3dformat_to_dds_pixel_format(&header->pixel_format, src_desc.Format);
if (FAILED(hr))
--
2.2.1

View File

@@ -0,0 +1,43 @@
From 26c87c400c478b878b72b9cb7d216f89a9a58d1f Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 11 Jan 2015 16:18:03 +0100
Subject: d3dx9_36: Add support for FOURCC surface to
save_dds_surface_to_memory.
---
dlls/d3dx9_36/surface.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index ae10adc..629c94c 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -311,6 +311,14 @@ static HRESULT d3dformat_to_dds_pixel_format(struct dds_pixel_format *pixel_form
}
}
+ /* Reuse dds_fourcc_to_d3dformat as D3DFORMAT and FOURCC are DWORD with same values */
+ if (dds_fourcc_to_d3dformat(d3dformat) != D3DFMT_UNKNOWN)
+ {
+ pixel_format->flags |= DDS_PF_FOURCC;
+ pixel_format->fourcc = d3dformat;
+ return D3D_OK;
+ }
+
WARN("Unknown pixel format %#x\n", d3dformat);
return E_NOTIMPL;
}
@@ -489,7 +497,9 @@ static HRESULT save_dds_surface_to_memory(ID3DXBuffer **dst_buffer, IDirect3DSur
header->signature = MAKEFOURCC('D','D','S',' ');
/* The signature is not really part of the DDS header */
header->size = sizeof(*header) - sizeof(header->signature);
- header->flags = DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PITCH | DDS_PIXELFORMAT;
+ header->flags = DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PIXELFORMAT;
+ /* Note that native does not set DDS_LINEARSIZE flag nor pitch_or_linear_size field for DXTn */
+ header->flags |= (pixel_format->block_width != 1) || (pixel_format->block_height != 1) ? DDS_LINEARSIZE : DDS_PITCH;
header->height = src_desc.Height;
header->width = src_desc.Width;
header->pitch_or_linear_size = dst_pitch;
--
2.2.1

View File

@@ -0,0 +1,117 @@
From 560676d5a7e14b73de4a1be6e47ee37754c0c331 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 11 Jan 2015 16:29:30 +0100
Subject: d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds
file.
---
dlls/d3dx9_36/d3dx9_36_private.h | 2 ++
dlls/d3dx9_36/surface.c | 62 ++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/texture.c | 5 +---
3 files changed, 65 insertions(+), 4 deletions(-)
diff --git a/dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h
index 79f3b76..41bed31 100644
--- a/dlls/d3dx9_36/d3dx9_36_private.h
+++ b/dlls/d3dx9_36/d3dx9_36_private.h
@@ -97,6 +97,8 @@ HRESULT load_volume_from_dds(IDirect3DVolume9 *dst_volume, const PALETTEENTRY *d
const D3DXIMAGE_INFO *src_info) DECLSPEC_HIDDEN;
HRESULT load_volume_texture_from_dds(IDirect3DVolumeTexture9 *volume_texture, const void *src_data,
const PALETTEENTRY *palette, DWORD filter, DWORD color_key, const D3DXIMAGE_INFO *src_info) DECLSPEC_HIDDEN;
+HRESULT save_dds_texture_to_memory(ID3DXBuffer **dst_buffer, IDirect3DBaseTexture9 *src_texture,
+ const PALETTEENTRY *src_palette) DECLSPEC_HIDDEN;
unsigned short float_32_to_16(const float in) DECLSPEC_HIDDEN;
float float_16_to_32(const unsigned short in) DECLSPEC_HIDDEN;
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index 629c94c..0a9c177 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -530,6 +530,68 @@ static HRESULT save_dds_surface_to_memory(ID3DXBuffer **dst_buffer, IDirect3DSur
return D3D_OK;
}
+static HRESULT get_surface(D3DRESOURCETYPE type, struct IDirect3DBaseTexture9 *tex,
+ int face, UINT level, struct IDirect3DSurface9 **surf)
+{
+ switch (type)
+ {
+ case D3DRTYPE_TEXTURE:
+ return IDirect3DTexture9_GetSurfaceLevel((IDirect3DTexture9*) tex, level, surf);
+ case D3DRTYPE_CUBETEXTURE:
+ return IDirect3DCubeTexture9_GetCubeMapSurface((IDirect3DCubeTexture9*) tex, face, level, surf);
+ default:
+ ERR("Unexpected texture type\n");
+ return E_NOTIMPL;
+ }
+}
+
+HRESULT save_dds_texture_to_memory(ID3DXBuffer **dst_buffer, IDirect3DBaseTexture9 *src_texture, const PALETTEENTRY *src_palette)
+{
+ HRESULT hr;
+ D3DRESOURCETYPE type;
+ UINT mip_levels;
+ IDirect3DSurface9 *surface;
+
+ type = IDirect3DBaseTexture9_GetType(src_texture);
+
+ if ((type != D3DRTYPE_TEXTURE) && (type != D3DRTYPE_CUBETEXTURE) && (type != D3DRTYPE_VOLUMETEXTURE))
+ return D3DERR_INVALIDCALL;
+
+ if (type == D3DRTYPE_CUBETEXTURE)
+ {
+ FIXME("Cube texture not supported yet\n");
+ return E_NOTIMPL;
+ }
+ else if (type == D3DRTYPE_VOLUMETEXTURE)
+ {
+ FIXME("Volume texture not supported yet\n");
+ return E_NOTIMPL;
+ }
+
+ mip_levels = IDirect3DTexture9_GetLevelCount(src_texture);
+
+ if (mip_levels > 1)
+ {
+ FIXME("Mipmap not supported yet\n");
+ return E_NOTIMPL;
+ }
+
+ if (src_palette)
+ {
+ FIXME("Saving surfaces with palettized pixel formats not implemented yet\n");
+ return E_NOTIMPL;
+ }
+
+ hr = get_surface(type, src_texture, D3DCUBEMAP_FACE_POSITIVE_X, 0, &surface);
+
+ if (SUCCEEDED(hr))
+ {
+ hr = save_dds_surface_to_memory(dst_buffer, surface, NULL);
+ IDirect3DSurface9_Release(surface);
+ }
+
+ return hr;
+}
HRESULT load_volume_from_dds(IDirect3DVolume9 *dst_volume, const PALETTEENTRY *dst_palette,
const D3DBOX *dst_box, const void *src_data, const D3DBOX *src_box, DWORD filter, D3DCOLOR color_key,
const D3DXIMAGE_INFO *src_info)
diff --git a/dlls/d3dx9_36/texture.c b/dlls/d3dx9_36/texture.c
index de42307..e062379 100644
--- a/dlls/d3dx9_36/texture.c
+++ b/dlls/d3dx9_36/texture.c
@@ -1873,10 +1873,7 @@ HRESULT WINAPI D3DXSaveTextureToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE
if (!dst_buffer || !src_texture) return D3DERR_INVALIDCALL;
if (file_format == D3DXIFF_DDS)
- {
- FIXME("DDS file format isn't supported yet\n");
- return E_NOTIMPL;
- }
+ return save_dds_texture_to_memory(dst_buffer, src_texture, src_palette);
type = IDirect3DBaseTexture9_GetType(src_texture);
switch (type)
--
2.2.1

View File

@@ -0,0 +1 @@
Fixes: [26898] Support for DDS file format in D3DXSaveTextureToFileInMemory

View File

@@ -1,12 +1,13 @@
From 5dc54490906f945778a858ecb757cf39500d0b40 Mon Sep 17 00:00:00 2001
From 748930c574cb486b0eeb31bbce189c014a865a3b Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 1 Nov 2014 13:08:05 +0100
Subject: d3dx9_36: Add dxtn support.
---
dlls/d3dx9_36/Makefile.in | 2 +-
dlls/d3dx9_36/surface.c | 104 ++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 98 insertions(+), 8 deletions(-)
dlls/d3dx9_36/Makefile.in | 2 +-
dlls/d3dx9_36/surface.c | 104 +++++++++++++++++++++++++++++++++++++++---
dlls/d3dx9_36/tests/surface.c | 8 ++--
3 files changed, 102 insertions(+), 12 deletions(-)
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
index 5958c57..aa387b5 100644
@@ -184,6 +185,41 @@ index f187031..70dc0cd 100644
}
/************************************************************
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 7a4dff8..87c3eb7 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -1103,7 +1103,7 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &newsurf);
ok(SUCCEEDED(hr), "Failed to get the surface, hr %#x.\n", hr);
hr = D3DXLoadSurfaceFromSurface(newsurf, NULL, NULL, surf, NULL, NULL, D3DX_FILTER_NONE, 0);
- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels to DXT3 format.\n");
+ ok(SUCCEEDED(hr), "Failed to convert pixels to DXT3 format.\n");
check_release((IUnknown*)newsurf, 1);
check_release((IUnknown*)tex, 0);
}
@@ -1129,7 +1129,7 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &newsurf);
ok(SUCCEEDED(hr), "Failed to get the surface, hr %#x.\n", hr);
hr = D3DXLoadSurfaceFromSurface(newsurf, NULL, NULL, surf, NULL, NULL, D3DX_FILTER_NONE, 0);
- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels to DXT5 format.\n");
+ ok(SUCCEEDED(hr), "Failed to convert pixels to DXT5 format.\n");
check_release((IUnknown*)newsurf, 1);
check_release((IUnknown*)tex, 0);
}
@@ -1142,10 +1142,10 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &newsurf);
ok(SUCCEEDED(hr), "Failed to get the surface, hr %#x.\n", hr);
hr = D3DXLoadSurfaceFromSurface(newsurf, NULL, NULL, surf, NULL, NULL, D3DX_FILTER_NONE, 0);
- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels to DXT1 format.\n");
+ ok(SUCCEEDED(hr), "Failed to convert pixels to DXT1 format.\n");
hr = D3DXLoadSurfaceFromSurface(surf, NULL, NULL, newsurf, NULL, NULL, D3DX_FILTER_NONE, 0);
- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels from DXT1 format.\n");
+ ok(SUCCEEDED(hr), "Failed to convert pixels from DXT1 format.\n");
check_release((IUnknown*)newsurf, 1);
check_release((IUnknown*)tex, 0);
--
2.2.1

View File

@@ -2,3 +2,5 @@ Depends: wined3d-DXTn
Fixes: [33768] Fix texture corruption in CSI: Fatal Conspiracy
Fixes: [19231] Fix crash of Trine Demo on start
Fixes: [37391] Exception during start of fr-043 caused by missing DXTn support
Fixes: [34692] Fix wrong colors in Wolfenstein (2009)
Fixes: [24983] Fix crash in Space Rangers2 caused by missing DXTn support

View File

@@ -1,32 +0,0 @@
From 78ab3400ea9c3c9ae9d85f3ee2952c20c7d68f73 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 15 Sep 2014 22:55:49 +0200
Subject: dbghelp: Don't fill KdHelp structure for usermode applications.
---
dlls/dbghelp/stack.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/dlls/dbghelp/stack.c b/dlls/dbghelp/stack.c
index 3e1ff72..21412f6 100644
--- a/dlls/dbghelp/stack.c
+++ b/dlls/dbghelp/stack.c
@@ -240,15 +240,6 @@ BOOL WINAPI StackWalk64(DWORD MachineType, HANDLE hProcess, HANDLE hThread,
if (!cpu->stack_walk(&csw, frame, ctx)) return FALSE;
/* we don't handle KdHelp */
- frame->KdHelp.Thread = 0xC000FADE;
- frame->KdHelp.ThCallbackStack = 0x10;
- frame->KdHelp.ThCallbackBStore = 0;
- frame->KdHelp.NextCallback = 0;
- frame->KdHelp.FramePointer = 0;
- frame->KdHelp.KiCallUserMode = 0xD000DAFE;
- frame->KdHelp.KeUserCallbackDispatcher = 0xE000F000;
- frame->KdHelp.SystemRangeStart = 0xC0000000;
- frame->KdHelp.Reserved[0] /* KiUserExceptionDispatcher */ = 0xE0005000;
return TRUE;
}
--
2.1.0

View File

@@ -1 +0,0 @@
Fixes: [37272] Don't fill KdHelp structure for usermode applications

Some files were not shown because too many files have changed in this diff Show More