[PATCH 2/2] Fix the build without composite

Michel Dänzer michel at daenzer.net
Wed Jul 22 19:00:26 PDT 2015


On 22.07.2015 19:53, Emil Velikov wrote:
> On 22 July 2015 at 08:39, Michel Dänzer <michel at daenzer.net> wrote:
>> On 22.07.2015 07:55, Emil Velikov wrote:
>>> Inspired by a identical commit for xf86-video-nouveau by Ilia Mirkin.
>>>
>>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>>> ---
>>>
>>> Compile tested only.
>>>
>>>  src/radeon_dri2.c | 8 ++++++--
>>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
>>> index 7587a0c..814d751 100644
>>> --- a/src/radeon_dri2.c
>>> +++ b/src/radeon_dri2.c
>>> @@ -443,8 +443,12 @@ radeon_dri2_copy_region2(ScreenPtr pScreen,
>>>      if (translate && drawable->type == DRAWABLE_WINDOW) {
>>>       PixmapPtr pPix = GetDrawablePixmap(drawable);
>>>
>>> -     off_x = drawable->x - pPix->screen_x;
>>> -     off_y = drawable->y - pPix->screen_y;
>>> +#ifdef COMPOSITE
>>> +     off_x = - pPix->screen_x;
>>> +     off_y = - pPix->screen_y;
>>> +#endif
>>> +     off_x += drawable->x;
>>> +     off_y += drawable->y;
>>>      }
>>
>> There's more code which effectively relies on COMPOSITE being defined,
>> because it doesn't add drawable->x/y otherwise. Either that needs to be
>> fixed as well, or maybe we should just bail in configure if COMPOSITE
>> isn't defined.
>>
> Ok. I'll give it another shot in a few days.

FWIW, if you want to continue with this approach, I think this would
look nicer:

     off_x = drawable->x;
     off_y = drawable->y;

#ifdef COMPOSITE
     off_x -= pPix->screen_x;
     off_y -= pPix->screen_y;
#endif


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the xorg-driver-ati mailing list