xorg_tracker.h revision 8f26b59f53d6d80bf7d3c39a4dd3c438a2c305a4
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
28a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * All Rights Reserved.
48a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Permission is hereby granted, free of charge, to any person obtaining a
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * copy of this software and associated documentation files (the
78a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * "Software"), to deal in the Software without restriction, including
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * without limitation the rights to use, copy, modify, merge, publish,
9ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * distribute, sub license, and/or sell copies of the Software, and to
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * permit persons to whom the Software is furnished to do so, subject to
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * the following conditions:
128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * The above copyright notice and this permission notice (including the
148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * next paragraph) shall be included in all copies or substantial portions
158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * of the Software.
168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Author: Alan Hourihane <alanh@tungstengraphics.com>
278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * Author: Jakob Bornecrantz <wallbraker@gmail.com>
288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */
307ffb1b21abcc7bbed5a0fc711f6dd7b9dbb4f577ctguil@chromium.org
318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef _XORG_TRACKER_H_
328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define _XORG_TRACKER_H_
338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <stddef.h>
358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <stdint.h>
36fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com#include <errno.h>
378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <drm.h>
388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <xf86drm.h>
398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <xf86drmMode.h>
408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <xorg-server.h>
418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include <xf86.h>
428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "xf86Crtc.h"
4397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#include <exa.h>
4497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
4597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#ifdef DRM_MODE_FEATURE_DIRTYFB
4697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#include <damage.h>
4797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#endif
486d428d3e6e4238786a38caca6002dae92637958dreed@google.com
4997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#include "pipe/p_screen.h"
5097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#include "util/u_inlines.h"
5197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#include "util/u_debug.h"
5297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
536d428d3e6e4238786a38caca6002dae92637958dreed@google.com#define DRV_ERROR(msg)	xf86DrvMsg(pScrn->scrnIndex, X_ERROR, msg);
546d428d3e6e4238786a38caca6002dae92637958dreed@google.com
558a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comstruct kms_bo;
56fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.comstruct kms_driver;
5797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comstruct exa_context;
5897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
5997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comtypedef struct
6097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com{
618a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    int lastInstance;
628a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    int refCount;
638a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    ScrnInfoPtr pScrn_1;
648a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    ScrnInfoPtr pScrn_2;
658a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} EntRec, *EntPtr;
668a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
6797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#define XORG_NR_FENCES 3
6897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
6997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comenum xorg_throttling_reason {
7097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    THROTTLE_RENDER,
7197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    THROTTLE_SWAP
728a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com};
738a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
7497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comtypedef struct _CustomizerRec
7597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com{
768a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    Bool dirty_throttling;
7797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool swap_throttling;
7897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool no_3d;
798a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    Bool unhidden_hw_cursor_update;
8097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_pre_init) (struct _CustomizerRec *cust, int fd);
8197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_screen_init)(struct _CustomizerRec *cust);
8297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_screen_close)(struct _CustomizerRec *cust);
8397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_enter_vt)(struct _CustomizerRec *cust);
8497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_leave_vt)(struct _CustomizerRec *cust);
8597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    void (*winsys_context_throttle)(struct _CustomizerRec *cust,
868a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com				    struct pipe_context *pipe,
878a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com				    enum xorg_throttling_reason reason);
8897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*winsys_check_fb_size) (struct _CustomizerRec *cust,
895dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org				  unsigned long pitch,
905dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org				  unsigned long height);
915dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org} CustomizerRec, *CustomizerPtr;
925dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org
935dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.orgtypedef struct _modesettingRec
945dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org{
955dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org    /* drm */
965dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org    int fd;
975dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org    unsigned fb_id;
985dd567c2a55c16c8bc2668902cdfce1734dfae8fcommit-bot@chromium.org
99d5d9dadcdd5fdbc8a17f3f398e3199b9d12c8d70tomhudson@google.com    /* X */
100d5d9dadcdd5fdbc8a17f3f398e3199b9d12c8d70tomhudson@google.com    EntPtr entityPrivate;
101d5d9dadcdd5fdbc8a17f3f398e3199b9d12c8d70tomhudson@google.com
10297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    int Chipset;
1038a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    EntityInfoPtr pEnt;
1048a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    struct pci_device *PciInfo;
10597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
10697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool noAccel;
10797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool SWCursor;
10897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    CursorPtr cursor;
10997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool swapThrottling;
1108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    Bool dirtyThrottling;
11197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    CloseScreenProcPtr CloseScreen;
11297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool no3D;
11397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool from_3D;
11497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool isMaster;
11597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
1168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    /* Broken-out options. */
11797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    OptionInfoPtr Options;
11897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
11997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    void (*blockHandler)(int, pointer, pointer, pointer);
12097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct pipe_fence_handle *fence[XORG_NR_FENCES];
12197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
1228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    CreateScreenResourcesProcPtr createScreenResources;
12397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
12497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    /* for frontbuffer backing store */
12597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*destroy_front_buffer)(ScrnInfoPtr pScrn);
12697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*create_front_buffer)(ScrnInfoPtr pScrn);
12797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool (*bind_front_buffer)(ScrnInfoPtr pScrn);
128097a3513535ad854c1b049c32c080ec875ab1411reed@android.com
129097a3513535ad854c1b049c32c080ec875ab1411reed@android.com    /* kms */
130fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com    struct kms_driver *kms;
13197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct kms_bo *root_bo;
13297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    uint16_t lut_r[256], lut_g[256], lut_b[256];
13397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
13497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    /* gallium */
13597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct pipe_screen *screen;
13697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct pipe_context *ctx;
13797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    boolean d_depth_bits_last;
13897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    boolean ds_depth_bits_last;
13997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct pipe_resource *root_texture;
14097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
14197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    /* exa */
14297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    struct exa_context *exa;
14397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool noEvict;
144fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com    Bool accelerate_2d;
14597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    Bool debug_fallback;
14697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
14797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com    CustomizerPtr cust;
14897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
14997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#ifdef DRM_MODE_FEATURE_DIRTYFB
150fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com    DamagePtr damage;
15197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#endif
15297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com} modesettingRec, *modesettingPtr;
15397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
15497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate))
15597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
15697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comCustomizerPtr xorg_customizer(ScrnInfoPtr pScrn);
15797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
15897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comBool xorg_has_gallium(ScrnInfoPtr pScrn);
15997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
16097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comvoid xorg_flush(ScreenPtr pScreen);
16197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com/***********************************************************************
16297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com * xorg_exa.c
16397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com */
16497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comstruct pipe_resource *
16597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_get_texture(PixmapPtr pPixmap);
16697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
16797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comint
16897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_set_displayed_usage(PixmapPtr pPixmap);
16997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
17097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comint
17197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_set_shared_usage(PixmapPtr pPixmap);
17297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
17397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comBool
17497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_set_texture(PixmapPtr pPixmap, struct  pipe_resource *tex);
17597fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
17697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comstruct pipe_resource *
17797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_create_root_texture(ScrnInfoPtr pScrn,
17897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com			     int width, int height,
17997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com			     int depth, int bpp);
18097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
18197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comvoid *
18297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_exa_init(ScrnInfoPtr pScrn, Bool accel);
18397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
1848a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid
1858a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_exa_close(ScrnInfoPtr pScrn);
1868a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
1878a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
18897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com/***********************************************************************
18997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com * xorg_dri2.c
19097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com */
19197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comBool
19297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_dri2_init(ScreenPtr pScreen);
19397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
19497fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comvoid
1958a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_dri2_close(ScreenPtr pScreen);
1968a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
1978a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
198fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com/***********************************************************************
1998a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * xorg_crtc.c
2008a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */
2018a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid
2028a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_crtc_init(ScrnInfoPtr pScrn);
2038a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2048a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid
205fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.comxorg_crtc_cursor_destroy(xf86CrtcPtr crtc);
20697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
20797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
20897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com/***********************************************************************
20997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com * xorg_output.c
21097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com */
21197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comvoid
2128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_output_init(ScrnInfoPtr pScrn);
2138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comunsigned
2158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_output_get_id(xf86OutputPtr output);
21697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
21797fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
21897fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com/***********************************************************************
21997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com * xorg_xv.c
22097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com */
2218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid
2228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comxorg_xv_init(ScreenPtr pScreen);
2238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
2258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/***********************************************************************
22697fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com * xorg_xvmc.c
2278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */
2288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid
22997fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.comxorg_xvmc_init(ScreenPtr pScreen, char *name);
23097fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
23197fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com
23297fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com#endif /* _XORG_TRACKER_H_ */
23397fa34c5f0079c4ae5fdf2c9f86772ff793d0133reed@google.com