1428d7b3dSmrg#ifdef HAVE_CONFIG_H
2428d7b3dSmrg#include "config.h"
3428d7b3dSmrg#endif
4428d7b3dSmrg
5428d7b3dSmrg#include "intel_options.h"
6428d7b3dSmrg
7428d7b3dSmrgconst OptionInfoRec intel_options[] = {
8428d7b3dSmrg	{OPTION_ACCEL_DISABLE,	"NoAccel",	OPTV_BOOLEAN,	{0},	0},
9428d7b3dSmrg	{OPTION_ACCEL_METHOD,	"AccelMethod",	OPTV_STRING,	{0},	0},
10428d7b3dSmrg	{OPTION_BACKLIGHT,	"Backlight",	OPTV_STRING,	{0},	0},
11428d7b3dSmrg	{OPTION_DRI,		"DRI",		OPTV_STRING,	{0},	0},
12428d7b3dSmrg	{OPTION_PRESENT,	"Present",	OPTV_BOOLEAN,	{0},	1},
13428d7b3dSmrg	{OPTION_COLOR_KEY,	"ColorKey",	OPTV_INTEGER,	{0},	0},
14428d7b3dSmrg	{OPTION_VIDEO_KEY,	"VideoKey",	OPTV_INTEGER,	{0},	0},
15428d7b3dSmrg	{OPTION_TILING_2D,	"Tiling",	OPTV_BOOLEAN,	{0},	1},
16428d7b3dSmrg	{OPTION_TILING_FB,	"LinearFramebuffer",	OPTV_BOOLEAN,	{0},	0},
17428d7b3dSmrg	{OPTION_VSYNC,		"VSync",	OPTV_BOOLEAN,	{0},	1},
18428d7b3dSmrg	{OPTION_PAGEFLIP,	"PageFlip",	OPTV_BOOLEAN,	{0},	1},
19428d7b3dSmrg	{OPTION_SWAPBUFFERS_WAIT, "SwapbuffersWait", OPTV_BOOLEAN,	{0},	1},
20428d7b3dSmrg	{OPTION_TRIPLE_BUFFER,	"TripleBuffer", OPTV_BOOLEAN,	{0},	1},
21428d7b3dSmrg	{OPTION_PREFER_OVERLAY, "XvPreferOverlay", OPTV_BOOLEAN, {0}, 0},
22428d7b3dSmrg	{OPTION_HOTPLUG,	"HotPlug",	OPTV_BOOLEAN,	{0},	1},
23428d7b3dSmrg	{OPTION_REPROBE,	"ReprobeOutputs", OPTV_BOOLEAN,	{0},	0},
24428d7b3dSmrg	{OPTION_DELETE_DP12,	"DeleteUnusedDP12Displays", OPTV_BOOLEAN,	{0},	0},
25428d7b3dSmrg#ifdef INTEL_XVMC
26428d7b3dSmrg	{OPTION_XVMC,		"XvMC",		OPTV_BOOLEAN,	{0},	1},
27428d7b3dSmrg#endif
28428d7b3dSmrg#ifdef USE_SNA
29428d7b3dSmrg	{OPTION_ZAPHOD,		"ZaphodHeads",	OPTV_STRING,	{0},	0},
30428d7b3dSmrg	{OPTION_VIRTUAL,	"VirtualHeads",	OPTV_INTEGER,	{0},	0},
31428d7b3dSmrg	{OPTION_TEAR_FREE,	"TearFree",	OPTV_BOOLEAN,	{0},	0},
32428d7b3dSmrg	{OPTION_CRTC_PIXMAPS,	"PerCrtcPixmaps", OPTV_BOOLEAN,	{0},	0},
33428d7b3dSmrg#endif
34428d7b3dSmrg#ifdef USE_UXA
35428d7b3dSmrg	{OPTION_FALLBACKDEBUG,	"FallbackDebug",OPTV_BOOLEAN,	{0},	0},
36428d7b3dSmrg	{OPTION_DEBUG_FLUSH_BATCHES, "DebugFlushBatches", OPTV_BOOLEAN, {0}, 0},
37428d7b3dSmrg	{OPTION_DEBUG_FLUSH_CACHES, "DebugFlushCaches", OPTV_BOOLEAN, {0}, 0},
38428d7b3dSmrg	{OPTION_DEBUG_WAIT, "DebugWait", OPTV_BOOLEAN, {0}, 0},
39428d7b3dSmrg	{OPTION_BUFFER_CACHE,	"BufferCache",	OPTV_BOOLEAN,   {0},    1},
40428d7b3dSmrg#endif
41428d7b3dSmrg	{-1,			NULL,		OPTV_NONE,	{0},	0}
42428d7b3dSmrg};
43428d7b3dSmrg
44428d7b3dSmrgOptionInfoPtr intel_options_get(ScrnInfoPtr scrn)
45428d7b3dSmrg{
46428d7b3dSmrg	OptionInfoPtr options;
47428d7b3dSmrg
48428d7b3dSmrg	xf86CollectOptions(scrn, NULL);
49428d7b3dSmrg	if (!(options = malloc(sizeof(intel_options))))
50428d7b3dSmrg		return NULL;
51428d7b3dSmrg
52428d7b3dSmrg	memcpy(options, intel_options, sizeof(intel_options));
53428d7b3dSmrg	xf86ProcessOptions(scrn->scrnIndex, scrn->options, options);
54428d7b3dSmrg
55428d7b3dSmrg	return options;
56428d7b3dSmrg}
57