MantisBT - Zandronum
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003770||Zandronum||[All Projects] Bug||public||2020-03-20 20:33||2021-02-23 21:54|
|Platform||PC||OS||Microsoft Windows||OS Version||10|
|Target Version||Fixed in Version|
|Summary||0003770: SetDeviceGammaRamp() unreliable in multi-display setup|
|Description||This issue is difficult to diagnose because so far 3 different systems have given me 3 different results. The problem is:|
When there is more than one monitor connected to the system, SetDeviceGammaRamp() when called on a HDC obtained from GetDC() may fail and not set gamma at all. The observed problem is that the `gamma` CCMD doesn't work in OpenGL.
I can reproduce this problem with 100% repetition on my main Win 10 PC only if I connect a second monitor to my GPU. When I have just one monitor, there is no problem.
On my laptop (with Windows 7) I can reproduce a different problem with SetDeviceGammaRamp(): the function works as the gamma is set, but it returns FALSE as if it failed.
Pol M says that there is no problem at all on his computer.
I did some research in to this issue and it seems that SetDeviceGammaRamp() is more reliable if the HDC is not obtained from GetDC() but from CreateDC(). Using CreateDC() is also the way to control the monitors separately.
The problem is not present in the recent GZDoom versions. GZDoom doesn't call SetDeviceGammaRamp() anymore. It seems that they've converted to applying the gamma adjustments in the shaders.
There is also no problem in Zandronum's software mode at all.
|Steps To Reproduce|
|Additional Information||Here's an app that has two examples:|
1. Example 1 uses GetDC() (the same as Zandronum) and fails on my PC with more than one monitor
2. Example 2 uses CreateDC() and succeeds
This problem may be the same problem that was reported in ticket 0002957.
|Tags||No tags attached.|
|2020-03-20 20:33||Zalewa||New Issue|
|2020-12-03 14:22||otarU1921||Note Added: 0021573|
|2020-12-07 09:57||Visual Vincent||Note Added: 0021576|
|2020-12-07 09:57||Visual Vincent||Note Edited: 0021576||bug_revision_view_page.php?bugnote_id=21576#r13271|
|2020-12-07 09:58||Visual Vincent||Note Edited: 0021576||bug_revision_view_page.php?bugnote_id=21576#r13272|
|2020-12-07 09:58||Visual Vincent||Note Edited: 0021576||bug_revision_view_page.php?bugnote_id=21576#r13273|
|2021-02-23 21:54||Visual Vincent||Note Added: 0021602|