freebsd-ports/emulators/wine
Gerald Pfeifer e3e23c3e52 Update from the Wine 2.0 release series to Wine 3.0.
This represents a year of development effort with over 6,000 individual
changes.  Due to regular syncing from the wine-devel port to this one
changes mostly relate to pkg-plist and the two ports mostly differ by
wine-devel featuring a STAGING option to support the Wine Staging
patchset.

Highlights of this new release include Direct3D 10 and 11 support,
Direct3D command stream, and improved DirectWrite and Direct2D support.
The following is a more detailed list:

== Direct3D

- A significant number of Direct3D 10 and 11 features are implemented
  in this release, including:
  - Compute shaders.
  - Hull and domain (tessellation) shaders.
  - Stream output.
  - Format capability queries.
  - A large number of shader model 4 and 5 shader instructions.
  - Shader model 4 and 5 interpolation modifiers.
  - Shader model 4 and 5 clip and cull distances.
  - Indirect draws and indirect compute dispatch.
  - Structured buffers.
  - Byte addressable buffers.
  - Append and consume buffers.
  - Unordered access view counters.
  - Cube-map arrays.
  - Layered rendering to 3-dimensional textures and texture arrays.
  - Mip-map generation.
  - Conservative depth output.
  - Type-less (sub)resource copies.
  - Depth bias.
- Support for OpenGL core contexts in Direct3D is improved, to the
  point that core contexts are used by default for Direct3D 10 and 11
  applications on AMD and Intel graphics cards. As a result, users of
  those graphics cards in combination with Mesa OpenGL drivers should
  no longer need to set the "MaxVersionGL" registry key to enable
  Direct3D 10 and 11 support.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKCU\Software\Wine\Direct3D registry key:
  - "csmt" (REG_DWORD)
    Enable (0x1) or disable (0x0, default) the multi-threaded command
    stream feature described above.
- Deprecated HKCU\Software\Wine\Direct3D registry keys:
  - "StrictDrawOrdering"
    This has been superseded by the multi-threaded command stream feature.
  - "OffscreenRenderingMode"
    The "fbo" setting is the only remaining supported value. The
    "backbuffer" setting, while still available, is no longer supported.
- Removed HKCU\Software\Wine\Direct3D registry keys:
  - "AlwaysOffscreen"
    This is always enabled in this release.
  - "MultiSampling"
    Use the "SampleCount" (REG_DWORD) setting to force a specific
    multi-sample anti-aliasing sample count for swapchain render
    targets instead.

== Graphics

- Drawing outlines of Direct2D geometry objects.
- Direct2D linear and radial gradient brushes.
- Direct2D compatibility with GDI.
- Bounds computation of Direct2D geometry objects.
- Simplification of Direct2D geometry objects.
- The OpenGL extension list is updated to OpenGL version 4.6.
- The system GLU library is only needed when the Nurbs renderer is
  used, all other GLU functions are implemented internally.
- Metafile playback in GdiPlus supports most of the GdiPlus-specific
  metafile record types, in addition to the standard metafile records.
- GdiPlus graphics operations take the GDI transform into account.
- Encoding image formats with a palette is supported in WindowsCodecs.

== Kernel

- The default Windows version is set to Windows 7.
- The full semantics of named pipes are implemented, including
  message-mode pipes.
- Position Independent Executables are supported, both for the Wine binary
  itself and also when starting external binaries.
- Serial and parallel port devices are created automatically, with the
  corresponding symlinks in the dosdevices directory. The detected ports
  can be overridden through the HKLM\Software\Wine\Ports key.
- Safe DLL search mode is implemented. It is enabled by default, and
  can be disabled by setting the "SafeDllSearchMode" value to 0 under
  HKLM\System\CurrentControlSet\Control\Session Manager.
- Safe process search mode is implemented. It is disabled by default
  but can be requested by the application, and it can be forced by
  setting the "SafeProcessSearchMode" value to 1 under
  HKLM\System\CurrentControlSet\Control\Session Manager.
- Asynchronous I/O performance is improved by reducing the number of
  server calls.
- Memory write watches work correctly when used concurrently with file
  I/O on the same buffers.
- Virtual memory allocations can be arbitrarily large on 64-bit platforms.

== User interface

- The built-in mouse cursors are redesigned, and available in higher
  resolution for high DPI screens.
