On 06.06.2016 18:14, Marek Olšák wrote:
> On Mon, Jun 6, 2016 at 10:58 AM, Michel Dänzer <mic...@daenzer.net> wrote:
>> On 03.06.2016 19:52, Marek Olšák wrote:
>>> From: Marek Olšák <marek.ol...@amd.com>
>>>
>>> Simply ignore the "scanout" flag if the surface dimensions are unlikely
>>> to be used by DCE.
>>
>> I don't like this.
>>
>> Ideally, there should be feedback from the display server so that he
>> state tracker(s) can set the PIPE_BIND_SCANOUT flag only when it's
>> really necessary.
>>
>> In the meantime, if we want to go for a hack like this, it should be in
>> the place(s) setting the flag instead of the driver ignoring it.
> 
> Is st/dri the right place then? Or the DDX?

Basically the former for DRI3 and the latter for DRI2 I think. Though
I'm afraid it looks like glamor is involved as well.


> Can the DDX unset the scanout flag (e.g. reallocate) if a surface
> isn't bound as a scanout?

The DDX driver could generally allocate pixmaps without the scanout
flag. Then if the missing flag is the only thing preventing a DRI2 page
flip, the driver could re-allocate the back buffer with the scanout flag.

With DRI3, st/dri could (re-)allocate buffers with the scanout flag
first and after any window geometry changes, then re-allocate without
the flag if the present complete event indicates that page flipping
couldn't be used.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to