Originally posted by bridgman
View Post
Announcement
Collapse
No announcement yet.
It Looks Like AMDGPU DC (DAL) Will Not Be Accepted In The Linux Kernel
Collapse
X
-
Originally posted by dungeon View Post
for better picture of the whole story someone should just make a list of all features for Windows which are maded on top of DAL and to realise that thing tend to be huge
Functionality- FreeSync in full screen mode
- FreeSync window mode
- 8k@30Hz, 5k@60hz, 4k@120Hz with DP1.4 HBR3
- HDMI 2.0: 4k@60
- HDMI deep color up to 12bpcc
- VR headsets
- HDCP: Play protected content
- DP and HDMI audio. support up to 8 channel audio and HD formats
- Bad HDMI/DP cable detection
- Virtual support resolution - via downscaling
- HDR (high dynamic range)
- Timing Sync / Frame sync across multiple GPU
Performance Optimization- FreeSync refresh rate ramping: reduce panel flicker due to luminance change (which scale with refresh rate) and allow free sync to work on sub-optimal panel
- FreeSync below the range: go as low as half of min refresh rate supported by monitor.
- Direct Flip: switching between different frame buffer formats without requiring full mode set.
- Enhanced scaling quality: amdgpu only support HW default 2 taps auto-scale. DAL computes and programs the scaler maximizing image quality
- Enhanced color: more precise gamma curve, color gamut correction.
- A few more fps, lots of work goes into optimize display memory request patterns to not get in the way of rendering
Power Optimization- burst display read from memory keep DRAM self-refresh as much as possible. = hours of idle battery life
- Frame buffer compression: reduce memory bandwidth. ~half hour battery
- multip-plane overlay / android surface flinger: allow direct scan out of decode video and skip composition to desktop. = hours of batter life when watching video
- allow dynamic memory clock switch in multi-display use case. ~40 watts of saving on Hawaii
- power gating / clock gating: power off idle HW blocks
- Likes 2
Comment
-
Originally posted by dungeon View Post
And that is whole story, linux devs traditionally wanna something very easy or as easiest as possibile maintanable but this one is nothing easy...
Display account for most of the power consumption when your system is idling. While you are reading this post your GPU is 99.9% idle. However display still need to fetch 60 frames a second even if your screen hasn't update in past 10 seconds before you scroll down.
Leave a lot of clock margins, keep all caches, hw blocks and internal high bandwidth buses powered up at all time then you won't run into any problem. If modes above 300Mpix (4k@30) and power consumption isn't a concern there is no reason to have more than 10k or 20k lines of simple code to light up a display. You will still get a display if you bypass most of the HW added to display pipeline to enhance the quality of final output image.
Anyways I am sure we can workout something that works for maintainer in terms of maintainablity and our internal requirements, including delivering feature rich and performance/power optimized driver on linux. We will continue discuss the RFC in public and if you are interested in some of the discussion you can start from https://lists.freedesktop.org/archiv...er/126698.html as this thread is about to get technical.
- Likes 1
Comment
-
Originally posted by pal666 View Postyou utterly failed to understand what he said. he said that hal is already written by other team and they don't have people to rewrite it. if some imaginary community contributor jumps in and rewrites it, everybody would be happy. so who is that opensource champion?
> Just an added note on that: I do think that there's some driver teams
> who've managed to pull a shared codebase between validation and upstream
> linux (iirc some of the intel wireless drivers work like that). But it
> requires careful aligning of everything, and with something fast-moving
> like drm it might become real painful and not really worth it. So not
> outright rejecting DC (and the code sharing you want to achieve with it)
> as an idea here.
I think we have to make it work. We don't have the resources to have separate validation and Linux core teams. It's not just the coding. Much of our validation and compliance testing on Linux leverages this as well. From our perspective, I think the pain is probably worth it at this point. Display is starting to eclipse other blocks as far as complexity. Not even just the complexity of lighting up complex topologies. The really tough stuff is that display is basically a real-time service and the hw is designed with very little margin for error with respect to timing and bandwidth. That's where much of the value comes from sharing resources with validation teams. For us, that makes the potential pain of dealing with fast moving drm worth it. This is not to say that we won't adopt more use of drm infrastructure, we are working on it within the bounds of our resource constraints. Alex
Comment
-
Originally posted by pal666 View Postyou utterly failed to understand what he said. he said that hal is already written by other team and they don't have people to rewrite it. if some imaginary community contributor jumps in and rewrites it, everybody would be happy. so who is that opensource champion?Test signature
Comment
-
Originally posted by bridgman View PostThat would only work if the open source champion was also willing to rewrite support for every new chip that came out and to port fixes from the DAL/DC code we publish to the rewritten form. Otherwise nobody would be happy.
Comment
-
Originally posted by pal666 View Postwell, you still have to do it without imaginary help, so if someone will do part of your work for you, it is strictly beneficial
If they just start ripping parts out of the Linux copy and ignoring all the other platforms that just makes even more work for everyone because the code will no longer be shareable across platforms and so support for every new chip we introduce will have to go through the same transmogrification process - additional work which would not be required if the changes had been worked out cross-platform in the first place.Last edited by bridgman; 11 December 2016, 12:41 PM.Test signature
Comment
-
Originally posted by veritas View PostMichael, I think you 'forgot' 'yet' in articles heading.
The article is based on the assumption that we will never change the DC interface, while Harry's RFC already talked about continuing to clean up and reduce abstractions in DC prior to upstreaming.Last edited by bridgman; 11 December 2016, 12:50 PM.Test signature
- Likes 3
Comment
Comment