Re: "Fixes" for page flipping under PRIME on AMD & nouveau

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 18.08.2016 um 09:52 schrieb Michel Dänzer:
On 18/08/16 04:41 PM, Christian König wrote:
Afaiu the prime importing display gpu generates its own gem buffer
handle (prime_fd_to_handle) from that dmabuf, importing scather-gather
tables to access the dmabuf in system ram. As far as page flipping is
concerned, so far those gem buffers / radeon_bo's aren't treated any
different than native ones. During pageflip setup they get pinned into
VRAM, which moves (=copies) their content from the RAM dmabuf backing
store into VRAM.
Your understanding isn't correct. Buffers imported using prime always
stay in GTT, they can't be moved to VRAM.
That's the theory, but based on Mario's description it's clear that
there is at least one bug which either actually allows a shared buffer
to be moved to VRAM, or at least doesn't propagate the error correctly,
so the page flip operation "succeeds".


It's the DDX which copies the buffer content from the imported prime
handle into a native on which is enabled to scan out.
There is no such code which could explain what Mario is seeing.

How should this work then otherwise?

I agree that I don't understand fully either what is happening here, but I find it quite unlikely that we actually scan out from system memory without the proper hardware setup.

On the other hand that we accidentally move a prime imported buffer to VRAM could be possible, but this would clearly be a rather severe bug we hopefully have noticed already.

Any other idea what actually happens here?

Regards,
Christian.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux