You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
100 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b7770327f1 | ||
|
b8c9d22e4c | ||
|
2b2f2d70ab | ||
|
c81eb4cfa6 | ||
|
221a419640 | ||
|
f1b08404b8 | ||
|
28fc684ff9 | ||
|
cb402d63de | ||
|
865083f801 | ||
|
b70612a236 | ||
|
340a8a9e73 | ||
|
39787f3608 | ||
|
f2831c4a36 | ||
|
6a5466cff1 | ||
|
fbf97b4ef0 | ||
|
cfdc80f823 | ||
|
1b9fa30106 | ||
|
99fc70333a | ||
|
dac872a3f7 | ||
|
94558a24fb | ||
|
1eeba48e51 | ||
|
70b8d10d2f | ||
|
95d7e3c5a9 | ||
|
647efb0b9b | ||
|
1ac4ac7302 | ||
|
af245c20be | ||
|
e51f6d2439 | ||
|
96b6186af1 | ||
|
cfdd73e2c4 | ||
|
e3c329b656 | ||
|
aab0c9dd62 | ||
|
42ef436373 | ||
|
8d231bde1d | ||
|
a5566f1e8e | ||
|
a3813c45a0 | ||
|
0c2b776e83 | ||
|
e65c2c7954 | ||
|
9ee1d8c391 | ||
|
4b62bd0dbc | ||
|
ca5f61a043 | ||
|
c2f1a759c3 | ||
|
71658e9cd3 | ||
|
685c0f7d39 | ||
|
0d7e53d834 | ||
|
791f33b9b7 | ||
|
ed9a66862f | ||
|
cc484c6d23 | ||
|
425be312a8 | ||
|
09bf9a7d65 | ||
|
c85677af86 | ||
|
8cf7585f01 | ||
|
be82b0f592 | ||
|
7a84e26713 | ||
|
ab14a7dba0 | ||
|
804b80bb94 | ||
|
2271acca98 | ||
|
1b792e51fb | ||
|
dcc1885175 | ||
|
29bbba1e0f | ||
|
1d5798b7d0 | ||
|
525dcd012f | ||
|
6a1d2cdd7b | ||
|
6a10f6d38f | ||
|
0121248145 | ||
|
fbe41916cb | ||
|
f64437a901 | ||
|
ddbbcb6c0f | ||
|
372c004139 | ||
|
277cf9f50f | ||
|
69032a489b | ||
|
2a8899bd4f | ||
|
0c33c34ab3 | ||
|
87b4b86756 | ||
|
93224a7bf4 | ||
|
1b743a18ea | ||
|
ffac1eec98 | ||
|
417adfe869 | ||
|
294abd9164 | ||
|
56a8b5698c | ||
|
3a77266255 | ||
|
8692907421 | ||
|
3e7445275a | ||
|
603ba80d41 | ||
|
d50c673144 | ||
|
60d18d4610 | ||
|
93764fd3d4 | ||
|
fce30bb8f1 | ||
|
7c3eb20866 | ||
|
322a32547f | ||
|
b7ec4c3294 | ||
|
2e7eef2694 | ||
|
4d5f020d44 | ||
|
ce0a7a882b | ||
|
0d07d50b91 | ||
|
32d5e2d8e9 | ||
|
e55bb43544 | ||
|
2c708426cc | ||
|
ecd57240d0 | ||
|
a6b41279d8 | ||
|
7d9c7855c2 |
@@ -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
|
||||
|
61
README.md
61
README.md
@@ -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
55
debian/changelog
vendored
@@ -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
|
||||
|
5
debian/tools/README.md.in
vendored
5
debian/tools/README.md.in
vendored
@@ -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
|
||||
|
229
debian/tools/patchinstall.sh.in
vendored
229
debian/tools/patchinstall.sh.in
vendored
@@ -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
|
||||
|
9
debian/tools/patchupdate.py
vendored
9
debian/tools/patchupdate.py
vendored
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [21767] ATL IOCS data should not be stored in GWLP_USERDATA
|
File diff suppressed because it is too large
Load Diff
2
patches/d3dx9_36-AnimationController/definition
Normal file
2
patches/d3dx9_36-AnimationController/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: Add stubs for D3DXCreateAnimationController interface
|
||||
Depends: d3dx9_36-DXTn
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
1
patches/d3dx9_36-DDS/definition
Normal file
1
patches/d3dx9_36-DDS/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [26898] Support for DDS file format in D3DXSaveTextureToFileInMemory
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
Reference in New Issue
Block a user