The Wine development release 5.4 is now available.
What's new in this release (see below for details): - Unicode data updated to Unicode version 13. - Builtin programs use the new UCRTBase C runtime. - More correct support for Internationalized Domain Names. - Support for painting rounded rectangles in Direct2D. - Text drawing in D3DX9. - Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.4.tar.xz http://mirrors.ibiblio.org/wine/source/5.x/wine-5.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.4 (total 34):
14949 ABBYY FineReader Pro 7.0 Scrolling Problem 18013 Foxit Reader 3.0: Sidebar Search Window not accessible/useable. 24013 Assassin's Creed (DX10) crashes (ID3D10ShaderReflection::GetConstantBufferByIndex is a stub) 24754 Multiple games have no text rendered due to ID3DXFont::DrawTextA/W method stubs (Nancy Drew 'Tale of the Twister', Europa Universalis Rome) 28141 Delphi Twain examples don't work 29330 8BallClub can't enter login details 35077 PSPad 4.5.7 crashes on startup 39816 BioShock 2 needs d3d10_shader_reflection_GetInputParameterDesc() 40334 Multiple games and applications crash on unimplemented function ntdll.dll.RtlGetNativeSystemInformation (AION, AVG Free Edition 2012-2014, TuneUp Utilities 2014) 40606 Unknown application needs dnsapi.dll.DnsGetCacheDataTable 42585 Final Fantasy V Corrupt Fonts 43533 Keepass 2.36 crashes on startup with Wine-Mono 43620 NieR: Automata (Steam) crashes on startup 43660 Divinity Original Sin 2 preview crash 43696 SanctuaryRPG: Black Edition hangs on exit 44253 Far Manager v3.0 crashes when using quick view mode (needs SHCreateAssociationRegistration stub) 47288 Gaea 1.0.19 (.NET 4.7 WPF app) diagnostic tool 'Watson.exe' crashes due to 'kernel32.SetConsoleScreenBufferInfoEx' stub 47626 Microsoft Visual Studio 2019 web-installer fails due to missing MS root CA 2010 and rstrtmgr stubs 48315 RPG Tkool (RPG Maker) 2k/2k3/XP/VX/VX Ace: MP3 playback doesn't loop 48481 Settings for Templates and Downloads locations aren't exposed in winecfg 48570 Multiple games (Fable: The Lost Chapters, Oddworld - Munch odissey) does not play WMV cutscenes 48580 Discord connecting to voice needs unimplemented function qwave.dll.QOSAddSocketToFlow 48635 Asuka 120% Return BURNING Fest: Crashes after character selection. 48639 Shrew Soft VPN client needs setupapi.dll.SetupDiGetSelectedDriverA() 48664 kernel32:process - Intermittent test_Toolhelp() failure 48689 Wine 5.3 on Mac OS X 10.13.6 High Sierra: Segmentation fault 48694 The Bat! (64bit) crashes right after start 48697 New msvcrt inlines fail to compile on armv7hl due to non-AAPCS variadic function calls 48705 Dynacadd 98 crash 48706 Wineconsole freezes when restoring from minimized to maximized window 48719 wow bat launcher doesn't work 48723 Torchlight - Loading times are excessively long 48735 Wine builtin services.exe process_send_command: OVERLAPPED struct for control pipe has uninitialized Offset and OffsetHigh fields 48742 ntdll: get_modref: Conditional jump or move depends on uninitialised value(s)
----------------------------------------------------------------
Changes since 5.3:
Aaro Altonen (3): kernel32/tests: Add tests for SetConsoleScreenBufferInfoEx(). kernelbase: Implement SetConsoleScreenBufferInfoEx(). urlmon: Add URLOpenPullStreamW() stub.
Akihiro Sagawa (2): dsound/tests: Add a test whether the buffer is a valid global memory. dsound: Make GlobalHandle() for the sound buffer failed.
Alexandre Julliard (35): ntdll: Delay NFC table loading on macOS. ntdll: Reimplement IdnToNameprepUnicode() using the NLS normalization table. ntdll: Reimplement IdnToAscii() using the normalization table and the ntdll helpers. ntdll: Reimplement IdnToUnicode() using the normalization table and the ntdll helpers. kernel32: Remove the nameprep tables. kernel32: Move Idn functions to kernelbase. dxerr8: Use wide character string literals. dxerr9: Use wide character string literals. kernelbase: Use wide character string literals in debug.c. kernelbase: Use wide character string literals in file.c. kernelbase: Use wide character string literals in path.c. kernelbase: Use wide character string literals in registry.c. kernelbase: Use wide character string literals in the remaining files. gdi.exe: Use 32-bit printer functions for print jobs. gdi.exe: Build with msvcrt. winaspi: Get rid of DOS mode. winaspi: Reimplement on top of wnaspi32. winaspi: Get rid of header files. winaspi: Build with msvcrt. kernelbase: Don't use towlower() on the full Unicode character range. kernelbase: Don't use wcsicmp/wcsnicmp() on the full Unicode character range. kernelbase: Don't allow the full Unicode character range in StrToInt* functions. kernelbase: Don't allow the full Unicode character range in path functions. msvcrt/tests: Add tests for Unicode spaces in wcstol(). ntdll/tests: Remove some workarounds for older Windows versions. ntdll: Use the NLS case mapping table for towlower/towupper. ntdll: Don't handle the full Unicode character range in wcslwr/wcsupr. ntdll: Don't handle the full Unicode character range in wcsicmp/wcsnicmp. ntdll: Don't handle the full Unicode character range in isw* functions. ntdll: Reimplement wcstol/wcstoul using the msvcrt code. ntdll: Reimplement remaining string functions to avoid depending on wine/unicode.h. ntdll: Fix heap validation when large heap blocks are present. unicode: Fix parsing of Indic data files. unicode: Read data files from inside the zip without extracting them. unicode: Update data tables to Unicode 13.0.
Alistair Leslie-Hughes (6): oledb32: Initialize all DBGUID values. oledb32: Initialize data provider when switching tabs. qwave: Add QOSAddSocketToFlow stub. xaudio2_7: Correct reference count on newly created XAudio2 object. xaudio2_7: Correct reference count on newly created IXAPO object. wineqtdecoder: Don't define CLSID_QTSplitter twice.
Andrew Eikum (1): xaudio2/tests: Add some refcount tests.
Aurimas Fišeras (1): po: Update Lithuanian translation.
Brendan Shanks (1): whoami: Add semi-stub application to display username.
Connor McAdams (6): d3d10: Implement scalar effect variable set methods. d3d10: Implement scalar effect variable get methods. d3d10: Implement vector effect variable set methods. d3d10: Implement vector effect variable get methods. d3d10: Add tests for scalar effect variables. d3d10: Add tests for vector effect variables.
Damjan Jovanovic (1): gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Dmitry Timoshkov (13): include/sal.h: Add _Ret_writes_z_ for Visual Studio 14.0. kernel32/tests: Fix locale.c compilation with Visual Studio 14.0. kernel32/tests: Fix initialization of parameters in Get[*]PreferredUILanguages tests. kernel32/tests: Add more tests for Get[*]PreferredUILanguages APIs. kernel32: Get[*]PreferredUILanguages should return buffer size when setting ERROR_INSUFFICIENT_BUFFER. msi: Add support for ListView dialog control. dnsapi/tests: Add some DnsQuery tests. dnsapi/tests: Also test the "_ldap._tcp.deadbeef" query. wbemdisp: Use pointer moniker instead of custom moniker implementation. adsldp: Add IParseDisplayName stub interface. netapi32: Implement DsGetDcNameW. adsldp: Implement IADsOpenDSObject::OpenDSObject. adsldp: Implement IParseDisplayName::ParseDisplayName.
François Gouget (4): kernel32/tests: Fix test_Toolhelp()'s nested process lookup. dsound: Move make_fir to the dsound directory. kernel32/tests: Fix a race condition in test_WaitForJobObject(). kernel32/tests: Remove a 100 ms sleep in 'process exit' children.
Gabriel Ivăncescu (10): jscript: Use struct list for named items. jscript/tests: Add tests for named items. jscript: Use NULL in frame->this_obj for the global code object. jscript: Lookup host global object on demand instead of storing it in script context. jscript: Lookup the named item and keep a ref to it from the associated bytecode. jscript: Add stub implementation of separate script dispatches for named items. jscript: Retrieve the proper script dispatch from the named item in GetScriptDispatch. jscript/tests: Add test for function constructor in named item context. jscript: Don't lookup global members for bytecodes with a named item. jscript: Retrieve the proper 'this' object for bytecodes with named items.
Giovanni Mascellani (2): d2d1: Implement ellipse and rounded rectangle filling with arcs. d2d1: Implement ellipse and rounded rectangle stroking with arcs.
Hans Leidekker (1): configure: Get rid of an unused powl check.
Henri Verbeet (2): d3d8: Avoid checking the stage index in d3d8_device_GetTextureStageState() (Coverity). d3d9: Avoid a dead assignment in d3d9_device_SetStreamSource() (Coverity).
Jacek Caban (27): ucrtbase: Add exe entry points implementation. msvcrt: Silence wide environment initialization debug messages. makedep: Build builtin programs with ucrt. winetest: Build with msvcrt. winegcc: Lookup PATH in find_binary and don't try to run binaries that can't be found. winegcc: Return build_tool_name result as strarray. winegcc: Pass tool by id to build_tool_name. winegcc: Add support for using clang directly. stdio.h: Fix calling convention of variadic inline functions. msvcrt/tests: Use __[w]getmainargs declarations from headers. msvcrt20: Use __[w]getmainargs declarations from headers. winebuild: Also try llvm variants of tools in find_tool. winebuild: Add an option to build a static library. makedep: Use winebuild to build cross compiled static libraries. configure: Try using explicit target option for cross compiling. ntdll: Use module path as assembly path for manifests embedded in resources. kernelbase/tests: Add test of assembly path of manifest embedded in exe module. include: Add corecrt_wprocess.h header. include: Add corecrt_wdirect.h header. dbghelp: Try loading builtin modules from unix installation. dbghelp: Search also real path location in path_find_symbol_file. dbghelp: Use Windows API to map ELF files. ucrtbase/tests: Link to ucrtbase. ucrtbase/tests: Use public _CRT_INTERNAL_PRINTF_* defines. ucrtbase/tests: Directly use __stdio_common_* functions. ucrtbase/tests: Directly use ucrtbase functions in printf.c. ucrtbase/tests: Directly use ucrtbase functions in scanf.c.
Jeff Smith (4): gdiplus/tests: Use much smaller fudge factor in test_widen_cap. gdiplus/tests: Add thin-line test to test_widen_cap. gdiplus: Caps do not shrink for line width < 2.0. msvcrt: Stop forwarding iswctype functions to ntdll.
Jefferson Carpenter (2): services: Initialize OVERLAPPED Offset and OffsetHigh. user32: Always initialize module in load_desktop_driver.
Ken Thomases (1): winemac: Only call -[NSOpenGLContext update] from the main thread.
Matteo Bruni (8): wined3d: Introduce a stateblock flag for lights. wined3d: Introduce a global stateblock flag for transforms. wined3d: Optimize setting shader constants in wined3d_stateblock_apply(). wined3d: Optimize setting shader constants in wined3d_stateblock_capture(). d3d9: Store primary stateblock state pointer in the device. d3d9: Retrieve state from the stateblock in d3d9_stateblock_Apply(). d3d8: Store primary stateblock state pointer in the device. d3d8: Range-check GetPixelShaderConstant() indices to the d3d8 limit.
Michael Müller (1): server: Hold a reference to the file in delete_file().
Nikolay Sivov (49): mf: Implement GetFullTopology(). mf: Add a helper to check for session shutdown state. mf: Fix GetClock() for shutdown state. include: Add IMFFinalizableMediaSink definition. mfplat: Use underlying work queue calls more to get rid of duplicated traces. rtworkq: Change RtwqPutWorkItem() trace format for consistency. mf: Handle shutdown state in GetFullTopology(). mf: Correctly respond to start attempt from closed state. mf: Implement transition to closed state together with sink finalization. mf: Match session state names with events. mfplat: Implement MFTEnumEx(). mfplat: Add some MFT-related attributes GUIDs. mfplat: Set activation object attributes for enumeration results. mfplat: Default to synchronous model for locally registered MFTs. mfplat: Implement transform activation object. mf: Implement MFGetSupportedMimeTypes()/MFGetSupportedSchemes(). mf/tests: Fix a test failure on older versions. include: Fix VMR9AlphaBitmap definition. include: Add some types used for MF pipeline objects. mfplat: Remove extra critical section used in sample implementation. mfplat: Remove extra critical section from presentation descriptor. mfplat: Remove extra critical section from stream descriptor. include: Add some MFT flags types. include: Update MF resolver flags. mf: Partially implement sample copier transform. mfplat: Add MFGetPlaneSize(). mfplat: Implement CopyToBuffer(). mf: Implement IsMediaTypeSupported() for simple type handler. mfplat: Implement IsMediaTypeSupported() for stream descriptor. mf: Implement MFGetTopoNodeCurrentType(). mf: Shutdown samplegrabber event queue on sink shutdown. mf: Block samplegrabber stream event calls after stream is removed. mf: Improve ShutdownObject() behavior for sample grabber activation object. mf: Set shutdown state flag for presentation clock. mf: Notify just added sinks with current clock state. mf: Do not touch clock state when setting rate. mf/tests: Remove tests causing occasional crashes on Windows. mfplat: Add MFGetStrideForBitmapInfoHeader(). mf/tests: Use wide string literals. mfplat: Add a stub for 2D system memory buffer object. dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm. mf: Use single list for topology nodes in current presentation. mf/tests: Add a test for default node attributes. mf: Handle basic case of sample request/response. mf: Send MFT_MESSAGE_NOTIFY_BEGIN_STREAMING message after setting current topology. mf: Pass start and flush messages to transform nodes. mf: Keep transform node input/output streams map. mf: Add support for requesting sample from transform nodes. mf: Implement sample delivering to transform nodes.
Paul Gofman (5): ntdll: Zero init reg_tzi in find_reg_tz_info(). ntdll: Add semi-stub for RtlGetNativeSystemInformation(). wined3d: Manage source texture resolve in texture2d_blt() for colour blits. wined3d: Handle scale with multisampled blit destination in texture2d_blt(). wined3d: Use EXT_framebuffer_multisample_blit_scaled for scaled resolves.
Piotr Caban (5): winemac: Fix leaks in macdrv_surface_destroy. gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges. gdiplus: Fix leak in SOFTWARE_GdipDrawDriverString. msvcrt: Optimize _strnicmp_l implementation. winemac: Handle dummy_surface in get_mac_surface.
Roman Pišl (3): shell32: Implement SHCreateAssociationRegistration. wineconsole: Allow maximization. wininet: Add stub for INTERNET_OPTION_IGNORE_OFFLINE.
Rémi Bernon (5): d3d9/tests: Register test window class upfront. d3d8/tests: Add test_window_style results for w1064v1809. d3d9/tests: Explicit test_window_style results on w1064v1809. d3d9/tests: Make device test_window_style checks more consistent. d3d9/tests: Make d3d9ex test_window_style checks consistent with device.
Serge Gautherie (3): include: COMMCONFIG.wcProviderData is WCHAR, not DWORD. shell32: Fix SHCNE_UPDATEITEM number of items. tools: Remove 0x0501 API versions forced by winapi_test.
Sven Baars (7): d3dx9: Implement ID3DXFont_PreloadText. d3dx9: Add a very basic ID3DXFont_DrawText implementation. d3dx9: Handle newlines in ID3DXFont_DrawText. d3dx9: Handle clipping in ID3DXFont_DrawText. d3dx9: Handle word breaks in ID3DXFont_DrawText. d3dx9: Handle DT_SINGLELINE in ID3DXFont_DrawText. d3dx9: Handle DT_CALCRECT in ID3DXFont_DrawText.
Vijay Kiran Kamuju (2): include: Add some missing defines in winnt.h. include: Fix QUOTA_LIMITS_EX in winnt.h.
Vincent Povirk (3): windowscodecs/tests: Add test for WriteSource with indexed formats. windowscodecs: Set palette in WriteSource when necessary. windowscodecs: Fix ICNS encoder write_source call.
Zebediah Figura (128): httpapi: Update the spec file to Windows 7. httpapi: Use the "http" debug channel. httpapi: Stub HttpSetServerSessionProperty(). httpapi: Wait for overlapped I/O completion only if ERROR_IO_PENDING is returned. httpapi: Stub HttpSetUrlGroupProperty(HttpServerLoggingProperty). http.sys: Support cancelling IRPs. http.sys: Cancel outstanding requests when a handle is closed. http.sys: Translate WSAEACCES to STATUS_ACCESS_DENIED. http.sys: Handle the "+" URL wildcard. server: Make free_object() static. server: Hold a reference to the device on behalf of the device manager. d3dcompiler/tests: Add some more tests for return statements. d3dcompiler: Parse return statements without a value. d3dcompiler: Check for implicit type compatibility in implicit_conversion(). d3dcompiler: Verify a returned value against the function's type and cast it if necessary. d3dcompiler: Don't set the node type for return instructions. ddraw: Retrieve the material from the primary stateblock. ddraw: Stop setting the device state in d3d_device7_SetMaterial(). ddraw: Retrieve the viewport from the primary stateblock. ddraw: Stop setting the device state in d3d_device7_SetViewport(). ddraw: Retrieve lights from the primary stateblock. ddraw: Stop setting the device state in d3d_device7_SetLight() and d3d_device7_LightEnable(). amstream: Implement IAMMultiMediaStream::EnumMediaStreams(). amstream: Check for an existing stream in IAMMultiMediaStream::AddMediaStream(). amstream: Implement IMediaStreamFilter::EnumMediaStreams(). amstream: Allow AMMSF_ADDDEFAULTRENDERER only with MSPID_PrimaryAudio. amstream: Return E_INVALIDARG if AMMSF_ADDDEFAULTRENDERER is requested with a non-NULL ret_stream parameter. kernel32/tests: Add some tests for hard links. kernel32: Reimplement CreateHardLink() on top of NtSetInformationFile(FileLinkInformation). wined3d: Stop setting the device state in wined3d_stateblock_apply(). wined3d: Remove no longer used device state functions. amstream: Simplify IAMMultiMediaStream::GetFilterGraph(). amstream: Create a default filter graph in IAMMultiMediaStream::AddMediaStream() if one does not exist yet. amstream: Explicitly create the graph in IAMMultiMediaStream::OpenFile(). amstream: Set the multimedia stream graph in IAMMultiMediaStream::Initialize() only if a graph is specified. amstream: Forbid changing the graph in IAMMultiMediaStream::Initialize(). amstream: Forbid changing the multimedia stream mode. wined3d: Make some wined3d_device functions static. wined3d: Remove now redundant error handling from wined3d_device_set_stream_source_freq(). wined3d: Remove now redundant error handling from wined3d_device_set_light(). wined3d: Return void from wined3d_device_set_light_enable(). wined3d: Remove now redundant error handling from wined3d_device_set_sampler_state(). ntdll/tests: Separate invalid name tests for RtlDosPathNameToNtPathName_U(). ntdll/tests: Use wide character string literals in test_RtlDosPathNameToNtPathName_U(). ntdll/tests: Add more tests for DOS to NT path conversion. wined3d: Remove now redundant error handling from wined3d_device_set_*_consts_*(). wined3d: Remove now redundant error handling from wined3d_device_set_texture_stage_state(). wined3d: Move the fill mode to wined3d_rasterizer_state. wined3d: Move the cull mode to wined3d_rasterizer_state. wined3d: Move the depth bias scale to wined3d_rasterizer_state. qcap/capturegraph: Return BOOL from pin_matches(). qcap/capturegraph: Implement ICaptureGraphBuilder2::FindInterface(). quartz/filesource: Check if the media type is acceptable. qedit/samplegrabber: Check the filter media type also in sample_grabber_sink_query_accept(). qedit/samplegrabber: Correctly implement sample_grabber_sink_get_media_type(). d3dcompiler: Return a struct source_location from set_location(). d3dcompiler: Pass a struct source_location to hlsl_report_message(). d3dcompiler: Pass a struct source_location to add_func_parameter(). d3dcompiler: Clarify error messages related to misplaced type modifiers. d3dcompiler: Pass a struct source_location to check_invalid_matrix_modifiers(). d3dcompiler: Pass a struct source_location to create_loop(). qedit: Register the sample grabber and null renderer. qcap: Reimplement COM registration and vending locally. winegstreamer: Reimplement COM registration and vending locally. wineqtdecoder: Reimplement COM registration and vending locally. strmbase: Remove no longer used DLL registration and vending framework. setupapi: Implement SetupDiGetSelectedDriver(). setupapi: Implement SetupDiGetDriverInfoDetail(). setupapi: Use the "section" and "description" fields directly in more places. include: Use public field names for FILE_RENAME_INFORMATION. kernel32/tests: Add more tests for MoveFile[Ex](). ntdll/tests: Test renaming a file to the same name. wined3d: Explicitly zero the whole wined3d_rasterizer_state_desc structure in wined3d_device_apply_stateblock(). wined3d: Move the constant depth bias to wined3d_rasterizer_state. wined3d: Move the scissor test state to wined3d_rasterizer_state. wined3d: Move the line antialias state to wined3d_rasterizer_state. d3d10core/tests: Add a test for color masks. d3d11/tests: Add a test for color masks. winebus.sys: Fix reporting axis values for joysticks. d3d10core/tests: Add a test for independent blend. d3d11/tests: Add a test for independent blend. wined3d: Construct the blend state in wined3d_device_apply_stateblock(). wined3d: Move the blend enable state to wined3d_blend_state. wined3d: Move the source blend state to wined3d_blend_state. user32: Do not delay-load setupapi. winegstreamer: Read into an existing buffer if requested. wineqtdecoder: Fix compilation. quartz/acmwrapper: Reimplement the ACM wrapper directly on top of strmbase_filter. quartz/avidec: Reimplement the AVI decoder directly on top of strmbase_filter. wineqtdecoder: Reimplement the video decoder directly on top of strmbase_filter. strmbase: Get rid of the base transform. wine.inf: Manually register qedit. qedit: Pass an IUnknown pointer to the object creation functions. quartz: Pass an IUnknown pointer to the object creation functions. strmbase: Move window.c to quartz. strmbase: Move video.c to quartz. quartz: Unregister the video window class on DLL unload. ntdll/tests: Add tests for linking a file to the same name. ntdll: Check for an existing file on the server side. server: Allow renaming a file to the same name. server: Fix up executable permissions when renaming files. kernel32: Reimplement MoveFileWithProgress() on top of NtSetInformationFile(FileRenameInformation). wined3d: Move the destination blend state to wined3d_blend_state. wined3d: Move the blend operation to wined3d_blend_state. wined3d: Move the source alpha blend function to wined3d_blend_state. wined3d: Move the destination alpha blend function to wined3d_blend_state. wined3d: Move the alpha blend equation to wined3d_blend_state. d2d1: Support GUID_WICPixelFormat32bppPRGBA. d3dcompiler: Parse array types. d3dcompiler: Don't pass a writemask to make_assignment(). d3dcompiler/tests: Add more tests for swizzles. d3dcompiler: Unwrap swizzles from the left-hand side of an assignment. d3dcompiler: Separate out an hlsl_deref structure and store it in hlsl_ir_assignment directly. kernel32: Reimplement ReplaceFile() on top of MoveFileEx(). quartz/tests: Add a test for aggregation on the seeking passthrough object. strmbase: Standardize aggregation of the seeking passthrough object. strmbase: Separate the seeking passthrough object from its implementation. strmbase: Get rid of the PassThruImpl typedef. strmbase: Use strmbase_passthrough directly in strmbase_renderer. strmbase: Move the seeking passthrough object to quartz. quartz: Implement proper DLL refcounting. wined3d: Implement independent blend. wined3d: Move the color masks to wined3d_blend_state. d3dcompiler/tests: Add some tests for d3d9 constant tables. d3dcompiler/tests: Add a test for SM4 constant buffers. d3dcompiler: Don't add the default matrix majority attribute to variables. d3dcompiler: Fail if modifiers are applied to a function. d3dcompiler: Apply type modifiers to the hlsl_type.
Zhiyi Zhang (25): wined3d: Introduce wined3d_get_adapter(). wined3d: Introduce wined3d_adapter_get_output_count(). wined3d: Introduce wined3d_adapter_get_output(). d3d8: Enumerate wined3d outputs in d3d8_init(). d3d9: Enumerate wined3d outputs in d3d9_init(). wined3d: Refactor wined3d_enum_adapter_modes() to wined3d_output_get_mode(). wined3d: Refactor wined3d_get_adapter_mode_count() to wined3d_output_get_mode_count(). wined3d: Get output from window in wined3d_swapchain_state_init(). wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_fullscreen(). wined3d: Introduce wined3d_swapchain_get_output(). wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_resize_target(). wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_display_mode(). wined3d: Refactor wined3d_set_adapter_display_mode() to wined3d_output_set_display_mode(). wined3d: Refactor wined3d_get_adapter_display_mode() to wined3d_output_get_display_mode(). wined3d: Refactor wined3d_find_closest_matching_adapter_mode() to wined3d_output_find_closest_matching_mode(). wined3d: Refactor wined3d_get_adapter_raster_status() to wined3d_output_get_raster_status(). wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_format_conversion(). wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_type(). wined3d: Introduce wined3d_output_get_adapter(). wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_depth_stencil_match(). wined3d: Pass a struct wined3d_adapter pointer to wined3d_device_create(). wined3d: Refactor wined3d_get_adapter_identifier() to wined3d_adapter_get_identifier(). wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_multisample_type(). wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_format(). wined3d: Pass a struct wined3d_adapter pointer to wined3d_calculate_format_pitch().
Ziqing Hui (7): comctl32/tests: Add tests for alpha channel of imagelist. comctl32/imagelist: Correctly handle alpha channel of 32bpp image. comctl32/tests: Remove duplicate line in imagelist.c. comctl32/tests: Change create_test_bitmap() to give it the ability to create more kinds of bitmaps. comctl32/tests: Add tests for grayscale. comctl32/tests: Add a 4x4 bitmap for ImageList_DrawIndirect tests. comctl32/imagelist: Support flag ILS_SATURATE for ImageList_DrawIndirect().
-- Alexandre Julliard julliard@winehq.org