[HDR] Add display information for HDR range to about:support
Categories
(Core :: Graphics: Color Management, enhancement, P1)
Tracking
()
People
(Reporter: ahale, Assigned: ahale)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-release+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
We need to have access to the same information shown in the Display Information section of chrome://gpu/ on chromium-based browsers, for HDR purposes we need the value of the SDR reference white level (on Windows this is called SDR content brightness in Settings -> System -> Display -> HDR from a user perspective) and the maximum luminance values of the display (there may be two - one for continuous luminance and one for focused area luminance).
This involves adding new fields to https://searchfox.org/firefox-main/source/widget/Screen.h for these properties, and relevant OS code to set them - search https://searchfox.org/firefox-main/search?q=symbol:_ZN7mozilla6widget13ScreenManager7RefreshEO8nsTArrayI6RefPtrINS0_6ScreenEEE&redirect=false
Relevant docs by OS:
- Windows - we have partial code for this where we check ColorSpace but we need to also get the luminance values from https://learn.microsoft.com/en-us/windows/win32/api/dxgi1_6/ns-dxgi1_6-dxgi_output_desc1 - see also https://learn.microsoft.com/en-us/windows/win32/direct3darticles/high-dynamic-range#step-1-obtain-the-current-sdr-reference-white-level for general docs
- macOS - we already have code that checks https://developer.apple.com/documentation/AppKit/NSScreen/maximumPotentialExtendedDynamicRangeColorComponentValue?language=objc
- Android - we have code that checks isHdr() but we want https://developer.android.com/reference/android/view/Display#getHdrCapabilities()
- Wayland - we already have code that gets the relevant structs but we're not doing much with it https://searchfox.org/firefox-main/search?q=symbol:_ZN7mozilla6widget14WaylandMonitorC1EPNS0_15ScreenGetterGtkEjP9wl_output&redirect=false
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 1•2 months ago
|
||
Updated•2 months ago
|
| Assignee | ||
Comment 3•1 month ago
|
||
The patch also fixed a bug in initializing MaxContentLightLevel but we currently aren't using that value so it does not change observed behavior.
| Assignee | ||
Comment 4•1 month ago
|
||
This also fixes a bug in initializing MaxContentLightLevel but we currently aren't using that value so it does not change observed behavior.
Original Revision: https://phabricator.services.mozilla.com/D312205
Updated•1 month ago
|
Comment 5•1 month ago
|
||
firefox-release Uplift Approval Request
- User impact if declined/Reason for urgency: No direct impact if declined as it does not change behavior, the reason for urgency is purely that we would like to have this data in about:support when we ask for it if a user encounters poor HDR video experiences on monitors that are barely HDR capable, so that we do not have to ask them to run nightly or chromium browsers to get those numbers.
This is a high priority feature for 153 so we want to be able to get this info from people experiencing problems with it.
- Code covered by automated testing?: yes
- Fix verified in Nightly?: yes
- Needs manual QE testing?: no
- Steps to reproduce for manual QE testing: If you wish to see these numbers, make sure HDR mode is on in Windows Settings - System - Display, then go to about:support in Firefox and search for Display0, each display that is in HDR mode will report its resolution and DPI settings followed by "HDR 128/455 nits" or similar, the second number is never less than the first.
- Risk associated with taking this patch: low
- Explanation of risk level: Low - we already use these APIs in the code, we're just making a couple additional queries about the display configuration.
- String changes made/needed?: N/A - as far as I know we do not translate the text within each section of about:support, the only word added is 'nits' which is a common description of brightness of a display.
- Is Android affected?: yes
Comment 6•1 month ago
|
||
| bugherder | ||
Comment 7•1 month ago
|
||
:ahale, this has a release (Fx153) uplift request but it needs a beta (Fx154) uplift request first. It landed in nightly for Fx155.
| Assignee | ||
Comment 8•1 month ago
|
||
This also fixes a bug in initializing MaxContentLightLevel but we currently aren't using that value so it does not change observed behavior.
Original Revision: https://phabricator.services.mozilla.com/D312205
Updated•1 month ago
|
Comment 9•1 month ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined/Reason for urgency: If users encounter problems with the HDR video feature we need more detailed information in about:support about their display capabilities. Until this lands we have to ask them to run Nightly or chromium to get this info.
- Code covered by automated testing?: yes
- Fix verified in Nightly?: yes
- Needs manual QE testing?: no
- Steps to reproduce for manual QE testing:
- Risk associated with taking this patch: low
- Explanation of risk level: No problems so far in nightly, and this is only collecting a little more info from existing data structures, and one additional query that chromium already does.
- String changes made/needed?: N/A
- Is Android affected?: yes
| Assignee | ||
Comment 10•1 month ago
|
||
Added a 154 uplift. At the time I made the 153 uplift request, 154 was not available as an uplift target.
Updated•1 month ago
|
Comment 11•1 month ago
|
||
| uplift | ||
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Comment 12•1 month ago
|
||
| uplift | ||
Updated•1 month ago
|
Updated•1 month ago
|
Comment 13•1 month ago
|
||
| uplift | ||
Updated•1 month ago
|
Description
•