Tuesday, December 13, 2016

World Wine News issue 404

As with the last WWN, this time all the news are written by Stefan Dösinger! I just did the stats.

Code Freeze

Alexandre has released Wine-2.0-rc1 and imposed martial law code freeze:

The release of 2.0-rc1 marks the beginning of code freeze towards 2.0.
Most of you probably know the drill already, but from now on, only
targeted bug fixes and other "safe" changes, like test fixes,
translation updates, etc. will be accepted.

I know that many people will soon be out for the holidays, but I hope we
can still make significant progress with the open bugs, particularly
with the bugs from the regression list. Now would also be a good time to
retest your favorite applications to make sure that there are no
regressions that we have missed.

As usual, I'll be making release candidates every week, until we run out
of bugs...

Thank you all for helping make Wine 2.0 as good as we can!

Direct3D 11 development

Wine‘s Direct3D 11 implementation is making progress! Over the past months Józef Kucia and Matteo Bruni have been slowly, but steadily piling on work in d3d11.dll and wined3d.dll to restructure and add the necessary features. A lot of work is still missing, so don‘t expect fancy titles to run yet. Simpler games have started working a year ago .

Last month Andrew Wesie sent a big patchset consisting of 23 changes to wine-patches that promised to make Blizzard‘s Overwatch run on Wine. Not all of these changes concerned d3d11 – some were changes to the way certain CPU registers are handled in ntdll‘s exception handler. Andrew indicated that those changes are necessary to make the game‘s anti-debug protection work. The d3d-related patches add a few missing d3d11 pieces: Instancing-related shader registers, buffer shader resource views, primitive restart and so on. He also warned that these patches are not enough to make the game run, and more work was needed.

Matteo and Henri Verbeet have provided reviews for the patches. The main concern were missing tests and some implementation details. Andrew has submitted tests and an implementation for two sided stencil, tests for the primitive restart index and the return instruction in shader functions . These patches passed review and are already included in Wine git. Józef has cleaned up Andrew‘s implementation of the return instruction, which is upstream now too.

Besides helping Andrew, Józef has been busy implementing Unordered Access Views (UAVs). They provide read-modify-write access to resources from shaders. Historically resources could either be read (Textures, Buffers) or written to (Render Targets), and it was not allowed to use the same resource for reading and writing at the same time. The OpenGL equivalent of this feature is called image load/store .

An open issue with anything newer than Direct3D9 is that wined3d still depends on legacy OpenGL 2 features and many drivers do not expose some features necessary for d3d10/11 in legacy contexts. With the MaxVersionGL key set wined3d will request a core context, but certain blitting corner cases are still broken. Mesa and the Nvidia binary driver mostly work. On MacOS you are most likely out of luck.

And finally here is a screenshot provided by Andrew showing Overwatch running on his Linux desktop:

Full Article

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

No comments: