[PATCH 1/2] drm: Add DRM_CAP_PRIME_SCANOUT.
deathsimple at vodafone.de
Tue Apr 4 11:43:22 UTC 2017
Am 04.04.2017 um 13:32 schrieb Daniel Stone:
> On 4 April 2017 at 12:15, Christian König <deathsimple at vodafone.de> wrote:
>> Am 04.04.2017 um 12:43 schrieb Daniel Stone:
>>> Yeah, the ABI is that AddFB2 should fail hard on something which can
>>> never be used as a framebuffer. The fact it didn't is a bug rather
>>> than a behavioural change per se ...
>> I agree on that, but the problem Christopher tries to solve looks a bit
>> different from my perspective.
>> He wants to know if a driver can scan out from a foreign BO or if he needs
>> to copy the content.
>> The problem I see with this patch is that the kernel doesn't look like the
>> right place for this decision to make.
> Any number of constraints exist there: 'can I use any completely
> arbitrary dmabuf from anywhere?' doesn't express the full range.
Yes, completely agree.
> AddFB can fail for other totally legitimate reasons, so to me it makes the
> most sense to centralise the checks there.
Sorry, sounds like I wasn't clear on this. Removing the check in was
*not* what I've wanted to suggest.
The kernel of course needs to check if what userspace requested makes
sense and fail with a proper error message if it doesn't.
But the negotiation if two kernel drivers can work with each others data
formats for each use case is not something I would want to push into the
kernel. For this we simply have to many and to complex constraints on this.
In other words if you have an AMD APU with integrated graphics and an
AMD dGPU it is likely that both can understand what the other puts into
its buffer, even when it is completely AMD specific. The AMD user space
drivers already have code to handle such cases.
But when we have a combination of Intel+AMD or Intel+NVidia we need way
more negotiation between the two driver stacks then just the placement
More information about the dri-devel