[PATCH] Only align screen / scanout pixmap height where necessary
Michel Dänzer
michel at daenzer.net
Wed Oct 7 00:04:54 PDT 2015
On 02.10.2015 23:46, Alex Deucher wrote:
> On Fri, Oct 2, 2015 at 5:11 AM, Michel Dänzer <michel at daenzer.net> wrote:
>> From: Michel Dänzer <michel.daenzer at amd.com>
>>
>> When using glamor acceleration, the pixmap's header has to have a height
>> that matches exactly what the actual height is minus the GPU memory
>> alignment. Otherwise CRTCs scanning out from the main scanout buffer
>> (e.g. every CRTC that isn't rotated or transformed in some way) won't
>> always work. This results in a bug where rotating one monitor in a
>> multi-monitor setup won't always work properly. Easiest way to reproduce
>> this:
>>
>> - Have two monitors (I've gotten this working with a 1920x1080 and
>> 1280x1024, along with two 1920x1080s)
>> - Rotate one of them from 0° to 90°, then rotate the same monitor from
>> 90° to 180°. The monitor that hasn't been rotated won't properly
>> update, and will stay on a blank screen
>>
>> This doesn't seem to make any difference when using EXA for
>> acceleration.
>>
>> Compared to Stephen Chandler's patch, this drops the height alignment
>> in most places and only keeps it where it's really necessary.
>>
>> Reported-by: Stephen Chandler Paul <cpaul at redhat.com>
>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Thanks, pushed.
> Anyone want to port this to amdgpu?
I took a look at that, but the amdgpu driver doesn't have the spurious
alignment in the first place.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-devel
mailing list