1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/*
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * All Rights Reserved.
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * copy of this software and associated documentation files (the
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * "Software"), to deal in the Software without restriction, including
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * without limitation the rights to use, copy, modify, merge, publish,
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * distribute, sub license, and/or sell copies of the Software, and to
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * permit persons to whom the Software is furnished to do so, subject to
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the following conditions:
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice (including the
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * next paragraph) shall be included in all copies or substantial portions
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * of the Software.
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Author: Alan Hourihane <alanh@tungstengraphics.com>
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Author: Jakob Bornecrantz <wallbraker@gmail.com>
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef _XORG_TRACKER_H_
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define _XORG_TRACKER_H_
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stddef.h>
35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stdint.h>
36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <errno.h>
37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <drm.h>
38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <xf86drm.h>
39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <xf86drmMode.h>
40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <xorg-server.h>
41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <xf86.h>
42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "xf86Crtc.h"
43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <exa.h>
44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef DRM_MODE_FEATURE_DIRTYFB
46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <damage.h>
47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif
48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Prevent symbol clash */
50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#undef Absolute
51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "compat-api.h"
53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pipe/p_screen.h"
54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "util/u_inlines.h"
55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "util/u_debug.h"
56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define DRV_ERROR(msg)	xf86DrvMsg(pScrn->scrnIndex, X_ERROR, msg);
58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct kms_bo;
60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct kms_driver;
61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct exa_context;
62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct
64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{
65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    int lastInstance;
66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    int refCount;
67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    ScrnInfoPtr pScrn_1;
68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    ScrnInfoPtr pScrn_2;
69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} EntRec, *EntPtr;
70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define XORG_NR_FENCES 3
72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum xorg_throttling_reason {
74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    THROTTLE_RENDER,
75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    THROTTLE_SWAP
76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org};
77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _CustomizerRec
79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{
80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool dirty_throttling;
81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool swap_throttling;
82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool no_3d;
83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool unhidden_hw_cursor_update;
84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_pre_init) (struct _CustomizerRec *cust, int fd);
85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_screen_init)(struct _CustomizerRec *cust);
86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_screen_close)(struct _CustomizerRec *cust);
87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_enter_vt)(struct _CustomizerRec *cust);
88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_leave_vt)(struct _CustomizerRec *cust);
89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    void (*winsys_context_throttle)(struct _CustomizerRec *cust,
90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org				    struct pipe_context *pipe,
91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org				    enum xorg_throttling_reason reason);
92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*winsys_check_fb_size) (struct _CustomizerRec *cust,
93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org				  unsigned long pitch,
94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org				  unsigned long height);
95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} CustomizerRec, *CustomizerPtr;
96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct _modesettingRec
98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{
99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* drm */
100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    int fd;
101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    unsigned fb_id;
102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* X */
104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    EntPtr entityPrivate;
105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    int Chipset;
107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    EntityInfoPtr pEnt;
108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct pci_device *PciInfo;
109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool noAccel;
111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool SWCursor;
112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    CursorPtr cursor;
113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool swapThrottling;
114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool dirtyThrottling;
115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    CloseScreenProcPtr CloseScreen;
116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool no3D;
117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool from_3D;
118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool isMaster;
119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* Broken-out options. */
121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    OptionInfoPtr Options;
122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    void (*blockHandler)(BLOCKHANDLER_ARGS_DECL);
124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct pipe_fence_handle *fence[XORG_NR_FENCES];
125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    CreateScreenResourcesProcPtr createScreenResources;
127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* for frontbuffer backing store */
129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*destroy_front_buffer)(ScrnInfoPtr pScrn);
130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*create_front_buffer)(ScrnInfoPtr pScrn);
131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool (*bind_front_buffer)(ScrnInfoPtr pScrn);
132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* kms */
134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct kms_driver *kms;
135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct kms_bo *root_bo;
136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    uint16_t lut_r[256], lut_g[256], lut_b[256];
137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* gallium */
139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct pipe_screen *screen;
140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct pipe_context *ctx;
141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    boolean d_depth_bits_last;
142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    boolean ds_depth_bits_last;
143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct pipe_resource *root_texture;
144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    /* exa */
146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    struct exa_context *exa;
147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool noEvict;
148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool accelerate_2d;
149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    Bool debug_fallback;
150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    CustomizerPtr cust;
152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef DRM_MODE_FEATURE_DIRTYFB
154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org    DamagePtr damage;
155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif
156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} modesettingRec, *modesettingPtr;
157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate))
159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgCustomizerPtr xorg_customizer(ScrnInfoPtr pScrn);
161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgBool xorg_has_gallium(ScrnInfoPtr pScrn);
163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid xorg_flush(ScreenPtr pScreen);
165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_exa.c
167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct pipe_resource *
169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_get_texture(PixmapPtr pPixmap);
170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint
172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_set_displayed_usage(PixmapPtr pPixmap);
173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint
175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_set_shared_usage(PixmapPtr pPixmap);
176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgBool
178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_set_texture(PixmapPtr pPixmap, struct  pipe_resource *tex);
179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct pipe_resource *
181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_create_root_texture(ScrnInfoPtr pScrn,
182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org			     int width, int height,
183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org			     int depth, int bpp);
184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid *
186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_init(ScrnInfoPtr pScrn, Bool accel);
187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_exa_close(ScrnInfoPtr pScrn);
190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_dri2.c
194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgBool
196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_dri2_init(ScreenPtr pScreen);
197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_dri2_close(ScreenPtr pScreen);
200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_crtc.c
204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_crtc_init(ScrnInfoPtr pScrn);
207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_crtc_cursor_destroy(xf86CrtcPtr crtc);
210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_output.c
214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_output_init(ScrnInfoPtr pScrn);
217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgunsigned
219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_output_get_id(xf86OutputPtr output);
220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_xv.c
224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_xv_init(ScreenPtr pScreen);
227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/***********************************************************************
230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * xorg_xvmc.c
231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid
233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgxorg_xvmc_init(ScreenPtr pScreen, char *name);
234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* _XORG_TRACKER_H_ */
237