Browse Source

Fix for RENDER hooks on Xorg < 1.12

TriFan and TriStrip were added in 1.12, so we need to have that code
conditional to support older versions of Xorg.
tags/v1.8.90
Pierre Ossman 6 years ago
parent
commit
8f652339cd
1 changed files with 12 additions and 0 deletions
  1. 12
    0
      unix/xserver/hw/vnc/vncHooks.c

+ 12
- 0
unix/xserver/hw/vnc/vncHooks.c View File

@@ -74,9 +74,11 @@ typedef struct _vncHooksScreenRec {
CompositeRectsProcPtr CompositeRects;
TrapezoidsProcPtr Trapezoids;
TrianglesProcPtr Triangles;
#if PICTURE_SCREEN_VERSION >= 2
TriStripProcPtr TriStrip;
TriFanProcPtr TriFan;
#endif
#endif
#ifdef RANDR
RRSetConfigProcPtr rrSetConfig;
RRScreenSetSizeProcPtr rrScreenSetSize;
@@ -163,6 +165,7 @@ static void vncHooksTrapezoids(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
static void vncHooksTriangles(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int ntri, xTriangle * tris);
#if PICTURE_SCREEN_VERSION >= 2
static void vncHooksTriStrip(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int npoint, xPointFixed * points);
@@ -170,6 +173,7 @@ static void vncHooksTriFan(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int npoint, xPointFixed * points);
#endif
#endif
#ifdef RANDR
static Bool vncHooksRandRSetConfig(ScreenPtr pScreen, Rotation rotation,
int rate, RRScreenSizePtr pSize);
@@ -329,8 +333,10 @@ int vncHooksInit(int scrIdx)
wrap(vncHooksScreen, ps, CompositeRects, vncHooksCompositeRects);
wrap(vncHooksScreen, ps, Trapezoids, vncHooksTrapezoids);
wrap(vncHooksScreen, ps, Triangles, vncHooksTriangles);
#if PICTURE_SCREEN_VERSION >= 2
wrap(vncHooksScreen, ps, TriStrip, vncHooksTriStrip);
wrap(vncHooksScreen, ps, TriFan, vncHooksTriFan);
#endif
}
#endif
#ifdef RANDR
@@ -489,8 +495,10 @@ static Bool vncHooksCloseScreen(ScreenPtr pScreen_)
unwrap(vncHooksScreen, ps, CompositeRects);
unwrap(vncHooksScreen, ps, Trapezoids);
unwrap(vncHooksScreen, ps, Triangles);
#if PICTURE_SCREEN_VERSION >= 2
unwrap(vncHooksScreen, ps, TriStrip);
unwrap(vncHooksScreen, ps, TriFan);
#endif
}
#endif
#ifdef RANDR
@@ -1067,6 +1075,8 @@ static void vncHooksTriangles(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
RENDER_EPILOGUE(Triangles);
}

#if PICTURE_SCREEN_VERSION >= 2

static void vncHooksTriStrip(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int npoint, xPointFixed * points)
@@ -1185,6 +1195,8 @@ static void vncHooksTriFan(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
RENDER_EPILOGUE(TriFan);
}

#endif /* PICTURE_SCREEN_VERSION */

#endif /* RENDER */

#ifdef RANDR

Loading…
Cancel
Save