http://bugs.winehq.org/show_bug.cgi?id=31393
Bug #: 31393 Summary: Nvidia force antialiasing no longer works Product: Wine Version: 1.5.10 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: b7.10110111@gmail.com Classification: Unclassified Regression SHA1: 09443f14e75e134328643b5d33aff61bdf4dca32
After AlwaysOffscreen has become enabled by default, games such as GTAIII and GTAVC (which are unaware of FSAA) can't benefit from nvidia antialiasing settings out of the box. I'm not sure if it's intended result, but despite it being possible to disable it back, new default seems no good to me as e.g. on Windows it's enough to set antialiasing in the driver utility and there's no need to change D3D configuration. Maybe wine should check whether default render target is multisampled and toggle the default?
http://bugs.winehq.org/show_bug.cgi?id=31393
Ruslan b7.10110111@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hverbeet@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=31393
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=31393
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Regression SHA1|09443f14e75e134328643b5d33a | |ff61bdf4dca32 | Severity|normal |enhancement
--- Comment #1 from Henri Verbeet hverbeet@gmail.com 2012-08-03 15:05:09 CDT --- That's not really a regression at all, or Wine's problem in the first place, when it comes down to it. That said, if someone wrote a patch to force swapchain surfaces to be created with a minimum number of samples, controllable through winecfg, I wouldn't necessarily be opposed to it. That's an enhancement at best though.
http://bugs.winehq.org/show_bug.cgi?id=31393
ax 34noff otaku@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |otaku@rambler.ru
http://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #2 from ax 34noff otaku@rambler.ru 2012-08-06 09:40:19 CDT --- 2 workarounds: set "orm=backbuffer" or "ao=disabled" in winetricks/your-prefix/"change settings"
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #3 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for two years. Is this still an issue in current (1.7.25 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #4 from ax 34noff otaku@rambler.ru --- The same on AMD GPU. Maybe it's not Wine's bug but feature? I noticed it in some native games too.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #5 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to ax 34noff from comment #4)
Maybe it's not Wine's bug but feature? I noticed it in some native games too.
Yeah, it's already marked as importance:enhancement, so yeah, this bug report is considered as feature request.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #6 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.51 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #7 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Austin English from comment #6)
This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.51 or newer) wine?
Yes.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #8 from Henri Verbeet hverbeet@gmail.com --- Created attachment 53884 --> https://bugs.winehq.org/attachment.cgi?id=53884 patch
Does this patch help? It introduces a DWORD registry key "SampleCount" that allows the sample count for the back buffer to be overridden.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #9 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #8)
Does this patch help? It introduces a DWORD registry key "SampleCount" that allows the sample count for the back buffer to be overridden.
Seems to work. As I've tested it with GTAVC, it appears that I can set any number of samples regardless of nvidia's driver settings (__GL_FSAA_MODE). On the one hand, I suppose this allows to work even with non-nvidia drivers (fglrx? mesa seems to have been bad with MS). On the other hand, if I put some "bad" value there, like 5, 6 or 7 for on my GTX 750 Ti, wine just refuses to work giving the following errors:
err:winediag:wined3d_dll_init Forcing sample count to 7. This may not be compatible with all applications. fixme:win:EnumDisplayDevicesW ((null),0,0x33f424,0x00000000), stub! err:ddraw:ddraw_create_swapchain Failed to create swapchain, hr 0x8876086a. err:ddraw:ddraw_set_cooperative_level Failed to create swapchain, hr 0x8876086a. fixme:win:EnumDisplayDevicesW ((null),0,0x33f444,0x00000000), stub! err:ddraw:ddraw_create_swapchain Failed to create swapchain, hr 0x8876086a. err:ddraw:ddraw_set_cooperative_level Failed to create swapchain, hr 0x8876086a. fixme:win:EnumDisplayDevicesW ((null),0,0x33f264,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33f6a4,0x00000000), stub!
This is in contrast with __GL_FSAA_MODE, where if the mode is unsupported, the setting is (IIRC) ignored, or at least proceeds with some safe default. Also, if we take nVidia's documentation, this variable not only changes number of samples, but also chooses the mode, like "8x (4xSS, 2xMS)". Not sure if Wine is technically able to support such distinction though.
https://bugs.winehq.org/show_bug.cgi?id=31393
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53884|0 |1 is obsolete| |
--- Comment #10 from Henri Verbeet hverbeet@gmail.com --- Created attachment 53903 --> https://bugs.winehq.org/attachment.cgi?id=53903 patch
How about this one? It tries harder to avoid invalid sample counts.
(In reply to Ruslan Kabatsayev from comment #9)
Also, if we take nVidia's documentation, this variable not only changes number of samples, but also chooses the mode, like "8x (4xSS, 2xMS)". Not sure if Wine is technically able to support such distinction though.
Yeah, we only support MSAA at the moment, no CSAA or SSAA.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #11 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #10)
How about this one? It tries harder to avoid invalid sample counts.
This works better. It now seems to even find the exact counts I've specified in the registry (at least it reports that number in the "Forcing sample count to", and the difference is visible between 4 and 5 samples choices) even in the cases which previously failed.
https://bugs.winehq.org/show_bug.cgi?id=31393
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |91f0b0010347fc501ba6c0ad717 | |9dd23c9dfa142 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #12 from Henri Verbeet hverbeet@gmail.com --- Should be fixed by commit 91f0b0010347fc501ba6c0ad7179dd23c9dfa142. Do you happen to know about any other issues that currently require disabling AlwaysOffscreen?
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #13 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #12)
Do you happen to know about any other issues that currently require disabling AlwaysOffscreen?
No, I've had it disabled since the version which broke antialiasing, so I didn't have any chance to come across any other issue.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #14 from Henri Verbeet hverbeet@gmail.com --- (In reply to Ruslan Kabatsayev from comment #13)
No, I've had it disabled since the version which broke antialiasing, so I didn't have any chance to come across any other issue.
Ok. If you get the chance, it would be good to check if there are any. We'd like to remove the AlwaysOffscreen setting at some point. It probably won't happen next week, but there's a good chance it will happen before the next major Wine release.
https://bugs.winehq.org/show_bug.cgi?id=31393
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.7.
https://bugs.winehq.org/show_bug.cgi?id=31393
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x CC| |mstefani@redhat.com
https://bugs.winehq.org/show_bug.cgi?id=31393
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #16 from Michael Stefaniuc mstefani@redhat.com --- Taking it of 1.8.x as it depends on Matteo's multisampling changes aka
commit 8ec3d6f5a2a77190c28fe1f4adebb77a5cf4d9ea Author: Matteo Bruni mbruni@codeweavers.com Date: Thu Jan 28 00:15:43 2016 +0100
wined3d: Add a real implementation of wined3d_check_device_multisample_type().
and a rats nest of dependencies.
https://bugs.winehq.org/show_bug.cgi?id=31393
--- Comment #17 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #10)
Yeah, we only support MSAA at the moment, no CSAA or SSAA.
Actually it seems that simply requesting 9 samples results in choosing a mode equivalent to __GL_FSAA_MODE=11, i.e. 4xSS+4xMS, so it seems Wine doesn't have to implement any of CSAA or SSAA to make this work.