Compare commits

..

150 Commits

Author SHA1 Message Date
Sebastian Lackner
da0ea43746 Release 1.7.38. 2015-03-07 23:10:42 +01:00
Sebastian Lackner
8afa18829a winex11-Limited_Resolutions: Temporarily disable patchset.
The patchset itself should be fine, but statically linking against libXNVCtrl
might be problematic because of the different license. Moreover, on Debian it
is even a bit more complicated because a dynamic library is provided. Since we
do not want to have a fixed dependency on Nvidia-specific packages (winex11
would depend on it) we will have to investigate this a bit more...
2015-03-07 21:26:33 +01:00
Sebastian Lackner
fa3bf612ea Mark one additional upstream bug as fixed. 2015-03-07 20:47:26 +01:00
Sebastian Lackner
521e8aa38c Added patch to process APC calls before starting process. 2015-03-07 18:14:35 +01:00
Sebastian Lackner
c1ee00741d debian/control: Add nvidia-settings as build dependency (for libXNVCtrl.a). 2015-03-07 15:02:18 +01:00
Sebastian Lackner
9127b8c30a winex11-Limited_Resolutions: Actually show the winediag message. 2015-03-07 07:36:00 +01:00
Sebastian Lackner
41cad2ab96 winex11-Limited_Resolutions: Clean up configure check. 2015-03-07 07:06:41 +01:00
Sebastian Lackner
6d2bd768c8 Added patch to implement cuModuleLoad wrapper function. 2015-03-07 06:21:57 +01:00
Sebastian Lackner
17eccd79dc debian/changelog: Update changelog, new patches for TransmitFile were already added. 2015-03-07 05:15:45 +01:00
Erich E. Hoover
def2378b7a Added patch to report the correct refresh rates for some NVIDIA cards. 2015-03-06 15:32:49 -07:00
Sebastian Lackner
9e39b598ad ws2_32-TransmitFile: Use correct type for return value of WS2_send, fix check in follow-up patch. 2015-03-06 21:04:56 +01:00
Sebastian Lackner
05cb27bb21 ws2_32-TransmitFile: Various fixes and style improvements. 2015-03-06 19:58:39 +01:00
Sebastian Lackner
89e58b5105 patchupdate.py: Add back code to query wine bugzilla, show upstream bug status during patch updater step. 2015-03-06 00:25:45 +01:00
Sebastian Lackner
0f1cce7ba2 Removed patch to fix parameters for ConvertToIndexedBlendedMesh stub (accepted upstream). 2015-03-05 17:39:14 +01:00
Erich E. Hoover
2cba978c4d Fix 64-bit compile warnings in the Hearthstone patch. 2015-03-04 23:25:41 -07:00
Erich E. Hoover
150c6dce28 Long overdue update to the TransmitFile patches. 2015-03-04 21:28:37 -07:00
Sebastian Lackner
ef97a06e99 winex11-Thread_data: Add reference to upstream bug report. 2015-03-05 02:45:23 +01:00
Sebastian Lackner
48c5b12ec2 ntdll-FD_Cache: Update patchset with latest version. 2015-03-05 02:15:11 +01:00
Sebastian Lackner
3c1f26970c d3dxof-Cleanup: Update patchset to use assignment instead of memcpy. 2015-03-04 23:42:40 +01:00
Sebastian Lackner
20e97e50b3 Added patch to replace hardcoded values with sizeof(GUID) for d3dxof. 2015-03-04 21:31:59 +01:00
Sebastian Lackner
e3616aa15c Added patch to increase wineconsole commandline buffer size. 2015-03-04 21:24:11 +01:00
Sebastian Lackner
e7b99e4558 debian/control: Add recommendation for optional runtime dependency libva-drm1. 2015-03-04 19:47:16 +01:00
Sebastian Lackner
c02bdae45d dxva2-Video_Decoder: Various improvements to dxva2 vaapi support. 2015-03-04 19:36:04 +01:00
Sebastian Lackner
4a8df258cd Removed multiple patches (accepted upstream). 2015-03-04 17:56:00 +01:00
Sebastian Lackner
6b31c6f9e2 ntdll-Vista_Threadpool: Various cleanup and splitting into smaller patchsets. 2015-03-04 14:19:38 +01:00
Sebastian Lackner
274fe74055 Added patches to improve performance by reusing old async IO structure if possible. 2015-03-03 19:35:46 +01:00
Sebastian Lackner
db827ac766 kernel32-Named_Pipe: Remove two todo_wine's - somehow magically fixed by the recent changes to wine APC handling. 2015-03-03 18:37:29 +01:00
Sebastian Lackner
4d3a96536e Removed various patches (accepted upstream), disabled patchset for TransmitFile (rewrite in progress). 2015-03-03 18:18:58 +01:00
Sebastian Lackner
cb7f47b637 ntdll-NtQuerySection: Fix all field names in SECTION_IMAGE_INFORMATION structure. 2015-03-03 00:42:30 +01:00
Erich E. Hoover
6038eeee95 quartz/strmbase: Added patch to fix MediaSeekingPassThru_GetPositions when the pins are unconnected. 2015-03-02 11:09:07 -07:00
Sebastian Lackner
ce2930fb30 Added patch to fix crash when trying to switch back to a 16-bit stack. 2015-03-02 16:25:46 +01:00
Sebastian Lackner
e86c1653d8 Removed patches to use interlocked functions for library refcounts (accepted upstream). 2015-03-02 16:17:41 +01:00
Sebastian Lackner
3efff4cb88 Added patch to correct DDSCAPS2 and DDSURFACEDESC2 structure (by Amine Khaldi, wine-patched/pull/7). 2015-03-01 19:10:52 +01:00
Sebastian Lackner
985f04d9ba Added patch to avoid unloading msctf library while textservices are activated. 2015-03-01 05:10:43 +01:00
Sebastian Lackner
6cf3424356 Added patches to fix race-condition when closing browseui IProcessDialog. 2015-03-01 04:10:54 +01:00
Sebastian Lackner
67e8c4d0a9 Added patch to make GetLogicalProcessorInformationEx a stub which returns TRUE. 2015-03-01 01:12:40 +01:00
Sebastian Lackner
6c1e7ddfb2 Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps). 2015-02-28 22:00:48 +01:00
Sebastian Lackner
99bf902a97 Added patch to fix crash in clip_cursor_notify caused by uninitialized TLS. 2015-02-28 21:55:43 +01:00
Sebastian Lackner
c9d3b931f7 Added patch to implement support for waiting on job object. 2015-02-28 07:01:09 +01:00
Sebastian Lackner
d4871a1b6e server-JobObjects: Fix a wineserver crash when terminated processes are added to a job. 2015-02-28 06:52:37 +01:00
Sebastian Lackner
1564f9cd05 Added patch with tests for waiting on a job object. 2015-02-28 06:10:59 +01:00
Sebastian Lackner
aac61f746b Added patch to implement support for NULL job handles in IsProcessInJob. 2015-02-28 05:19:50 +01:00
Sebastian Lackner
348fe1182f Added patch to implement PROGDLG_AUTOTIME for IProgressDialog. 2015-02-28 02:48:26 +01:00
Sebastian Lackner
96bb4ddd1d Add missing file... don't ask. 2015-02-28 02:01:53 +01:00
Sebastian Lackner
ec8049fcf5 Added patch to implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE. 2015-02-28 01:52:48 +01:00
Sebastian Lackner
e7b9fc8d16 Added patch to properly track handle count of wineserver objects. 2015-02-28 01:38:49 +01:00
Sebastian Lackner
8cc25d0fe4 Added patch for job object completion support. 2015-02-28 01:20:47 +01:00
Sebastian Lackner
cd62b5bedc Added patch in order to allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. 2015-02-28 00:36:25 +01:00
Sebastian Lackner
9e9b76a6a9 shell32-Progress_Dialog: Remove useless cast. 2015-02-28 00:06:27 +01:00
Sebastian Lackner
5d4b0f6a7b browseui-Progress_Dialog: Make sure that a valid resource id is passed in IProgressDialog::SetAnimation. 2015-02-27 23:34:24 +01:00
Sebastian Lackner
a9622970cd Added patch to implement IProgressDialog::SetAnimation. 2015-02-27 22:53:56 +01:00
Sebastian Lackner
2672abd9e0 Added patch to enforce that surfaces are flushed after ReleaseDC. 2015-02-27 22:44:57 +01:00
Sebastian Lackner
9146caa7ae Added patch to display animations for SHFileOperation progress dialog. 2015-02-27 21:06:05 +01:00
Sebastian Lackner
480bab002e Added patch for basic implementation of job objects. 2015-02-27 20:56:05 +01:00
Sebastian Lackner
2de8f84fb0 Removed multiple patches (accepted upstream). 2015-02-27 15:34:05 +01:00
Sebastian Lackner
e01d563654 Added patch for support of shell32 file operation progress dialog. 2015-02-27 02:12:30 +01:00
Sebastian Lackner
cc1368ba9e ntoskrnl-Stubs: Mark one additional bug as fixed. 2015-02-27 01:36:56 +01:00
Sebastian Lackner
a63ea08036 Added patches for ntoskrnl.ProbeFor{Read,Write}. 2015-02-27 01:31:59 +01:00
Sebastian Lackner
b4c665d65a Added patch for stub of gdiplus.GdipCreateEffect. 2015-02-27 01:18:50 +01:00
Sebastian Lackner
870feed3e2 Added first set of patches for job objects (by Andrew Cook). 2015-02-26 22:41:29 +01:00
Michael MĂĽller
ec1b9737d0 Update progress callback patch. 2015-02-26 21:57:05 +01:00
Sebastian Lackner
6b6bb2edce Rename ntdll-CopyFileEx patchset to kernel32-CopyFileEx (Oops..). 2015-02-26 16:57:16 +01:00
Sebastian Lackner
98c6f8974b Removed multiple patchsets (accepted upstream). 2015-02-26 16:44:38 +01:00
Sebastian Lackner
f133ccbf40 Rename ntdll-SetFileInformationByHandle to kernel32-SetFileInformationByHandle. 2015-02-26 07:14:13 +01:00
Sebastian Lackner
b74ea4b14d Added patch for CopyFileEx progress callback and cancellation support. 2015-02-26 07:10:29 +01:00
Sebastian Lackner
7d2b751466 Added patch to implement SetFileInformationByHandle. 2015-02-26 06:12:24 +01:00
Sebastian Lackner
dd12b420e8 Added patch to fallback to global key state for threads without a queue. 2015-02-26 04:26:59 +01:00
Sebastian Lackner
d25e78cefb Added patch to avoid deadlock by using _exit() in NtTerminateProcess. 2015-02-25 23:27:09 +01:00
Sebastian Lackner
8f64b37ee2 Added patch to fix race-condition when threads are killed during shutdown. 2015-02-25 23:12:37 +01:00
Sebastian Lackner
11fe964c46 Removed several patches (accepted upstream). 2015-02-24 18:00:05 +01:00
Sebastian Lackner
8b3e8d11a8 Added patch to complete and properly pack DNS_HEADER structure (by Amine Khaldi, wine-patched/pull/6). 2015-02-23 22:35:00 +01:00
Sebastian Lackner
eaefcc8a3f Added patch to declare pDirectInputCreateEx in a MSVC compatible way (by Amine Khaldi, wine-patched/pull/5). 2015-02-23 22:34:35 +01:00
Sebastian Lackner
a412b6082a Added patch to skip Wine specific __wine_check_for_events calls in ReactOS (by Amine Khaldi, wine-patched/pull/4). 2015-02-23 20:31:13 +01:00
Sebastian Lackner
50b6ba8394 patchupdate.py: Use a threadpool to check patches in parallel. 2015-02-23 19:14:25 +01:00
Sebastian Lackner
c1eea67020 Added patch to mark DllCanUnloadNow and DllGetClassObject as private (by Amine Khaldi, wine-patched/pull/3). 2015-02-23 18:35:31 +01:00
Sebastian Lackner
f11e82495a Disabled patchset for reg.exe cleanup (partially accepted upstream). 2015-02-23 18:32:33 +01:00
Sebastian Lackner
5261bd8a89 patchupdate.py: Introduce a new Apply-After definition file variable. 2015-02-23 18:12:32 +01:00
Sebastian Lackner
b7777f405b patchutils.py: Fix some spelling errors (thanks Amine Khaldi). 2015-02-22 20:03:51 +01:00
Sebastian Lackner
1b4d215dd7 Release 1.7.37. 2015-02-22 06:59:18 +01:00
Sebastian Lackner
6c276e039c dxva2-Video_Decoder: Fix an incorrect FIXME message. 2015-02-22 05:46:02 +01:00
Sebastian Lackner
f354e38ec0 dxva2-Video_Decoder: Update configure check to make sure that libva exports vaQuerySurfaceAttributes. 2015-02-22 05:14:20 +01:00
Michael MĂĽller
282bb25d73 Add libva as build dependency for debian package. 2015-02-22 04:09:14 +01:00
Michael MĂĽller
44ea94f633 Added patch for MPEG2/H264 DXVA2 video decoding through vaapi. 2015-02-22 04:08:15 +01:00
Sebastian Lackner
8f19269b34 Added patch for support of non-blocking SIO_ADDRESS_LIST_CHANGE requests. 2015-02-22 00:32:18 +01:00
Sebastian Lackner
3bfb699f09 Added patch to implement ntoskrnl.KeInitializeMutex. 2015-02-21 12:01:06 +01:00
Sebastian Lackner
591c89dcaa Added patch to add stub for ntoskrnl.Mm{Map,Unmap}LockedPages. 2015-02-21 11:55:16 +01:00
Sebastian Lackner
65895dcd33 Added patch to ignore unsupported alpha channels in TIFF decoder. 2015-02-21 11:25:55 +01:00
Sebastian Lackner
ea6d6ce494 Added patches to implement semi-stubs for GetFileVersionInfoSizeExA/W and GetFileVersionInfoExA/W. 2015-02-21 11:10:51 +01:00
Sebastian Lackner
d734456470 wined3d-DXTn: Do not require libtxc_dxtn at compile-time, always search at runtime for common library names. 2015-02-21 02:21:01 +01:00
Sebastian Lackner
eea70481fe Rebase against upstream changes. 2015-02-20 15:57:32 +01:00
Sebastian Lackner
ea9f209292 Rebase against upstream changes, remove patch for IDirectPlayVoiceClient::GetCompressionTypes (accepted upstream). 2015-02-20 01:56:07 +01:00
Sebastian Lackner
9717d3f69e Rebase against upstream changes. 2015-02-18 20:15:35 +01:00
Sebastian Lackner
1078096afe d3dx9_36-GetShaderSemantics: Rebase against upstream changes. 2015-02-16 18:14:05 +01:00
Sebastian Lackner
eab42cde10 Added patches to improve stubs for AEV_{Get,Set}MasterVolumeLevel and AEV_{Get,Set}Mute. 2015-02-15 14:53:01 +01:00
Sebastian Lackner
c3d4426edd Added patch to implement IApplicationAssociationRegistration::QueryCurrentDefault. 2015-02-14 04:47:25 +01:00
Sebastian Lackner
6a98a1f8aa Added patch to avoid accessing stack below ESP when restoring thread context. 2015-02-13 01:46:19 +01:00
Sebastian Lackner
9afb8c2b6d wined3d-CSMT_Main: Rebase against upstream changes. 2015-02-12 20:50:03 +01:00
Sebastian Lackner
dc04777d5a Added patch to add stub for ntoskrnl.ExDeleteResourceLite. 2015-02-12 08:52:01 +01:00
Sebastian Lackner
3f9cc193b7 Added patch to add stub for ntoskrnl.ExReleaseResourceForThread. 2015-02-12 08:45:21 +01:00
Sebastian Lackner
a40b3e341a Added patch to add stub for ntoskrnl.ExAcquireResourceExclusiveLite. 2015-02-12 08:27:14 +01:00
Sebastian Lackner
2000faae13 wined3d-CSMT_{Helper,Main}: Rebase against upstream changes. 2015-02-12 08:07:54 +01:00
Sebastian Lackner
28bd360291 ntdll-WRITECOPY: Adjust patch based on changes in ws2_32-WriteWatches. 2015-02-11 21:19:10 +01:00
Sebastian Lackner
3f60978f12 Added patch to implement basic handling of write watches while we're on the signal stack. 2015-02-11 13:37:53 +01:00
Sebastian Lackner
d8772033dd d3dx9_36-GetShaderSemantics: Fix issue in implementation of D3DXGetShaderInputSemantics. 2015-02-10 23:26:58 +01:00
Sebastian Lackner
65c1bc4fd2 ntdll-DVD_Read_Size: Avoid dereferencing NULL pointer / accessing structure when size is invalid. 2015-02-10 21:53:58 +01:00
Sebastian Lackner
16f0d70b79 Added patch to implement D3DXGetShaderOutputSemantics. 2015-02-10 21:16:32 +01:00
Sebastian Lackner
5188eda906 Removed patches for SIO_ADDRESS_LIST_CHANGE ioctl (accepted upstream). 2015-02-10 18:21:42 +01:00
Sebastian Lackner
1ffd40e9de Added patch to avoid race-conditions with write watches in WS2_async_accept. 2015-02-10 07:37:49 +01:00
Sebastian Lackner
e8d4cc0cb0 Avoid race-conditions in NtReadFile() operations with write watches. 2015-02-10 06:40:25 +01:00
Sebastian Lackner
c1ae413bcc ntdll-RtlUnwind: Update patchset and fix a second bug in the unwinding code.
Fixes https://bugs.wine-staging.com/show_bug.cgi?id=68.
2015-02-10 00:10:32 +01:00
Sebastian Lackner
d329354032 Removed patches for UTF7 support (accepted upstream). 2015-02-09 17:22:09 +01:00
Sebastian Lackner
e2cd273303 iphlpapi-TCP_Table: Fix an incorrect TRACE message. 2015-02-08 20:32:31 +01:00
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
255 changed files with 28383 additions and 6708 deletions

