Keith Whitwell <kei...@vmware.com> writes:

> Francisco,
>
> Will Mesa continue to build after these changes for people who have not
> tracked the latest glproto and dri2proto repos?  
>
> I'd prefer to be able to build Mesa on at least the most recently
> released major distros, which may require the use of some #ifdefs in the
> changes.
>
That's one of the reasons of the last rebase, see the comments in "[mesa
patch v4 1/3] dri2: Event driven buffer validation.".

> Keith
>
> On Mon, 2010-02-08 at 10:25 -0800, Francisco Jerez wrote:
>> Signed-off-by: Francisco Jerez <curroje...@riseup.net>
>> ---
>>  glx/glxdri2.c |   28 +++++++++++++++++++++++++---
>>  1 files changed, 25 insertions(+), 3 deletions(-)
>> 
>> diff --git a/glx/glxdri2.c b/glx/glxdri2.c
>> index 0f998de..dae7b42 100644
>> --- a/glx/glxdri2.c
>> +++ b/glx/glxdri2.c
>> @@ -67,6 +67,7 @@ struct __GLXDRIscreen {
>>  
>>      xf86EnterVTProc *enterVT;
>>      xf86LeaveVTProc *leaveVT;
>> +    PreConfigureWindowProcPtr PreConfigureWindow;
>>  
>>      const __DRIcoreExtension *core;
>>      const __DRIdri2Extension *dri2;
>> @@ -217,13 +218,13 @@ __glXDRIdrawableSwapBuffers(ClientPtr client, 
>> __GLXdrawable *drawable)
>>      __GLXDRIscreen *screen = priv->screen;
>>      CARD64 unused;
>>  
>> -    if (screen->flush)
>> -    (*screen->flush->flushInvalidate)(priv->driDrawable);
>> -
>>      if (DRI2SwapBuffers(client, drawable->pDraw, 0, 0, 0, &unused,
>>                      __glXdriSwapEvent, drawable->pDraw) != Success)
>>      return FALSE;
>>  
>> +    if (screen->flush)
>> +    (*screen->flush->invalidate)(priv->driDrawable);
>> +
>>      return TRUE;
>>  }
>>  
>> @@ -607,6 +608,24 @@ glxDRILeaveVT (int index, int flags)
>>  }
>>  
>>  static void
>> +glxDRIPreConfigureWindow(WindowPtr pWin, int x, int y, int w, int h, int bw,
>> +                     WindowPtr pSib)
>> +{
>> +    ScreenPtr pScreen = pWin->drawable.pScreen;
>> +    __GLXDRIscreen *screen = (__GLXDRIscreen *)glxGetScreen(pScreen);
>> +    __GLXDRIdrawable *draw = (__GLXDRIdrawable 
>> *)glxGetDrawableFromWindow(pWin);
>> +
>> +    if (screen->PreConfigureWindow)
>> +        (*screen->PreConfigureWindow)(pWin, x, y, w, h, bw, pSib);
>> +
>> +    if (!draw || (draw->height == h && draw->width == w))
>> +        return;
>> +
>> +    if (screen->flush)
>> +        screen->flush->invalidate(draw->driDrawable);
>> +}
>> +
>> +static void
>>  initializeExtensions(__GLXDRIscreen *screen)
>>  {
>>      const __DRIextension **extensions;
>> @@ -782,6 +801,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
>>      screen->leaveVT = pScrn->LeaveVT;
>>      pScrn->LeaveVT = glxDRILeaveVT;
>>  
>> +    screen->PreConfigureWindow = pScreen->PreConfigureWindow;
>> +    pScreen->PreConfigureWindow = glxDRIPreConfigureWindow;
>> +
>>      LogMessage(X_INFO,
>>             "AIGLX: Loaded and initialized %s\n", filename);
>>  

Attachment: pgprk0Voewimp.pgp
Description: PGP signature

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to