Skip to content

Commit 1051014

Browse files
committed
[PR #1378] render: replace ProcRenderVector[] by trivial switch/case
PR: #1378
1 parent 00df4b3 commit 1051014

File tree

1 file changed

+47
-50
lines changed

1 file changed

+47
-50
lines changed

render/render.c

Lines changed: 47 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,6 @@
6060
Bool noRenderExtension = FALSE;
6161
Bool usePanoramiX = FALSE;
6262

63-
static int
64-
_not_implemented(ClientPtr client)
65-
{
66-
return BadImplementation;
67-
}
68-
6963
static int ProcRenderQueryVersion(ClientPtr pClient);
7064
static int ProcRenderQueryPictFormats(ClientPtr pClient);
7165
static int ProcRenderQueryPictIndexValues(ClientPtr pClient);
@@ -98,44 +92,6 @@ static int ProcRenderCreateConicalGradient(ClientPtr pClient);
9892

9993
static int ProcRenderDispatch(ClientPtr pClient);
10094

101-
int (*ProcRenderVector[RenderNumberRequests]) (ClientPtr) = {
102-
ProcRenderQueryVersion,
103-
ProcRenderQueryPictFormats,
104-
ProcRenderQueryPictIndexValues,
105-
_not_implemented, /* ProcRenderQueryDithers */
106-
ProcRenderCreatePicture,
107-
ProcRenderChangePicture,
108-
ProcRenderSetPictureClipRectangles,
109-
ProcRenderFreePicture,
110-
ProcRenderComposite,
111-
_not_implemented, /* ProcRenderScale */
112-
ProcRenderTrapezoids,
113-
ProcRenderTriangles,
114-
ProcRenderTriStrip,
115-
ProcRenderTriFan,
116-
_not_implemented, /* ProcRenderColorTrapezoids */
117-
_not_implemented, /* ProcRenderColorTriangles */
118-
_not_implemented, /* ProcRenderTransform */
119-
ProcRenderCreateGlyphSet,
120-
ProcRenderReferenceGlyphSet,
121-
ProcRenderFreeGlyphSet,
122-
ProcRenderAddGlyphs,
123-
_not_implemented, /* ProcRenderAddGlyphsFromPicture */
124-
ProcRenderFreeGlyphs,
125-
ProcRenderCompositeGlyphs,
126-
ProcRenderCompositeGlyphs,
127-
ProcRenderCompositeGlyphs,
128-
ProcRenderFillRectangles,
129-
ProcRenderCreateCursor,
130-
ProcRenderSetPictureTransform,
131-
ProcRenderQueryFilters,
132-
ProcRenderSetPictureFilter,
133-
ProcRenderCreateAnimCursor,
134-
ProcRenderAddTraps,
135-
ProcRenderCreateSolidFill,
136-
ProcRenderCreateLinearGradient,
137-
ProcRenderCreateRadialGradient, ProcRenderCreateConicalGradient};
138-
13995
int RenderErrBase;
14096
static DevPrivateKeyRec RenderClientPrivateKeyRec;
14197

@@ -1867,10 +1823,53 @@ ProcRenderDispatch(ClientPtr client)
18671823
{
18681824
REQUEST(xReq);
18691825

1870-
if (stuff->data < RenderNumberRequests)
1871-
return (*ProcRenderVector[stuff->data]) (client);
1872-
else
1873-
return BadRequest;
1826+
switch (stuff->data) {
1827+
case X_RenderQueryVersion: return ProcRenderQueryVersion(client);
1828+
case X_RenderQueryPictFormats: return ProcRenderQueryPictFormats(client);
1829+
/* 0.7 */
1830+
case X_RenderQueryPictIndexValues: return ProcRenderQueryPictIndexValues(client);
1831+
case X_RenderQueryDithers: return BadImplementation;
1832+
case X_RenderCreatePicture: return ProcRenderCreatePicture(client);
1833+
case X_RenderChangePicture: return ProcRenderChangePicture(client);
1834+
case X_RenderSetPictureClipRectangles: return ProcRenderSetPictureClipRectangles(client);
1835+
case X_RenderFreePicture: return ProcRenderFreePicture(client);
1836+
case X_RenderComposite: return ProcRenderComposite(client);
1837+
case X_RenderScale: return BadImplementation;
1838+
case X_RenderTrapezoids: return ProcRenderTrapezoids(client);
1839+
case X_RenderTriangles: return ProcRenderTriangles(client);
1840+
case X_RenderTriStrip: return ProcRenderTriStrip(client);
1841+
case X_RenderTriFan: return ProcRenderTriFan(client);
1842+
case X_RenderColorTrapezoids: return BadImplementation;
1843+
case X_RenderColorTriangles: return BadImplementation;
1844+
/* case X_RenderTransform: return BadImplementation; --> doesn't actually exist */
1845+
case X_RenderCreateGlyphSet: return ProcRenderCreateGlyphSet(client);
1846+
case X_RenderReferenceGlyphSet: return ProcRenderReferenceGlyphSet(client);
1847+
case X_RenderFreeGlyphSet: return ProcRenderFreeGlyphSet(client);
1848+
case X_RenderAddGlyphs: return ProcRenderAddGlyphs(client);
1849+
case X_RenderAddGlyphsFromPicture: return BadImplementation;
1850+
case X_RenderFreeGlyphs: return ProcRenderFreeGlyphs(client);
1851+
case X_RenderCompositeGlyphs8: return ProcRenderCompositeGlyphs(client);
1852+
case X_RenderCompositeGlyphs16: return ProcRenderCompositeGlyphs(client);
1853+
case X_RenderCompositeGlyphs32: return ProcRenderCompositeGlyphs(client);
1854+
case X_RenderFillRectangles: return ProcRenderFillRectangles(client);
1855+
/* 0.5 */
1856+
case X_RenderCreateCursor: return ProcRenderCreateCursor(client);
1857+
/* 0.6 */
1858+
case X_RenderSetPictureTransform: return ProcRenderSetPictureTransform(client);
1859+
case X_RenderQueryFilters: return ProcRenderQueryFilters(client);
1860+
case X_RenderSetPictureFilter: return ProcRenderSetPictureFilter(client);
1861+
/* 0.8 */
1862+
case X_RenderCreateAnimCursor: return ProcRenderCreateAnimCursor(client);
1863+
/* 0.9 */
1864+
case X_RenderAddTraps: return ProcRenderAddTraps(client);
1865+
/* 0.10 */
1866+
case X_RenderCreateSolidFill: return ProcRenderCreateSolidFill(client);
1867+
case X_RenderCreateLinearGradient: return ProcRenderCreateLinearGradient(client);
1868+
case X_RenderCreateRadialGradient: return ProcRenderCreateRadialGradient(client);
1869+
case X_RenderCreateConicalGradient: return ProcRenderCreateConicalGradient(client);
1870+
}
1871+
1872+
return BadRequest;
18741873
}
18751874

18761875
static void _X_COLD
@@ -1908,8 +1907,6 @@ swapStops(void *stuff, int num)
19081907
} \
19091908
} \
19101909

1911-
int (*PanoramiXSaveRenderVector[RenderNumberRequests]) (ClientPtr);
1912-
19131910
static int
19141911
PanoramiXRenderCreatePicture(ClientPtr client, xRenderCreatePictureReq *stuff)
19151912
{

0 commit comments

Comments
 (0)