View File

@@ -38,92 +38,134 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugs fixed in Wine Staging 1.7.35 [146]:**
**Bugs fixed in Wine Staging 1.7.38 [190]:**
* 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 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 semi-stub for GetFileVersionInfoExA/W ([Wine Bug #38098](https://bugs.winehq.org/show_bug.cgi?id=38098))
* Add semi-stub for GetFileVersionInfoSizeExA/W ([Wine Bug #38090](https://bugs.winehq.org/show_bug.cgi?id=38090))
* 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 KeWaitForMultipleObjects
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
* Add stub for ntoskrnl.ExDeleteResourceLite
* Add stub for ntoskrnl.ExReleaseResourceForThread
* Add stub for ntoskrnl.KeWaitForMultipleObjects
* Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
* Add stubs for D3DXCreateAnimationController interface
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
* 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))
* Allow to cancel a file operation via progress callback ([Wine Bug #22690](https://bugs.winehq.org/show_bug.cgi?id=22690))
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
* 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 in NtReadFile() operations with write watches.
* Avoid race-conditions of async WSARecv() operations with write watches.
* Avoid race-conditions with write watches in WS2_async_accept.
* Avoid unloading msctf library while textservices are activated ([Wine Bug #31579](https://bugs.winehq.org/show_bug.cgi?id=31579))
* Avseq crashes when multisampling is enabled ([Wine Bug #31998](https://bugs.winehq.org/show_bug.cgi?id=31998))
* Basic handling of write watches triggered while we're on the signal stack.
* Basic support for CUDA
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE
* 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))
* EA Origin needs support for job objects ([Wine Bug #33723](https://bugs.winehq.org/show_bug.cgi?id=33723))
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
* Enforce that surfaces are flushed after ReleaseDC
* 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))
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
* Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
* Fallback to global key state for threads without a queue ([Wine Bug #27238](https://bugs.winehq.org/show_bug.cgi?id=27238))
* 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 black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
* 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 in clip_cursor_notify caused by uninitialized TLS ([Wine Bug #36915](https://bugs.winehq.org/show_bug.cgi?id=36915))
* 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 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 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 race-condition when threads are killed during shutdown
* 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 alpha channels in TIFF decoder ([Wine Bug #38027](https://bugs.winehq.org/show_bug.cgi?id=38027))
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
* Implement D3DXGetShaderOutputSemantics
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
* Implement IDXGIOutput::GetDesc
* Implement SetFileInformationByHandle
* 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 ntoskrnl.KeInitializeMutex
* 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))
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
* Improve stubs for AEV_{Get,Set}Mute
* Improvement for heap allocation performance
* Increase wineconsole commandline buffer size ([Wine Bug #34814](https://bugs.winehq.org/show_bug.cgi?id=34814))
* 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))
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
* 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))
* Process APC calls before starting process
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
* Properly track handle count of wineserver objects
* 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))
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
@@ -144,9 +186,10 @@ Included bug fixes and improvements
* 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))
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](https://bugs.winehq.org/show_bug.cgi?id=36073))
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
* Support for GetVolumePathName
* Support for H264 DXVA2 GPU video decoding through vaapi
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
* Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh ([Wine Bug #32572](https://bugs.winehq.org/show_bug.cgi?id=32572))
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
@@ -154,6 +197,8 @@ 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 MPEG2 DXVA2 GPU video decoding through vaapi
* 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))
@@ -162,17 +207,17 @@ Included bug fixes and improvements
* Support for SLGetWindowsInformationDWORD ([Wine Bug #36709](https://bugs.winehq.org/show_bug.cgi?id=36709))
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
* Support for UTF7 encoding/decoding ([Wine Bug #27388](https://bugs.winehq.org/show_bug.cgi?id=27388))
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
* Support for inherited file ACLs ([Wine Bug #34406](https://bugs.winehq.org/show_bug.cgi?id=34406))
* Support for interface change notifications ([Wine Bug #32328](https://bugs.winehq.org/show_bug.cgi?id=32328))
* Support for loader dll redirections
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
* Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests ([Wine Bug #38062](https://bugs.winehq.org/show_bug.cgi?id=38062))
* 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 shell32 file operation progress dialog
* 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))
@@ -185,5 +230,4 @@ Included bug fixes and improvements
* 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))

116
debian/changelog vendored
View File

@@ -1,3 +1,119 @@
wine-staging (1.7.38) unstable; urgency=low
* Various improvements to patchupdate.py.
* Various improvements to dxva2 vaapi support.
* Long overdue update to the TransmitFile patches.
* Disabled patchset for reg.exe cleanup (partially accepted upstream).
* Added patch to report the correct refresh rates for some NVIDIA cards.
* Added patch to mark DllCanUnloadNow and DllGetClassObject as private (by Amine Khaldi, wine-patched/pull/3).
* Added patch to skip Wine specific __wine_check_for_events calls in ReactOS (by Amine Khaldi, wine-patched/pull/4).
* Added patch to declare pDirectInputCreateEx in a MSVC compatible way (by Amine Khaldi, wine-patched/pull/5).
* Added patch to complete and properly pack DNS_HEADER structure (by Amine Khaldi, wine-patched/pull/6).
* Added patch to fix race-condition when threads are killed during shutdown.
* Added patch to avoid deadlock by using _exit() in NtTerminateProcess.
* Added patch to fallback to global key state for threads without a queue.
* Added patch to implement SetFileInformationByHandle.
* Added patch for CopyFileEx progress callback and cancellation support.
* Added first set of patches for job objects (by Andrew Cook).
* Added patch for stub of gdiplus.GdipCreateEffect.
* Added patches for ntoskrnl.ProbeFor{Read,Write}.
* Added patch for support of shell32 file operation progress dialog.
* Added patch for basic implementation of job objects.
* Added patch to display animations for SHFileOperation progress dialog.
* Added patch to enforce that surfaces are flushed after ReleaseDC.
* Added patch to implement IProgressDialog::SetAnimation.
* Added patch in order to allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
* Added patch for job object completion support.
* Added patch to properly track handle count of wineserver objects.
* Added patch to implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE.
* Added patch to implement PROGDLG_AUTOTIME for IProgressDialog.
* Added patch to implement support for NULL job handles in IsProcessInJob.
* Added patch to implement support for waiting on job object.
* Added patch to fix crash in clip_cursor_notify caused by uninitialized TLS.
* Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps).
* Added patch to make GetLogicalProcessorInformationEx a stub which returns TRUE.
* Added patches to fix race-condition when closing browseui IProcessDialog.
* Added patch to avoid unloading msctf library while textservices are activated.
* Added patch to correct DDSCAPS2 and DDSURFACEDESC2 structure (by Amine Khaldi, wine-patched/pull/7).
* Added patch to fix crash when trying to switch back to a 16-bit stack.
* Added patches to improve performance by reusing old async IO structure if possible.
* Added patch to increase wineconsole commandline buffer size.
* Added patch to replace hardcoded values with sizeof(GUID) for d3dxof.
* Added patch to implement cuModuleLoad wrapper function.
* Added patch to process APC calls before starting process.
* Removed patch to properly call DriverUnload when unloading device drivers (accepted upstream).
* Removed patch to allow Accept-Encoding for HTTP/1.0 in wininet (accepted upstream).
* Removed patch to declare pDirectInputCreateEx in a MSVC compatible way (accepted upstream).
* Removed patch to limit cross thread access to ImmSet* functions (accepted upstream).
* Removed patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats (accepted upstream).
* Removed patch to fix memory leak in ApplicationAssociationRegistration_QueryCurrentDefault (accepted upstream).
* Removed patch to complete and properly pack DNS_HEADER structure (accepted upstream).
* Removed patch to avoid accessing stack below ESP when restoring thread context (accepted upstream).
* Removed patch to fix mouse jittering in Planetside 2 (accepted upstream).
* Removed patch to handle write watches while we're on the signal stack (accepted upstream).
* Removed patch with tests for NtQueryLicenseKey (accepted upstream).
* Removed patch to fix crash when trying to switch back to a 16-bit stack (accepted upstream).
* Removed patch to fix definition of SECTION_BASIC_INFORMATION and SECTION_IMAGE_INFORMATION (accepted upstream).
* Removed patch to add library override instead of closing winecfg when pressing ENTER (accepted upstream).
* Removed patch to fix init of LONGLONG variable with a negative value in TGA decoder (accepted upstream).
* Removed patch to fix parameters for ConvertToIndexedBlendedMesh stub (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 07 Mar 2015 23:09:11 +0100
wine-staging (1.7.37) unstable; urgency=low
* Fix a TRACE line in the iphlpapi-TCP_Table patchset.
* Fix an issue in the d3dx9_36-GetShaderSemantics patchset.
* Update patchset for RtlUnwindEx on x86_64 and fix a second bug.
* Updated patch for DXTn support to avoid libtxc_dxtn as compile time dependency.
* Added patch to avoid race-conditions in NtReadFile() operations with write watches.
* Added patch to avoid race-conditions with write watches in WS2_async_accept.
* Added patch to implement D3DXGetShaderOutputSemantics.
* Added patch to implement basic handling of write watches while we're on the signal stack.
* Added patch to add stub for ntoskrnl.ExAcquireResourceExclusiveLite.
* Added patch to add stub for ntoskrnl.ExReleaseResourceForThread.
* Added patch to add stub for ntoskrnl.ExDeleteResourceLite.
* Added patch to avoid accessing stack below ESP when restoring thread context.
* Added patch to implement IApplicationAssociationRegistration::QueryCurrentDefault.
* Added patch to improve stubs for AEV_{Get,Set}MasterVolumeLevel.
* Added patch to improve stubs for AEV_{Get,Set}Mute.
* Added patch to implement semi-stub for GetFileVersionInfoSizeExA/W.
* Added patch to implement semi-stub for GetFileVersionInfoExA/W.
* Added patch to ignore unsupported alpha channels in TIFF decoder.
* Added patch to add stub for ntoskrnl.Mm{Map,Unmap}LockedPages.
* Added patch to implement ntoskrnl.KeInitializeMutex.
* Added patch for support of non-blocking SIO_ADDRESS_LIST_CHANGE requests.
* Added patch for MPEG2/H264 DXVA2 video decoding through vaapi.
* Removed patches for UTF7 support (accepted upstream).
* Removed patches for SIO_ADDRESS_LIST_CHANGE ioctl (accepted upstream).
* Removed patch for IApplicationAssociationRegistration::QueryCurrentDefault (accepted upstream).
* Removed patch for IDirectPlayVoiceClient::GetCompressionTypes (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 22 Feb 2015 06:58:09 +0100
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'.

5
debian/control vendored
View File

@@ -48,6 +48,7 @@ Build-Depends: autotools-dev,
libtiff5-dev | libtiff4-dev | libtiff-dev,
libtxc-dxtn-s2tc-dev,
libv4l-dev,
libva-dev,
libx11-dev,
libxcomposite-dev,
libxcursor-dev,
@@ -95,6 +96,8 @@ Recommends: libcapi20-3,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libva-drm1,
libva-x11-1,
libxcomposite1,
libxcursor1,
libxi6,
@@ -149,6 +152,8 @@ Recommends: libcapi20-3,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libva-drm1,
libva-x11-1,
libxcomposite1,
libxcursor1,
libxi6,

View File

@@ -53,6 +53,12 @@ abort()
exit 1
}}
# Show a warning
warning()
{{
echo "WARNING: $1" >&2
}}
{patch_helpers}
# Default settings
@@ -65,7 +71,7 @@ enable=1
# Find location of patches
patchdir="$(dirname "$(readlink -f "$0")")"
if ! test -f "$patchdir/patchinstall.sh"; then
if test ! -f "$patchdir/patchinstall.sh"; then
if test -f ./patchinstall.sh; then
patchdir="$(pwd)"
else
@@ -154,7 +160,7 @@ fi
# 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 "$DESTDIR/.git" && (cd "$DESTDIR"; git rev-parse --git-dir) &> /dev/null
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'
@@ -183,9 +189,10 @@ elif test "$backend" = "epatch"; then
gitapply_args=""
fi
if ! command -v epatch &> /dev/null || \
! command -v ebegin &> /dev/null || \
! command -v eend &> /dev/null; then
if ! command -v epatch >/dev/null 2>&1 || \
! command -v ebegin >/dev/null 2>&1 || \
! command -v eend >/dev/null 2>&1 || \
! command -v die >/dev/null 2>&1; then
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
fi
@@ -269,9 +276,14 @@ patch_apply ()
# If autoupdate is enabled then create a tempfile to keep track of all patches
if test "$enable_patchlist" -eq 1; then
patchlist=$(mktemp)
if test ! -f "$patchlist"; then
abort "Unable to create temporary file for patchlist."
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
@@ -283,29 +295,18 @@ 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=$(echo "$patch_data" | wc -l)
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;
}}
@@ -321,39 +322,14 @@ ${{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_file "$patchlist"
fi

View File

@@ -21,6 +21,8 @@
import binascii
import cPickle as pickle
import contextlib
import fnmatch
import hashlib
import itertools
import math
@@ -35,6 +37,8 @@ import subprocess
import sys
import tempfile
import textwrap
import urllib
import xml.dom.minidom
_devnull = open(os.devnull, 'wb')
@@ -73,6 +77,7 @@ class PatchSet(object):
self.patches = []
self.modified_files = set()
self.depends = set()
self.auto_depends = set()
self.verify_time = None
@@ -133,6 +138,34 @@ def _parse_int(val, default=0):
except AttributeError:
return default
def _winebugs_query(bugids):
"""Query short_desc from multiple wine bugzilla bugs at the same time."""
bugids = list(set(bugids)) # Remove duplicates and convert to fixed order
if len(bugids) == 0: return {}
# Query bugzilla
url = "http://bugs.winehq.org/show_bug.cgi?%s&ctype=xml&field=short_desc&field=bug_status&field=resolution" % \
"&".join(["id=%d" % bugid for bugid in bugids])
with contextlib.closing(urllib.urlopen(url)) as fp:
data = xml.dom.minidom.parseString(fp.read())
# convert xml in a dictionary containing all bugs we found
result = {}
for element in data.getElementsByTagName('bug_id'):
bugids.remove(int(element.firstChild.data))
def _get_text(n):
return n.firstChild.data if (n and n.firstChild) else None
for bugid, element in zip(bugids, data.getElementsByTagName('bug')):
if element.getElementsByTagName('bug_id'): continue
result[bugid] = {
'short_desc': _get_text(element.getElementsByTagName('short_desc')[0]),
'bug_status': _get_text(element.getElementsByTagName('bug_status')[0]),
'resolution': _get_text(element.getElementsByTagName('resolution')[0]) }
return result
def _read_changelog():
"""Read information from changelog."""
with open(config.path_changelog) as fp:
@@ -188,65 +221,12 @@ def enum_directories(revision, path):
return dirs
def read_definition(revision, filename, name_to_id):
"""Read a definition file and return information as tuple (depends, fixes)."""
filename = os.path.join(filename, "definition")
if revision is None:
with open(filename) as fp:
content = fp.read()
else:
filename = "%s:%s" % (revision, filename)
try:
content = subprocess.check_output(["git", "show", filename], stderr=_devnull)
except subprocess.CalledProcessError:
raise IOError("Failed to load %s" % filename)
depends = set()
fixes = []
disabled = False
ifdefined = None
for line in content.split("\n"):
if line.startswith("#"):
continue
tmp = line.split(":", 1)
if len(tmp) != 2:
continue
key, val = tmp[0].lower(), tmp[1].strip()
if key == "depends":
if name_to_id is not None:
if not name_to_id.has_key(val):
raise PatchUpdaterError("Definition file %s references unknown dependency %s" % (filename, val))
depends.add(name_to_id[val])
elif key == "fixes":
r = re.match("^[0-9]+$", val)
if r:
fixes.append((int(val), None))
continue
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
if r:
fixes.append((int(r.group(1)), r.group(2).strip()))
continue
fixes.append((None, val))
elif key == "disabled":
disabled = _parse_int(val)
elif key == "ifdefined":
ifdefined = val
elif revision is None:
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
return depends, fixes, disabled, ifdefined
def read_patchset(revision = None):
"""Read information about all patchsets for a specific revision."""
unique_id = itertools.count()
all_patches = {}
name_to_id = {}
all_bugids = set()
# Read in sorted order (to ensure created Makefile doesn't change too much)
for name, directory in sorted(enum_directories(revision, config.path_patches)):
@@ -283,10 +263,72 @@ def read_patchset(revision = None):
# Now read the definition files in a second step
for i, patch in all_patches.iteritems():
try:
patch.depends, patch.fixes, patch.disabled, patch.ifdefined = \
read_definition(revision, os.path.join(config.path_patches, patch.name), name_to_id)
except IOError:
patch.depends, patch.fixes, patch.disabled, patch.ifdefined = set(), [], False, None
filename = os.path.join(os.path.join(config.path_patches, patch.name), "definition")
if revision is None:
with open(filename) as fp:
content = fp.read()
else:
filename = "%s:%s" % (revision, filename)
content = subprocess.check_output(["git", "show", filename], stderr=_devnull)
except (IOError, subprocess.CalledProcessError):
continue # Skip this definition file
for line in content.split("\n"):
if line.startswith("#"):
continue
tmp = line.split(":", 1)
if len(tmp) != 2:
continue
key, val = tmp[0].lower(), tmp[1].strip()
if key == "depends":
if not name_to_id.has_key(val):
raise PatchUpdaterError("Definition file %s references unknown dependency %s" % (filename, val))
patch.depends.add(name_to_id[val])
elif key == "apply-after":
for j, other_patch in all_patches.iteritems():
if i != j and any([fnmatch.fnmatch(f, val) for f in other_patch.modified_files]):
patch.auto_depends.add(j)
elif key == "fixes":
r = re.match("^[0-9]+$", val)
if r:
bugid = int(val)
patch.fixes.append((bugid, None))
all_bugids.add(bugid)
continue
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
if r:
bugid = int(r.group(1))
patch.fixes.append((bugid, r.group(2).strip()))
all_bugids.add(bugid)
continue
patch.fixes.append((None, val))
elif key == "disabled":
patch.disabled = _parse_int(val)
elif key == "ifdefined":
patch.ifdefined = val
elif revision is None:
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
# To simplify the task of keeping the bug list up-to-date, list all bugs
# which might require attention.
if revision is None:
once = True
for bugid, bug in sorted(_winebugs_query(all_bugids).items()):
if bug['bug_status'] not in ["UNCONFIRMED", "NEW", "REOPENED"]:
if once:
print ""
print "WARNING: The following bugs might require attention:"
print ""
once = False
print " #%d - \"%s\" - %s %s" % (bugid, bug['short_desc'], bug['bug_status'],
bug['resolution'] if bug['resolution'] else "")
print ""
return all_patches
@@ -375,6 +417,7 @@ def resolve_dependencies(all_patches, index = None, depends = None):
# Recusively resolve dependencies
all_patches[i].verify_resolved = -1
_resolve(all_patches[i].depends)
_resolve(all_patches[i].auto_depends)
all_patches[i].verify_resolved = 1
resolved.append(i)
@@ -458,46 +501,59 @@ def generate_script(all_patches):
modified_files[f].append(i)
# Check dependencies
for filename, indices in modified_files.iteritems():
pool = multiprocessing.pool.ThreadPool(processes=4)
try:
for filename, indices in modified_files.iteritems():
# If one of patches is a binary patch, then we cannot / won't verify it - require dependencies in this case
if contains_binary_patch(all_patches, indices, filename):
if not causal_time_relation_any(all_patches, indices):
raise PatchUpdaterError("Because of binary patch modifying file %s the following patches need explicit dependencies: %s" %
(filename, ", ".join([all_patches[i].name for i in indices])))
continue
# If one of patches is a binary patch, then we cannot / won't verify it - require dependencies in this case
if contains_binary_patch(all_patches, indices, filename):
if not causal_time_relation_any(all_patches, indices):
raise PatchUpdaterError("Because of binary patch modifying file %s the following patches need explicit dependencies: %s" %
(filename, ", ".join([all_patches[i].name for i in indices])))
continue
original_content = get_wine_file(filename)
selected_patches = select_patches(all_patches, indices, filename)
original_content = get_wine_file(filename)
selected_patches = select_patches(all_patches, indices, filename)
# Show a progress bar while applying the patches - this task might take some time
with progressbar.ProgressBar(desc=filename, total=2 ** len(indices)) as progress:
for k, bitstring in enumerate(itertools.product([0,1], repeat=len(indices))):
progress.update(k)
# Show a progress bar while applying the patches - this task might take some time
chunk_size = 20
with progressbar.ProgressBar(desc=filename, total=2 ** len(indices) / chunk_size) as progress:
set_apply = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if u]
set_skip = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if not u]
test_apply = True
def test_apply(bitstring):
set_apply = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if u]
set_skip = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if not u]
# Check if there is any patch2 which depends directly or indirectly on patch1.
# If this is the case we found an impossible situation, we can be skipped in this test.
for i, patch1 in set_apply:
for j, patch2 in set_skip:
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
test_apply = False
break
if not test_apply:
break
# Check if there is any patch2 which depends directly or indirectly on patch1.
# If this is the case we found an impossible situation, we can be skipped in this test.
for i, patch1 in set_apply:
for j, patch2 in set_skip:
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
return True # we can skip this test
if test_apply:
try:
original = original_content
for i, patch in set_apply:
original = patchutils.apply_patch(original, selected_patches[i][1], fuzz=0)
except patchutils.PatchApplyError:
return False
return True # everything is fine
def test_apply_seq(bitstrings):
for bitstring in bitstrings:
if not test_apply(bitstring):
return False
return True
it = _split_seq(itertools.product([0,1], repeat=len(indices)), chunk_size)
for k, res in enumerate(pool.imap_unordered(test_apply_seq, it)):
if not res:
progress.finish("<failed to apply>")
raise PatchUpdaterError("Changes to file %s don't apply: %s" %
(filename, ", ".join([all_patches[i].name for i in indices])))
progress.update(k)
finally:
pool.close()
# Generate code for helper functions
lines = []
@@ -505,7 +561,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")
@@ -589,7 +645,7 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
return "* %s ([Wine Bug #%d](https://bugs.winehq.org/show_bug.cgi?id=%d))" % \
(bugname, bugid, bugid) #, short_desc.replace("\\", "\\\\").replace("\"", "\\\""))
all_fixes = {}
all_fixes = {}
# Get fixes for current version
for _, patch in all_patches.iteritems():

View File

@@ -375,7 +375,7 @@ def generate_ifdef_patch(original, patched, ifdef):
"""Generate a patch which adds #ifdef where necessary to keep both the original and patched version."""
def _preprocess_source(fp):
"""Simple C preprocessor to determine where we can savely add #ifdef instructions."""
"""Simple C preprocessor to determine where we can safely add #ifdef instructions."""
_re_state0 = re.compile("(\"|/[/*])")
_re_state1 = re.compile("(\\\"|\")")
@@ -418,7 +418,7 @@ def generate_ifdef_patch(original, patched, ifdef):
elif match.group(0) == "/*":
state = 2 # Begin of comment
elif match.group(0) == "//":
break # Rest of the line is a comment, which can be savely ignored
break # Rest of the line is a comment, which can be safely ignored
else:
assert 0
@@ -460,7 +460,7 @@ def generate_ifdef_patch(original, patched, ifdef):
# The basic of idea of this algorithm is as following:
#
# (1) determine diff between original file and patched file
# (2) run the preprocessor, to determine where #ifdefs can be savely added
# (2) run the preprocessor, to determine where #ifdefs can be safely added
# (3) use diff and preprocessor information to create a merged version containing #ifdefs
# (4) create another diff to apply the changes on the patched version
#

View File

@@ -1,4 +1,4 @@
From 8c7754a1da9f43cf15057a8467c0b76c9da2ce40 Mon Sep 17 00:00:00 2001
From 5a4827d5c16aefd82029583710b9032a2356917b Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 22 Nov 2014 05:49:30 +0100
Subject: ntdll: Fix issues with write watches when using Exagear.
@@ -8,10 +8,10 @@ Subject: ntdll: Fix issues with write watches when using Exagear.
1 file changed, 21 insertions(+)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 1a8e4a4..4140323 100644
index f7aae0b..3fa2027 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1558,6 +1558,26 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
@@ -1558,6 +1558,26 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
{
void *page = ROUND_ADDR( addr, page_mask );
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
@@ -38,14 +38,14 @@ index 1a8e4a4..4140323 100644
if (err & EXCEPTION_WRITE_FAULT)
{
if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
@@ -1573,6 +1593,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
@@ -1573,6 +1593,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
/* ignore fault if page is writable now */
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
}
+#endif
if (*vprot & VPROT_GUARD)
if (!on_signal_stack && (*vprot & VPROT_GUARD))
{
VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
--
2.1.3
2.2.2

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

@@ -0,0 +1,53 @@
From fe4f06bfdb1a53e0be15aca8f1f8f897f7fef632 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 27 Feb 2015 17:46:11 +0100
Subject: browseui: Implement IProgressDialog::SetAnimation.
---
dlls/browseui/progressdlg.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/dlls/browseui/progressdlg.c b/dlls/browseui/progressdlg.c
index 598197b..a14fa17 100644
--- a/dlls/browseui/progressdlg.c
+++ b/dlls/browseui/progressdlg.c
@@ -175,6 +175,7 @@ static INT_PTR CALLBACK dialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM l
case WM_INITDIALOG:
{
struct create_params *params = (struct create_params *)lParam;
+ LONG_PTR style;
/* Note: until we set the hEvent, the object is protected by
* the critical section held by StartProgress */
@@ -191,6 +192,10 @@ static INT_PTR CALLBACK dialog_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM l
if (This->dwFlags & PROGDLG_NOMINIMIZE)
SetWindowLongW(hwnd, GWL_STYLE, GetWindowLongW(hwnd, GWL_STYLE) & (~WS_MINIMIZEBOX));
+ style = GetWindowLongPtrW(GetDlgItem(hwnd, IDC_ANIMATION), GWL_STYLE);
+ style |= ACS_AUTOPLAY | ACS_TRANSPARENT;
+ SetWindowLongPtrW(GetDlgItem(hwnd, IDC_ANIMATION), GWL_STYLE, style);
+
update_dialog(This, 0xffffffff);
This->dwUpdate = 0;
This->isCancelled = FALSE;
@@ -396,7 +401,16 @@ static HRESULT WINAPI ProgressDialog_SetTitle(IProgressDialog *iface, LPCWSTR pw
static HRESULT WINAPI ProgressDialog_SetAnimation(IProgressDialog *iface, HINSTANCE hInstance, UINT uiResourceId)
{
- FIXME("(%p, %p, %d) - stub\n", iface, hInstance, uiResourceId);
+ ProgressDialog *This = impl_from_IProgressDialog(iface);
+
+ TRACE("(%p, %p, %d)\n", iface, hInstance, uiResourceId);
+
+ if (uiResourceId & ~0xFFFF)
+ return S_OK;
+
+ if (!SendDlgItemMessageW(This->hwnd, IDC_ANIMATION, ACM_OPENW, (WPARAM)hInstance, uiResourceId))
+ WARN("Failed to load animation\n");
+
return S_OK;
}
--
2.3.0

View File

@@ -0,0 +1,161 @@
From 61fce27e29e7e61b76916d0e1014a3294217fb54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 28 Feb 2015 02:28:08 +0100
Subject: browseui: Implement PROGDLG_AUTOTIME flag for IProgressDialog.
---
dlls/browseui/browseui.rc | 5 ++++
dlls/browseui/progressdlg.c | 64 +++++++++++++++++++++++++++++++++++++++++----
dlls/browseui/resids.h | 5 ++++
3 files changed, 69 insertions(+), 5 deletions(-)
diff --git a/dlls/browseui/browseui.rc b/dlls/browseui/browseui.rc
index 833b139..64b859d 100644
--- a/dlls/browseui/browseui.rc
+++ b/dlls/browseui/browseui.rc
@@ -25,6 +25,11 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
{
IDS_CANCELLING "Canceling..."
+ IDS_REMAINING1 "%u %s remaining"
+ IDS_REMAINING2 "%u %s and %u %s remaining"
+ IDS_SECONDS "seconds"
+ IDS_MINUTES "minutes"
+ IDS_HOURS "hours"
}
IDD_PROGRESS_DLG DIALOG 0, 0, 260, 85
diff --git a/dlls/browseui/progressdlg.c b/dlls/browseui/progressdlg.c
index 598197b..d632860 100644
--- a/dlls/browseui/progressdlg.c
+++ b/dlls/browseui/progressdlg.c
@@ -73,6 +73,9 @@ typedef struct tagProgressDialog {
ULONGLONG ullCompleted;
ULONGLONG ullTotal;
HWND hwndDisabledParent; /* For modal dialog: the parent that need to be re-enabled when the dialog ends */
+ ULONGLONG startTime;
+ LPWSTR remainingMsg[2];
+ LPWSTR timeMsg[3];
} ProgressDialog;
static inline ProgressDialog *impl_from_IProgressDialog(IProgressDialog *iface)
@@ -257,14 +260,18 @@ static DWORD WINAPI dialog_thread(LPVOID lpParameter)
static void ProgressDialog_Destructor(ProgressDialog *This)
{
+ int i;
TRACE("destroying %p\n", This);
if (This->hwnd)
end_dialog(This);
- heap_free(This->lines[0]);
- heap_free(This->lines[1]);
- heap_free(This->lines[2]);
+ for (i = 0; i < 3; i++)
+ heap_free(This->lines[i]);
heap_free(This->cancelMsg);
heap_free(This->title);
+ for (i = 0; i < 2; i++)
+ heap_free(This->remainingMsg[i]);
+ for (i = 0; i < 3; i++)
+ heap_free(This->timeMsg[i]);
This->cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&This->cs);
heap_free(This);
@@ -326,8 +333,6 @@ static HRESULT WINAPI ProgressDialog_StartProgressDialog(IProgressDialog *iface,
TRACE("(%p, %p, %x, %p)\n", iface, punkEnableModeless, dwFlags, reserved);
if (punkEnableModeless || reserved)
FIXME("Reserved parameters not null (%p, %p)\n", punkEnableModeless, reserved);
- if (dwFlags & PROGDLG_AUTOTIME)
- FIXME("Flags PROGDLG_AUTOTIME not supported\n");
if (dwFlags & PROGDLG_NOTIME)
FIXME("Flags PROGDLG_NOTIME not supported\n");
@@ -358,6 +363,7 @@ static HRESULT WINAPI ProgressDialog_StartProgressDialog(IProgressDialog *iface,
This->hwndDisabledParent = hwndDisable;
}
+ This->startTime = GetTickCount64();
LeaveCriticalSection(&This->cs);
return S_OK;
@@ -406,6 +412,52 @@ static BOOL WINAPI ProgressDialog_HasUserCancelled(IProgressDialog *iface)
return This->isCancelled;
}
+static void load_time_strings(ProgressDialog *This)
+{
+ int i;
+
+ for (i = 0; i < 2; i++)
+ {
+ if (!This->remainingMsg[i])
+ This->remainingMsg[i] = load_string(BROWSEUI_hinstance, IDS_REMAINING1 + i);
+ }
+ for (i = 0; i < 3; i++)
+ {
+ if (!This->timeMsg[i])
+ This->timeMsg[i] = load_string(BROWSEUI_hinstance, IDS_SECONDS + i);
+ }
+}
+
+static void update_time_remaining(ProgressDialog *This, ULONGLONG ullCompleted, ULONGLONG ullTotal)
+{
+ unsigned int remaining, remainder = 0;
+ ULONGLONG elapsed;
+ WCHAR line[128];
+ int i;
+
+ if (!This->startTime || !ullCompleted || !ullTotal)
+ return;
+
+ load_time_strings(This);
+
+ elapsed = GetTickCount64() - This->startTime;
+ remaining = (elapsed * ullTotal / ullCompleted - elapsed) / 1000;
+
+ for (i = 0; remaining >= 60 && i < 2; i++)
+ {
+ remainder = remaining % 60;
+ remaining /= 60;
+ }
+
+ if (i > 0 && remaining < 2 && remainder != 0)
+ wsprintfW(line, This->remainingMsg[1], remaining, This->timeMsg[i], remainder, This->timeMsg[i-1]);
+ else
+ wsprintfW(line, This->remainingMsg[0], remaining, This->timeMsg[i]);
+
+ set_buffer(&This->lines[2], line);
+ This->dwUpdate |= UPDATE_LINE3;
+}
+
static HRESULT WINAPI ProgressDialog_SetProgress64(IProgressDialog *iface, ULONGLONG ullCompleted, ULONGLONG ullTotal)
{
ProgressDialog *This = impl_from_IProgressDialog(iface);
@@ -418,6 +470,8 @@ static HRESULT WINAPI ProgressDialog_SetProgress64(IProgressDialog *iface, ULONG
This->ullCompleted = ullCompleted;
This->dwUpdate |= UPDATE_PROGRESS;
hwnd = This->hwnd;
+ if (This->dwFlags & PROGDLG_AUTOTIME)
+ update_time_remaining(This, ullCompleted, ullTotal);
LeaveCriticalSection(&This->cs);
if (hwnd)
diff --git a/dlls/browseui/resids.h b/dlls/browseui/resids.h
index cd44a8e..865cdd1 100644
--- a/dlls/browseui/resids.h
+++ b/dlls/browseui/resids.h
@@ -21,6 +21,11 @@
#include "commctrl.h"
#define IDS_CANCELLING 16
+#define IDS_REMAINING1 17
+#define IDS_REMAINING2 18
+#define IDS_SECONDS 19
+#define IDS_MINUTES 20
+#define IDS_HOURS 21
#define IDC_ANIMATION 100
#define IDC_PROGRESS_BAR 102
--
2.3.0

View File

@@ -0,0 +1,48 @@
From da4415d947b792fc5e0de978cf22e68d2b6b8601 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 1 Mar 2015 03:52:06 +0100
Subject: browseui: Avoid race-conditions when progress dialog is released
before thread terminates.
---
dlls/browseui/progressdlg.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlls/browseui/progressdlg.c b/dlls/browseui/progressdlg.c
index e61a4cc..7d07ee9 100644
--- a/dlls/browseui/progressdlg.c
+++ b/dlls/browseui/progressdlg.c
@@ -235,6 +235,7 @@ static DWORD WINAPI dialog_thread(LPVOID lpParameter)
/* Note: until we set the hEvent in WM_INITDIALOG, the ProgressDialog object
* is protected by the critical section held by StartProgress */
struct create_params *params = lpParameter;
+ ProgressDialog *This = params->This;
HWND hwnd;
MSG msg;
@@ -252,6 +253,7 @@ static DWORD WINAPI dialog_thread(LPVOID lpParameter)
}
}
+ IProgressDialog_Release(&This->IProgressDialog_iface);
return 0;
}
@@ -341,10 +343,14 @@ static HRESULT WINAPI ProgressDialog_StartProgressDialog(IProgressDialog *iface,
return S_OK; /* as on XP */
}
This->dwFlags = dwFlags;
+
params.This = This;
params.hwndParent = hwndParent;
params.hEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
+ /* thread holds one reference to ensure clean shutdown */
+ IProgressDialog_AddRef(&This->IProgressDialog_iface);
+
hThread = CreateThread(NULL, 0, dialog_thread, &params, 0, NULL);
WaitForSingleObject(params.hEvent, INFINITE);
CloseHandle(params.hEvent);
--
2.3.0

View File

@@ -0,0 +1,25 @@
From c8dd8ae321e08d94954fe011de653cc333d0cbbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 28 Feb 2015 21:24:54 +0100
Subject: d3d8: Make IDirect3DSwapChain8::Present hotpachable.
---
dlls/d3d8/swapchain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/d3d8/swapchain.c b/dlls/d3d8/swapchain.c
index 067a3e0..44fc02a 100644
--- a/dlls/d3d8/swapchain.c
+++ b/dlls/d3d8/swapchain.c
@@ -86,7 +86,7 @@ static ULONG WINAPI d3d8_swapchain_Release(IDirect3DSwapChain8 *iface)
return ref;
}
-static HRESULT WINAPI d3d8_swapchain_Present(IDirect3DSwapChain8 *iface,
+static HRESULT WINAPI DECLSPEC_HOTPATCH d3d8_swapchain_Present(IDirect3DSwapChain8 *iface,
const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
const RGNDATA *dirty_region)
{
--
2.3.0

View File

@@ -0,0 +1,24 @@
From 348d1eafe2d80017509ebfb79832a7465fd1693b Mon Sep 17 00:00:00 2001
From: Amine Khaldi <amine.khaldi@reactos.org>
Date: Sun, 22 Feb 2015 22:39:25 +0100
Subject: d3drm: Mark DllCanUnloadNow and DllGetClassObject as private.
---
dlls/d3drm/d3drm.spec | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/d3drm/d3drm.spec b/dlls/d3drm/d3drm.spec
index 4108a72..e83fb0b 100644
--- a/dlls/d3drm/d3drm.spec
+++ b/dlls/d3drm/d3drm.spec
@@ -19,5 +19,5 @@
@ stdcall D3DRMVectorScale(ptr ptr float)
@ stdcall D3DRMVectorSubtract(ptr ptr ptr)
@ stdcall Direct3DRMCreate(ptr)
-@ stub DllCanUnloadNow
-@ stub DllGetClassObject
+@ stub -private DllCanUnloadNow
+@ stub -private DllGetClassObject
--
2.3.0

View File

@@ -1,52 +0,0 @@
From 36b08cffe8ab417c878ac0c10251b261bace58cd Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Wed, 31 Dec 2014 10:42:01 +0100
Subject: d3dx9_36: Fix d3dx9_skin_info_ConvertToIndexedBlendedMesh stub.
---
dlls/d3dx9_36/skin.c | 6 +++---
include/d3dx9mesh.h | 7 ++++---
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/d3dx9_36/skin.c b/dlls/d3dx9_36/skin.c
index aa5acf2..9b93af6 100644
--- a/dlls/d3dx9_36/skin.c
+++ b/dlls/d3dx9_36/skin.c
@@ -395,13 +395,13 @@ static HRESULT WINAPI d3dx9_skin_info_ConvertToBlendedMesh(ID3DXSkinInfo *iface,
}
static HRESULT WINAPI d3dx9_skin_info_ConvertToIndexedBlendedMesh(ID3DXSkinInfo *iface, ID3DXMesh *mesh_in,
- DWORD options, const DWORD *adjacency_in, DWORD *adjacency_out, DWORD *face_remap,
+ DWORD options, DWORD palette_size, const DWORD *adjacency_in, DWORD *adjacency_out, DWORD *face_remap,
ID3DXBuffer **vertex_remap, DWORD *max_face_infl, DWORD *num_bone_combinations,
ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out)
{
- FIXME("iface %p, mesh_in %p, options %#x, adjacency_in %p, adjacency_out %p, face_remap %p, vertex_remap %p, "
+ FIXME("iface %p, mesh_in %p, options %#x, palette_size %u, adjacency_in %p, adjacency_out %p, face_remap %p, vertex_remap %p, "
"max_face_infl %p, num_bone_combinations %p, bone_combination_table %p, mesh_out %p stub!\n",
- iface, mesh_in, options, adjacency_in, adjacency_out, face_remap, vertex_remap,
+ iface, mesh_in, options, palette_size, adjacency_in, adjacency_out, face_remap, vertex_remap,
max_face_infl, num_bone_combinations, bone_combination_table, mesh_out);
return E_NOTIMPL;
diff --git a/include/d3dx9mesh.h b/include/d3dx9mesh.h
index 1dcc244..8777749 100644
--- a/include/d3dx9mesh.h
+++ b/include/d3dx9mesh.h
@@ -544,9 +544,10 @@ DECLARE_INTERFACE_(ID3DXSkinInfo, IUnknown)
STDMETHOD(ConvertToBlendedMesh)(THIS_ ID3DXMesh *mesh_in, DWORD options, const DWORD *adjacency_in,
DWORD *adjacency_out, DWORD *face_remap, ID3DXBuffer **vertex_remap, DWORD *max_face_infl,
DWORD *num_bone_combinations, ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out) PURE;
- STDMETHOD(ConvertToIndexedBlendedMesh)(THIS_ ID3DXMesh *mesh_in, DWORD options, const DWORD *adjacency_in,
- DWORD *adjacency_out, DWORD *face_remap, ID3DXBuffer **vertex_remap, DWORD *max_face_infl,
- DWORD *num_bone_combinations, ID3DXBuffer **bone_combination_table, ID3DXMesh **mesh_out) PURE;
+ STDMETHOD(ConvertToIndexedBlendedMesh)(THIS_ ID3DXMesh *mesh_in, DWORD options, DWORD palette_size,
+ const DWORD *adjacency_in, DWORD *adjacency_out, DWORD *face_remap, ID3DXBuffer **vertex_remap,
+ DWORD *max_face_infl, DWORD *num_bone_combinations, ID3DXBuffer **bone_combination_table,
+ ID3DXMesh **mesh_out) PURE;
};
#undef INTERFACE
--
2.2.1

View File

@@ -1 +0,0 @@
Fixes: [36449] Fix parameters for ConvertToIndexedBlendedMesh stub

View File

@@ -1,18 +1,18 @@
From 8bead9c1fd37eff6e1f0612faf0fc7fb93e899f3 Mon Sep 17 00:00:00 2001
From b514784351ed8c2bc33cb0238ab81b4eedf29308 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 5 Apr 2014 14:02:07 +0200
Subject: d3dx9_36: Implement D3DXGetShaderInputSemantics + tests.
Subject: d3dx9_36: Implement D3DXGetShaderInputSemantics + tests. (rev 2)
Fixes bug 22682.
---
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/shader.c | 94 ++++++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/tests/shader.c | 86 ++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/shader.c | 95 ++++++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/tests/shader.c | 86 +++++++++++++++++++++++++++++++++++++++
include/d3dx9shader.h | 1 +
4 files changed, 182 insertions(+), 1 deletion(-)
4 files changed, 183 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 4c72dc2..e4890ee 100644
index 15d693c..9b55d21 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -159,7 +159,7 @@
@@ -25,7 +25,7 @@ index 4c72dc2..e4890ee 100644
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index 5ea3d13..63852d0 100644
index c66936d..62aaa5b 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -1,6 +1,7 @@
@@ -36,9 +36,9 @@ index 5ea3d13..63852d0 100644
* Copyright 2011 Travis Athougies
*
* This library is free software; you can redistribute it and/or
@@ -2126,3 +2127,96 @@ HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **sample
return D3D_OK;
@@ -2132,3 +2133,97 @@ HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const
FIXME("%p %d %s %p: stub\n", shader, colorcode, debugstr_a(comments), disassembly);
return E_OUTOFMEMORY;
}
+
+const DWORD* skip_instruction(const DWORD *byte_code, UINT shader_model)
@@ -73,7 +73,8 @@ index 5ea3d13..63852d0 100644
+ UINT shader_model = (*ptr >> 8) & 0xff;
+ UINT i = 0;
+
+ TRACE("Shader version: %#x\n", *ptr++);
+ TRACE("Shader version: %#x\n", *ptr);
+ ptr++;
+
+ while (*ptr != D3DSIO_END)
+ {
@@ -261,5 +262,5 @@ index d665f72..f565432 100644
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
--
2.1.2
2.3.0

View File

@@ -0,0 +1,82 @@
From a3f87586958bbc1c1bb2df30b7605705254f7655 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Tue, 10 Feb 2015 00:45:05 +0100
Subject: d3dx9_36: Implement D3DXGetShaderOutputSemantics.
---
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/shader.c | 27 +++++++++++++++++++++------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 1fb2aaf..13b1684 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index 63852d0..c3f02d2 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -2166,7 +2166,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
{
if (*ptr & (1 << 31))
{
- FIXME("Opcode expected\n");
+ FIXME("Opcode expected but got %#x\n", *ptr);
return 0;
}
else if ((*ptr & D3DSI_OPCODE_MASK) == D3DSIO_DCL)
@@ -2180,7 +2180,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
TRACE("D3DSIO_DCL param1: %#x, param2: %#x, usage: %u, usage_index: %u, reg_type: %u\n",
param1, param2, usage, usage_index, reg_type);
- if (input && (reg_type == D3DSPR_INPUT))
+ if ((input && (reg_type == D3DSPR_INPUT)) || (!input && (reg_type == D3DSPR_OUTPUT)))
{
if (semantics)
{
@@ -2189,10 +2189,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
}
i++;
}
- else
- {
- /* FIXME: Support for output semantics */
- }
+
ptr++;
}
else
@@ -2220,3 +2217,21 @@ HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC
return D3D_OK;
}
+
+
+HRESULT WINAPI D3DXGetShaderOutputSemantics(const DWORD *byte_code, D3DXSEMANTIC *semantics, UINT *count)
+{
+ UINT nb_semantics;
+
+ TRACE("byte_code %p, semantics %p, count %p\n", byte_code, semantics, count);
+
+ if (!byte_code)
+ return D3DERR_INVALIDCALL;
+
+ nb_semantics = get_shader_semantics(byte_code, semantics, FALSE);
+
+ if (count)
+ *count = nb_semantics;
+
+ return D3D_OK;
+}
--
2.2.2

View File

@@ -1 +1,2 @@
Fixes: [22682] Support for D3DXGetShaderInputSemantics
Fixes: Implement D3DXGetShaderOutputSemantics

View File

@@ -0,0 +1,44 @@
From d18752b72603e91c7bbbbfa623c83f3d13112ca1 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Mon, 22 Oct 2012 21:00:52 +0200
Subject: d3dxof: Use straight assignement instead of using memcpy with
hardcoded size.
---
dlls/d3dxof/d3dxof.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c
index 88647cf..8888d8b 100644
--- a/dlls/d3dxof/d3dxof.c
+++ b/dlls/d3dxof/d3dxof.c
@@ -619,7 +619,7 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetId(IDirectXFileData* iface, LPGUID
if (!pGuid)
return DXFILEERR_BADVALUE;
- memcpy(pGuid, &This->pobj->class_id, 16);
+ *pGuid = This->pobj->class_id;
return DXFILE_OK;
}
@@ -667,7 +667,7 @@ static HRESULT WINAPI IDirectXFileDataImpl_GetType(IDirectXFileData* iface, cons
if (!pguid)
return DXFILEERR_BADVALUE;
- memcpy(&guid, &This->pobj->type, 16);
+ guid = This->pobj->type;
*pguid = &guid;
return DXFILE_OK;
@@ -886,7 +886,7 @@ static HRESULT WINAPI IDirectXFileDataReferenceImpl_GetId(IDirectXFileDataRefere
if (!pGuid)
return DXFILEERR_BADVALUE;
- memcpy(pGuid, &This->ptarget->class_id, 16);
+ *pGuid = This->ptarget->class_id;
return DXFILE_OK;
}
--
2.3.0

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