1 The Wine development release 6.10 is now available.
3 What's new in this release (see below for details):
4 - Mono engine updated to version 6.2.0, with upstream updates.
5 - Shell folders naming scheme follows recent Windows.
6 - WinePulse library converted to PE.
7 - More math functions from Musl in the C runtime.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/6.x/wine-6.10.tar.xz
13 http://mirrors.ibiblio.org/wine/source/6.x/wine-6.10.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 6.10 (total 25):
31 15781 Multiple Office/MSAccess applications fail on startup due to 'ICreateTypeInfo2_fnDeleteImplType' stub (AllInOne-Office 4.x/5.11, Acclaim Cashbook)
32 29903 Multiple games and applications fail to enumerate processes due to 'wtsapi32.WTSEnumerateProcessesW' stub (Visual Studio 2005, .NET 2.0 SDK DbgCLR, Akamai DL Manager, Dekaron)
33 31310 TIE: Fighter: Collectors Edition (1998 Tie Fighter collectors series, remake of the original 1995 DOS version) crashes on startup
34 34746 Dino Crisis Demo doesn't play video sequences even though Indeo codecs are installed
35 36010 Changing font resolution on winecfg changes default main font to Tahoma
36 41253 GZDoom Builder 2.3 (.NET 3.5 app) crashes with Wine-Mono when trying to open new project or existing map
37 46320 Multiple applications and games need support for Windows Vista+ User Shell Folder layout, specifically 'Local AppData' (Amazon Kindle for PC)
38 47180 Nocturne unhandled exception bug on startup
39 47915 League of Legends 9.20: Crash after champ select
40 48043 user32:dce has a pair of random failures
41 48094 Simplify debugging test timeouts
42 48507 osu! icons in the setting and music player are not being rendered
43 49663 Performance regression in TrackMania Nations Forever
44 49801 Freight Yard Manager 5.x crashes on start with wine-mono
45 50147 Microsoft WebView2 "evergreen bootstrapper"/installer needs IStream::CopyTo()
46 50224 Grand Theft Auto 4: Crashes when starting the game
47 50366 Starcraft Remastered fails to create a local LAN game (needs undocumented socket "recv" ioctl 0x12014)
48 50613 several Wine Mono tests fail to load a referenced assembly on x86_64
49 50974 Multiple applications fail to open \Device\Afd\xxx with non-empty final element (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
50 50975 Multiple applications need an implementation of undocumented socket "poll" ioctl 0x12027 (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
51 50987 dinput8:device fails on the w10pro64_fr TestBot VM
52 50988 New ProcessBasicInformation() failure in kernel32:process
53 50989 ntdll:time: New intermittent QpcSystemTimeIncrement failure
54 51188 test_user_shared_data() fails in ntdll:virtual
55 51209 Regression: Wine-mono installers in the parent folder of build trees can not be found
57 ----------------------------------------------------------------
62 kernel32: Fix return type of GetMaximumProcessorGroupCount.
63 kernel32: Reimplement GetActiveProcessorGroupCount on top of GetLogicalProcessorInformationEx.
64 kernel32: Reimplement GetActiveProcessorCount on top of GetLogicalProcessorInformationEx.
65 kernel32: Reimplement GetMaximumProcessorCount on top of GetLogicalProcessorInformationEx.
66 kernel32: Reimplement GetMaximumProcessorGroupCount on top of GetLogicalProcessorInformationEx.
68 Alexandre Julliard (22):
69 ntdll: Replace __wine_make_process_system by a Wine-specific NtSetInformationProcess() class.
70 ntdll: Store debug options in the PEB memory block.
71 ntdll: Fetch the debug channels from the PEB memory block on the PE side.
72 taskmgr: Fetch the debug channels from the PEB memory block.
73 ntdll: Always put the pthread stack at the top of the 64-bit stack if there's one.
74 server: Use a standard user APC also for timers.
75 ntdll: Pass the result status to call_user_apc_dispatcher().
76 ntdll: Implement NtTestAlert().
77 ntdll: Pass an extra context arguments to APC functions on 64-bit.
78 ntdll: Fill the Wow64 PEB and process parameters.
79 ntdll: Free the initial process parameters once they are copied.
80 ntdll: Remove no longer used syswow64 directory string.
81 kernel32: Fix GetLogicalProcessorInformationEx() usage.
82 winebuild: Store all parameters on the stack for syscall thunks on ARM.
83 winebuild: Add support for multiple syscall descriptor tables.
84 ntdll: Store exception jump buffer in the per-thread data.
85 ntdll: Get rid of raise_func_trampoline() on x86-64.
86 ntdll: Use a single syscall dispatcher controlled by global flags on x86-64.
87 ntdll: Use a single syscall dispatcher controlled by global flags on i386.
88 ntdll: Get rid of signal_init_syscalls().
89 ntdll: Use appropriate context constants where possible.
90 kernelbase: Move CopyContext() implementation to ntdll.
92 Alistair Leslie-Hughes (3):
93 wbemprox: Support only getting type in record_get_value.
94 wbemprox: Support using record in IWbemClassObject Next.
95 gdi32: Don't override FontSubstitutes on a DPI only change.
98 shell32: Use stored registry path for known folder symlinks.
99 shell32: Use winvista+ AppData paths.
100 shell32: Calculate known folder paths from parent and relative path.
101 shell32/tests: Add tests to show relative known folder paths match SHGetKnownFolderPath.
102 shell32: Use correct environment substitution for FOLDERID_Public.
105 quartz/tests: Test that IMediaPosition is also checked when renderers are counted.
106 quartz: Check for IMediaPosition when counting renderers.
107 strmbase: Don't reset EOS on renderer paused->running state transition.
108 strmbase: Defer EC_COMPLETE until the renderer is running.
109 quartz/dsoundrender: Don't reset EOS on paused->running state transition.
110 quartz/dsoundrender: Defer EC_COMPLETE until running.
113 dinput8: Use scan codes to test uAppData.
116 po: Update Lithuanian translation.
117 po: Update Lithuanian translation.
120 readme: Document Libera Chat migration.
122 Damjan Jovanovic (4):
123 shell32: Fix a lock leak.
124 shell32: Support the CF_HDROP format too when pasting from the context menu.
125 shell32: Use the paste_pidls() helper function for the CFSTR_SHELLIDLISTW format too.
126 msxml3/tests: Add some regex tests.
129 ntdll/tests: Clean up temp file.
130 ntdll: Silence clang warning.
132 Dmitry Timoshkov (4):
133 msxml3: Implement ::get_attributes() for "xml" processing instruction node.
134 msxml3: Implement IXMLDOMNamedNodeMap::getNamedItem() for a processing instruction node.
135 msxml3: When saving XML use encoding specified in the processing instruction.
136 wininet: Reset buffer size before each call to HTTP_HttpQueryInfoW.
139 gdiplus: Implement reference counting for private font families.
140 mscoree: Update Wine Mono to 6.2.0.
142 slc: Move shared exports to sppc.
145 po: Update Dutch translation.
147 François Gouget (12):
148 ucrtbase/tests: Add the trailing linefeed to an ok() message.
149 kernel32/tests: Fix the spelling of an ok() message.
150 ntdll: Update the STATUS_NO_SUCH_DEVICE error mapping.
151 ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.
152 user32/tests: Fix a typo in a comment.
153 user32/tests: Trace GetLastError() when OpenClipboard() fails in edit.
154 ole32: Fix the spelling of a comment.
155 user32: Debugstr_format() should not modify the last error.
156 user32/tests: Use wine_{push,pop}_context() to simplify test_synthesized().
157 user32/tests: Use winetest contexts to simplify test_string().
158 user32/tests: Protect OpenClipboard() from interference.
159 user32/tests: Protect GetOpenClipboardWindow() from interference.
161 Giovanni Mascellani (2):
162 mf/samplegrabber: Handle paused state.
163 winegstreamer: Improve reported supported rates values for the media source.
166 webservices: Buffer whole messages to be sent.
167 webservices: Properly initialize messages.
168 webservices: Support IPv6 address format in WsDecodeUrl.
171 rsaenh: Fix a typo in a comment.
174 wined3d: Allow zero width/height for fullscreen swapchains as well in wined3d_swapchain_resize_buffers().
177 reg: Remove two unused string resources.
178 reg: Group resource IDs by source location.
179 reg: Partially implement the 'copy' command.
180 reg: Support recursion in the 'copy' command.
181 reg: Fail if the source and destination keys are the same when copying.
182 reg/tests: Test whether the 'copy' command copies user-defined key classes.
183 reg: Prompt the user to confirm whether they want to overwrite existing values when copying a key.
186 winepulse: Move pulse_get_position to unix lib.
187 winepulse: Simplify checks for stream being initialized.
188 winepulse: Move pulse_is_started to unix lib.
189 winepulse: Simplify IAudioStreamVolume::SetChannelVolume implementation.
190 winepulse: Simplify IAudioStreamVolume::GetChannelVolume implementation.
191 winepulse: Allocate ACImpl volumes when channel count is known.
192 winepulse: Build with msvcrt.
193 ntdll: Make get_machine_wow64_dir static.
194 ntdll: Use DECLSPEC_HIDDEN for a few more symbols.
195 winepulse: Use event handle to signal main loop readiness.
196 winepulse: Use a critical section for PE-side locking.
197 winepulse: Use native memory allocators where possible.
198 winepulse: Use NtAllocateVirtualMemory for tmp_buffer.
199 winepulse: Use NtAllocateVirtualMemory for local_buffer.
200 d3dcompiler: Use return value in read_dword.
201 winevulkan: Reflect USE_STRUCT_CONVERSION in _host typedefs.
202 winevulkan: Remove no longer needed #ifdefs from dispatch tables.
203 winevulkan: Remove no longer needed #ifdefs.
204 winevulkan: Directly use host vkGetPhysicalDeviceProperties in wine_vkCreateDevice.
205 winevulkan: Make core function thunks static.
206 winegcc: Use -soname for unix libs.
207 winegcc: Link unix libs directly to native libraries.
208 ntdll: Introduce wine_unix_call.
209 makedep: Make unix libs depend on ntdll.so.
210 winepulse: Wrap unix call parameters in structs.
211 winepulse: Use syscall interface to call unix lib.
214 riched20/tests: Simplify tests of IRichEditOle_InsertObject() by improving CHECK_REOBJECT_STRUCT().
215 riched20/tests: Add INSERT_REOBJECT() for simplifying tests of IRichEditOle_InsertObject().
216 riched20/tests: Test IRichEditOle_InsertObject() with specified character position.
217 riched20/tests: Test ITextServices_TxGetText() with OLE obejct.
219 Jefferson Carpenter (2):
220 msxml3: Null check newChild in DOMDocument insertBefore.
221 msxml3: Null check newNode in domelem insertBefore.
224 gdi32: Delete the external font reg key when face's name matches but the file path does not.
227 po: Update Finnish translation.
230 d3dcompiler: Fix typo in struct d3dcompiler_shader_reflection.
231 wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
232 wined3d: Rename gen_ffp_frag_op().
233 wined3d: Avoid Y correction on dFdy when using FBO ORM.
234 wined3d: Remove access to gl_info from find_ps_compile_args().
235 wined3d: Don't pass the swizzle map to find_vs_compile_args() separately.
237 Michael Stefaniuc (1):
238 fusion/tests: Use wide-char string literals.
241 mfplat/allocator: Apply default bindflags only for RGBA formats.
242 evr/mixer: Preserve output stream types order.
243 evr/mixer: Return cloned instances for output type candidates.
244 evr/mixer: Test format only when setting output type.
245 mfplat: Add some attributes for tracing.
246 mf/session: Do not drop pending commands when clearing current presentation.
247 mfplay: Enable source type enumeration.
248 mf/topology: Implement MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES connection method.
249 mfmediaengine: Add missing initialization of vertex buffer components (Coverity).
250 propsys: Add support for VT_VECTOR|VT_UI1 type in PropVariantCompareEx().
251 evr/mixer: Set aperture attributes for output type candidates.
252 evr/presenter: Use correct sample size attribute value when setting output mixer type.
253 evr/presenter: Make sure to use positive stride for output mixer types.
254 mfplat: Implement MFInitVideoFormat_RGB().
255 evr: Add a forward for MFGetStrideForBitmapInfoHeader().
256 mfmediaengine: Enable source type enumeration.
257 msctf: Maintain context reference in ranges.
258 msctf/range: Remove unused argument from range creation helper.
259 msctf/range: Update to ITfRangeACP.
260 msctf: Add ITextStoreACPServices::CreateRange().
261 mfplat: Remove remaining typedef for bytestream object structure.
262 winegstreamer: Fix assert condition.
265 ntdll/tests: Do not test old xstate structure details in test_user_shared_data().
266 server: Check for system regs before suspending for ptrace.
267 ntdll/tests: Don't consider zero 'AllFeatures' value in USD broken.
268 server: Do not allow parenting non-empty job.
271 msvcrt: Remove cos from unixlib.
272 msvcrt: Import tan implementation from musl.
273 msvcrt: Import cosf implementation from musl.
274 msvcrt: Import sinf implementation from musl.
275 msvcrt: Import tanf implementation from musl.
276 msvcrt: Update search position when no token was found in strtok.
277 msvcrt: Import acoshf implementation from musl.
278 msvcrt: Import acosh implementation from musl.
279 msvcrt: Import asinhf implementation from musl.
280 msvcrt: Import asinh implementation from musl.
281 msvcrt: Import atanf implementation from musl.
282 msvcrt: Import atanh implementation from musl.
283 user32: Depend on SetWindowPos to refresh window manager hints in SetWindowRgn.
284 msvcrt: Import expm1 implementation from musl.
285 msvcrt: Import expm1f implementation from musl.
286 msvcrt: Import cosh implementation from musl.
287 msvcrt: Import coshf implementation from musl.
288 msvcrt: Import sinh implementation from musl.
289 msvcrt: Import sinhf implementation from musl.
290 msvcrt: Import tanh implementation from musl.
291 msvcrt: Import tanhf implementation from musl.
292 msvcrt: Use __scalbn helper in ldexp implementation.
293 msvcrt: Import fma implementation from musl.
294 msvcrt: Import frexp implementation from musl.
295 msvcrt: Import frexpf implementation from musl.
296 msvcrt: Import _hypot implementation from musl.
297 msvcrt: Import _hypotf implementation from musl.
298 msvcrt: Import log implementation from musl.
299 msvcrt: Import logf implementation from musl.
300 msvcrt: Import log1p implementation from musl.
301 msvcrt: Import log1pf implementation from musl.
302 msvcrt: Import log10 implementation from musl.
303 msvcrt: Import log10f implementation from musl.
304 msvcrt: Import log2f implementation from musl.
305 msvcrt: Import log2 implementation from musl.
306 msvcrt: Import lgamma implementation from musl.
307 msvcrt: Import lgammaf implementation from musl.
309 Roberto Pungartnik (3):
310 po: Update Brazilian Portuguese translation.
311 ntdll: Fix IOCTL_AFD_WINE_SENDMSG irda member misreference.
312 po: Update Brazilian Portuguese translation.
315 ntdll: Fix a file descriptor leak.
318 kernelbase: Don't strip leading dots in relative paths.
319 msvcrt: Set next_token when str is empty in wcstok_s.
320 dssenh/tests: Add CryptAcquireContextA last error check.
321 dssenh: Return NTE_BAD_KEYSET when key cannot be opened.
322 dssenh: Only fill hash buffer when it's provided.
323 dinput8/tests: Flush events after creating window.
324 dinput: Use IDirectInputDevice8W interface consistently.
325 dinput: Use generic WtoA wrappers when possible.
326 dinput: Move IDirectInputDeviceA wrappers to ansi.c.
327 dinput/tests: Check IDirectInputDevice_EnumObjects error codes.
328 dinput: Implement IDirectInputDevice_EnumObjects WtoA conversion.
329 dinput/tests: Check IDirectInputDevice2AImpl_GetObjectInfo error codes.
330 dinput: Factor out IDirectInputDevice_GetObjectInfo WtoA conversions.
331 dinput: Implement IDirectInputDevice_GetEffectInfo WtoA conversion.
332 dinput: Implement IDirectInputDevice_EnumEffects WtoA conversion.
333 dinput: Implement IDirectInputDevice_EnumEffectsInFile WtoA conversion.
334 dinput: Implement IDirectInputDevice_WriteEffectToFile WtoA conversion.
335 dinput: Implement IDirectInputDevice_GetImageInfo WtoA conversion.
336 dinput: Factor out IDirectInputDevice_GetCapabilities WtoA conversions.
337 dinput: Factor out IDirectInputDevice_GetDeviceState WtoA conversions.
338 dinput: Factor out IDirectInputDevice_GetDeviceInfo WtoA conversions.
339 dinput: Factor out IDirectInputDevice_BuildActionMap WtoA conversions.
340 dinput: Factor out IDirectInputDevice_SetActionMap WtoA conversions.
341 dinput: Make device creation error handling consistent.
342 dinput: Introduce direct_input_device_alloc helper.
343 dinput: Factor out IDirectInputDevice ansi vtable.
344 dinput: Prefer IDirectInputW interfaces over IDirectInputA.
345 dinput: Move IDirectInput8 WtoA wrappers to ansi.c.
346 dinput: Move IDirectInput7 WtoA wrappers to ansi.c.
347 dinput: Factor out device creation interface queries.
348 dinput: Remove the need for ANSI enum_device callback.
349 dinput: Prevent a device interface leak when enumerating.
350 dinput: Free axis_map when joystick device is freed.
351 dinput: Rename wReserved to wReportId in DIDEVICEOBJECTINSTANCE.
352 server: Add hardware_msg_data size for variable size messages.
353 user32: Inform rawinput_from_hardware_message of available buffer size.
354 user32: Implement WM_INPUT / RIM_TYPEHID message dispatch.
355 server: Support variable sized hardware_msg_data allocation.
356 server: Send HID report data with the WM_INPUT messages.
357 include: Add HID generic multi axis controller usage.
358 include: Add HID vendor defined usage pages.
359 winebus.sys: Use macros to define HID reports.
360 hidclass.sys: Use msvcrt allocation functions.
361 hidclass.sys: Use nameless unions.
362 hid: Use nameless unions.
363 user32: Use nameless unions in rawinput.c.
364 hidclass.sys: Factor HIDP_BUTTON_CAPS with HIDP_VALUE_CAPS.
365 winebus.sys: Add some buttons to HID mouse input report.
366 winebus.sys: Add some buttons to HID keyboard input report.
367 mmdevapi: Make MMDevEnumerator a static variable.
368 mmdevapi: Load devices on driver initialization.
369 mmdevapi: Use a struct list to keep device list.
371 Zebediah Figura (65):
372 server: Don't change the status of an already terminated async.
373 ntdll: Avoid accessing the I/O status block in wait_async().
374 ntdll: Move struct async_fileio to unix_private.h.
375 ntdll: Implement IOCTL_AFD_RECV.
376 ws2_32/tests: Add some tests for IOCTL_AFD_RECV.
377 user32: Handle monochrome icons in CreateIcon() and CreateCursor() instead of CreateIconIndirect().
378 user32: Implement stretching of cursor and icon objects in CopyImage().
379 user32: Reimplement CopyIcon() on top of CopyImage().
380 user32: Implement InternalGetWindowIcon().
381 d3d11/tests: Add a couple of extra tests for SRV/RTV conflict.
382 wined3d: Check for SRV/RTV binding conflicts per wined3d_state.
383 d3d11/tests: Add some tests for Map() on deferred contexts.
384 d3d11/tests: Add some tests for UpdateSubresource() on a deferred context.
385 user32: Blit the right bitmap when stretching monochrome icons in CopyImage().
386 ws2_32/tests: Add some tests for opening the Afd device.
387 server: Allow opening the Afd device with a file name.
388 ntdll: Implement IOCTL_AFD_POLL.
389 ws2_32/tests: Add tests for IOCTL_AFD_POLL.
390 wined3d: Fix a spelling error in a comment.
391 wtsapi32: Implement WTSEnumerateProcessesW().
392 server: Mark the socket as cacheable when it is connected, marked listening, or created as connectionless.
393 server: Pass -1 to set_fd_events() if the socket is not yet initialized or a not yet used TCP socket.
394 server: Clear FD_OOB instead of FD_READ when receiving OOB data.
395 ntdll: Introduce IOCTL_AFD_WINE_RECVMSG.
396 ws2_32: Use IOCTL_AFD_WINE_RECVMSG in WS2_recv_base().
397 ntdll: No longer export __wine_locked_recvmsg().
398 ntdll: Introduce IOCTL_AFD_WINE_SENDMSG.
399 ws2_32: Use IOCTL_AFD_WINE_SENDMSG in WS2_sendto().
400 wined3d: Store the framebuffer state inline in struct wined3d_cs_clear.
401 d3d11: Implement ID3D11Device::CreateDeferredContext().
402 d3d11: Implement ID3D11Device1::CreateDeferredContext1().
403 wined3d: Keep a list of acquired resources in struct wined3d_deferred_context.
404 d3d11: Implement ID3D11DeviceContext::ClearState() using a single CS op.
405 d3d11: Implement ID3D11DeviceContext::FinishCommandList().
406 wined3d: Implement restoring context in wined3d_deferred_context_record_command_list().
407 d3d11: Implement ID3D11DeviceContext::ExecuteCommandList().
408 ntdll: Quiet some noisy ETW FIXMEs.
409 ntdll: Introduce IOCTL_AFD_WINE_TRANSMIT.
410 ws2_32: Use IOCTL_AFD_WINE_TRANSMIT.
411 ws2_32/tests: Separate and expand tests for FIONREAD and SIOCATMARK.
412 ws2_32/tests: Add more tests for FIONBIO.
413 ws2_32/tests: Expand tests for SIO_KEEPALIVE_VALS.
414 ws2_32/tests: Call getsockname() on the right socket.
415 ws2_32/tests: Fix some more test failures on Vista and older.
416 ws2_32/tests: Add some tests for unsupported socket ioctls.
417 ws2_32/tests: Add more tests for SIO_GET_EXTENSION_FUNCTION_ADDRESS.
418 ws2_32/tests: Expand tests for SIO_ROUTING_INTERFACE_QUERY.
419 ws2_32/tests: Fix yet another test failure with Vista or older.
420 ws2_32/tests: Expand tests for SIO_ADDRESS_LIST_QUERY.
421 ws2_32/tests: Expand tests for SIO_GET_INTERFACE_LIST.
422 ws2_32: Always return WSAEFAULT from WSAIoctl() if ret_size is NULL.
423 ws2_32: Use socket_apc for WSAIoctl() completion.
424 Revert "ntdll: Preserve syscall frame when calling async IO system APC.".
425 server: Introduce IOCTL_AFD_WINE_FIONBIO.
426 ws2_32: Use IOCTL_AFD_WINE_FIONBIO.
427 server: Remove the no longer used enable_socket_event request.
428 ntdll: Introduce IOCTL_WINE_AFD_COMPLETE_ASYNC.
429 ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_GET_EXTENSION_FUNCTION_POINTER.
430 ws2_32: Fail with WSAEINVAL if a requested extension function is not found.
431 ntdll: Introduce IOCTL_AFD_WINE_FIONREAD.
432 ws2_32: Use IOCTL_AFD_WINE_FIONREAD.
433 ntdll: Introduce IOCTL_AFD_WINE_SIOCATMARK.
434 ws2_32: Use IOCTL_AFD_WINE_SIOCATMARK.
435 winebuild: Fix a typo in a comment.
436 ws2_32/tests: Add more tests for sockets that cannot be accepted into.
439 winex11.drv: Always add MWM_FUNC_CLOSE to enabled windows.
440 kernel32/tests: Test GetFileAttributesExW() with a NT path not in canonical form.
441 appwiz.cpl: Canonicalize paths before passing them to GetFileAttributesW().
444 windowscodecs/tests: Introduce create_and_init_encoder.
445 windowscodecs/tests: Add more test data for IWICDdsEncoder_SetParameters.
446 windowscodecs/tests: Test CreateNewFrame for DDS encoder.
447 windowscodecs: Implement IWICDdsEncoder_CreateNewFrame.
448 windowscodecs: Implement DdsEncoder_CreateNewFrame on top of DdsEncoder_Dds_CreateNewFrame.
449 windowscodecs/tests: Call SetParameters in create_and_init_encoder.
450 windowscodecs: Implement DdsFrameEncode_Initialize.
451 windowscodecs/tests: Test DDS encoder pixel format.
452 windowscodecs: Implement DdsFrameEncode_SetPixelFormat.