- The Shell Explorer, the common dialogs, and the RichEdit control
  properly scale on high DPI screens.
- The screen DPI value can be overridden by setting the "LogPixels"
  value under HKEY_CURRENT_USER\Control Panel\Desktop.
- In desktop mode, higher display resolutions with various aspect
  ratios are supported.
- Task Dialog common control.
- The Internal User Interface is supported in MSI.
- Double-buffered theme painting.
- The TWAIN library supports a user dialog for selecting the scanner
  source.
- Device-independent bitmaps and metafiles can be stored into the OLE
  Data Cache.

== Desktop integration

- The StartupWMClass field is set in generated desktop files so that
  they can be matched to their respective Windows binary.
- Clipboard changes from other X11 applications are detected through
  the Xfixes library instead of polling.
- The RichEdit control supports pasting metafiles.
- The Program Manager DDE protocol for manipulating program entries
  and groups is implemented.
- The HID service for detecting Plug & Play devices is active by default.

== Text and fonts

- Contextual glyph substitution is supported in UniScribe.
- Character tables are based on version 10.0.0 of the Unicode Standard.
- The Nepali and Bangla (India) locales are supported.
- Font support is compatible with the new behaviors introduced in
  FreeType version 2.8.1.

== DirectWrite

- Trailing line trimming signs in both character and word modes is
  supported.
- Cluster wrapping mode.
- Uniform and proportional line spacing methods.
- Oblique and bold simulation is also supported in bitmap rendering mode.
- Per-factory cache is thread safe.
- Overhang metrics evaluation for layouts.
- In-memory font file loader is implemented and is available to
  applications.

== D3DX

- Support for D3DX 9 preshaders is improved.
- Support for D3DX 9 application defined effect state managers
  (ID3DXEffectStateManager).
- Using effect pools to share effect parameters between D3DX 9 effects.

== Internet and networking

- UDP/TCP listeners are implemented in Web Services.
- Web Services supports the .NET Binary Format, including the string
  table extension.
- Web Services supports the .NET Message Framing Protocol.
- Asynchronous support is enabled for receiving messages in Web Services.
- HTML event handling is rewritten to support standard-compliant mode.
- Multiple new standard-compliant HTML APIs are supported. HTML document
  mode support is improved to preserve compatibility with documents
  expecting legacy behavior.
- The WebBrowser control supports MHTML files.
- Embedding HTML documents in .NET applications is better supported.
- WinHTTP correctly parses cookie attributes.

== Cryptography

- Cryptographic hashes are implemented internally instead of relying
  on GnuTLS.
- AES encryption is supported.
- The Microsoft Root Certificate 2011 is added to the list of known
  Microsoft certificates.
- The Mono and Gecko add-on packages are verified with SHA256 checksums.

== Built-in applications

- Registry importing and exporting in RegEdit is reimplemented for
  better compatibility. Windows 3.1 registry files can also be imported.
  Registry files are exported to Unicode format by default.
- RegEdit always shows the 64-bit view of the registry on 64-bit prefixes.
- The Reg.exe registry manipulation tool supports importing and exporting
  registry files.
- The command interpreter implements the MKLINK command.
- The command interpreter supports escape characters in the prompt string.
- WineMine shows a confirmation dialog before resetting the best scores.

== Tools

- The IDL compiler (widl) handles C++ aggregate returns in an
  MSVC-compatible way.
- The resource compiler (wrc) supports translating version resources
  through the po files.
- The Wine debugger (winedbg) supports printing floating point and SSE
  register state.
- All Perl scripts that parse XML use the standard XML::LibXML module.
- The obsolete wineinstall tool is removed.

== Miscellaneous

- XAudio supports float audio formats with more than 2 channels.
- The Scheduler and related classes are supported in the C++ runtime.
- SQL driver installation is supported in ODBC.
- The ProgramData well known directory is supported.
- The Mono engine is updated with upstream Mono fixes, and supports
  the Mono profiler API version 2.
- The thread id is always displayed in debug traces.
2018-01-27 09:37:41 +00:00
..
files
distinfo Update from the Wine 2.0 release series to Wine 3.0. 2018-01-27 09:37:41 +00:00
Makefile Update from the Wine 2.0 release series to Wine 3.0. 2018-01-27 09:37:41 +00:00
pkg-descr
pkg-plist Update from the Wine 2.0 release series to Wine 3.0. 2018-01-27 09:37:41 +00:00