summaryrefslogtreecommitdiff
path: root/hw/xfree86/dri/dri.c
AgeCommit message (Collapse)AuthorFilesLines
2009-09-18dri: use noPanoramiXExtension directly.Shunichi Fuji1-11/+3
xf86LoaderCheckSymbol() is never useful if using externed variable directly. noPanoramiXExtension will be just used through dlopen() like other extension modules. Signed-off-by: Shunichi Fuji <palglowr@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-09-16Change xf86dristr.h includes to use xf86driproto.h insteadAlan Coopersmith1-1/+1
Clears warnings about obsolete headers, but raises minimum required version of xf86driproto to 2.1.0 Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-28xf86 ddx: add vga arbiter support.Dave Airlie1-0/+7
This adds support for using the libpciaccess interface for vga arbitration support on top of a kernel which supports it. Currently patches are queued for kernel 2.6.32 in jbarnes pci tree, and shipping in Fedora kernel. Co-authors: Tiago Vignatti <tiago.vignatti@nokia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-04-29Fix most remaining deprecated resource lookups.Eamon Walsh1-2/+3
Callsites updated to use dixLookupResourceBy{Type,Class}. TODO: Audit access modes to make sure they reflect the usage.
2009-02-23DRI1: Make DRICreateDrawable return TRUE for pixmaps.Michel Dänzer1-1/+1
GLX_EXT_texture_from_pixmap was broken since commit a26c77ff432d2e85a2665fc36fca25143460c476 ('glx: fix retval checks when failures occur for drawable creation.') Signed-off-by: Michel Dänzer <daenzer@vmware.com>
2008-12-12Remove #define NEED_EVENTS and NEED_REPLIESPeter Hutterer1-2/+0
A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-54/+54
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade1-27/+27
This is the biggest "visibility" patch. Instead of doing a "export" symbol on demand, export everything in the sdk, so that if some module fails due to an unresolved symbol, it is because it is using a symbol not in the sdk. Most exported symbols shouldn't really be made visible, neither advertised in the sdk, as they are only used by a single shared object. Symbols in the sdk (or referenced in sdk macros), but not defined anywhere include: XkbBuildCoreState() XkbInitialMap XkbXIUnsupported XkbCheckActionVMods() XkbSendCompatNotify() XkbDDXFakePointerButton() XkbDDXApplyConfig() _XkbStrCaseCmp() _XkbErrMessages[] _XkbErrCode _XkbErrLocation _XkbErrData XkbAccessXDetailText() XkbNKNDetailMaskText() XkbLookupGroupAndLevel() XkbInitAtoms() XkbGetOrderedDrawables() XkbFreeOrderedDrawables() XkbConvertXkbComponents() XkbWriteXKBSemantics() XkbWriteXKBLayout() XkbWriteXKBKeymap() XkbWriteXKBFile() XkbWriteCFile() XkbWriteXKMFile() XkbWriteToServer() XkbMergeFile() XkmFindTOCEntry() XkmReadFileSection() XkmReadFileSectionName() InitExtInput() xf86CheckButton() xf86SwitchCoreDevice() RamDacSetGamma() RamDacRestoreDACValues() xf86Bpp xf86ConfigPix24 xf86MouseCflags[] xf86SupportedMouseTypes[] xf86NumMouseTypes xf86ChangeBusIndex() xf86EntityEnter() xf86EntityLeave() xf86WrapperInit() xf86RingBell() xf86findOptionBoolean() xf86debugListOptions() LoadSubModuleLocal() LoaderSymbolLocal() getInt10Rec() xf86CurrentScreen xf86ReallocatePciResources() xf86NewSerialNumber() xf86RandRSetInitialMode() fbCompositeSolidMask_nx1xn fbCompositeSolidMask_nx8888x0565C fbCompositeSolidMask_nx8888x8888C fbCompositeSolidMask_nx8x0565 fbCompositeSolidMask_nx8x0888 fbCompositeSolidMask_nx8x8888 fbCompositeSrc_0565x0565 fbCompositeSrc_8888x0565 fbCompositeSrc_8888x0888 fbCompositeSrc_8888x8888 fbCompositeSrcAdd_1000x1000 fbCompositeSrcAdd_8000x8000 fbCompositeSrcAdd_8888x8888 fbGeneration fbIn fbOver fbOver24 fbOverlayGeneration fbRasterizeEdges fbRestoreAreas fbSaveAreas composeFunctions VBEBuildVbeModeList() VBECalcVbeModeIndex() TIramdac3030CalculateMNPForClock() shadowBufPtr shadowFindBuf() miRRGetScreenInfo() RRSetScreenConfig() RRModePruneUnused() PixmanImageFromPicture() extern int miPointerGetMotionEvents() miClipPicture() miRasterizeTriangle() fbPush1toN() fbInitializeBackingStore() ddxBeforeReset() SetupSprite() InitSprite() DGADeliverEvent() SPECIAL CASES o defined as _X_INTERNAL xf86NewInputDevice() o defined as static fbGCPrivateKey fbOverlayScreenPrivateKey fbScreenPrivateKey fbWinPrivateKey o defined in libXfont.so, but declared in xorg/dixfont.h GetGlyphs() QueryGlyphExtents() QueryTextExtents() ParseGlyphCachingMode() InitGlyphCaching() SetGlyphCachingMode()
2008-11-28Make visible symbols required by xorg modules.Paulo Cesar Pereira de Andrade1-27/+27
This patch exports all symbols required by the compilable (in a x86 linux computer) xorg/driver/* modules. Still missing symbols worth mentioning are: sunleo miFindMaxBand no longer available intel (uxa/uxa-accel.c) fbShmPutImage no longer available (and should have been static) mga MGAGetClientPointer (should come from matrox's libhal) This is not a definitive "visibility" patch, as all it does is to export missing symbols, but the modules that current don't compile, may require more symbols once fixed, and third party drivers should also require more symbols exported. A "definitive" patch should export symbols defined in the sdk.
2008-11-24Notify DRI when crtc regions changeKeith Packard1-0/+19
Drivers that care about crtc positions on the screen to ensure that vblank works correctly need to be notified when crtcs are changed. Provide a hook in the mode setting code that is invoked whenever any configuration is done to the screen. Use this new hook in the DRI code so that DRI clients are notified and receive updated information. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-10dri: don't set the dixPrivate key to NULL, as this is a staticly set variable.Maarten Maathuis1-2/+0
- This breaks on the 2nd server generation. - No other subsystem seems to NULL their key. - This should fix bug 17982.
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky1-3/+4
TODO: static indices can be made just an int; some indices can be combined.
2008-07-04Remove deprecated function miPointerPosition().Tiago Vignatti1-1/+1
2008-05-02Merge branch 'master' into mpxPeter Hutterer1-1/+1
Conflicts: Xi/exevents.c dix/devices.c
2008-05-01Fix an off by one read error in drmSIGIOHandler().Paulo Cesar Pereira de Andrade1-1/+1
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-01-03Merge branch 'master' into mpxPeter Hutterer1-36/+16
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
2007-11-07Merge branch 'master' into mpxPeter Hutterer1-43/+8
Conflicts: Xi/extinit.c Xi/grabdev.c Xi/setmode.c Xi/ungrdev.c dix/devices.c dix/events.c dix/getevents.c include/dix.h mi/midispcur.c mi/misprite.c xkb/xkbActions.c xkb/xkbEvents.c xkb/xkbPrKeyEv.c
2007-10-25Merge branch 'master' into XACE-SELINUXEamon Walsh1-36/+4
Conflicts: GL/glx/glxscreens.c hw/xnest/Screen.c render/glyph.c render/glyphstr.h render/render.c
2007-10-18Drop VisualConfigPriv support from the DRI module.Kristian Høgsberg1-36/+4
No DDX driver uses this, and this patch stops the DRI module from poking around GLX module data structures.
2007-10-17Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
Conflicts: os/access.c
2007-10-12Convert GLX module to use screen private indexes like everything else.Kristian Høgsberg1-2/+2
2007-08-28devPrivates rework: since API is already broken, switch everythingEamon Walsh1-36/+16
over to new system. Need to update documentation and address some remaining vestiges of old system such as CursorRec structure, fb "offman" structure, and FontRec privates.
2007-08-23Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into ↵Ian Romanick1-79/+146
pci-rework Conflicts: hw/xfree86/common/xf86.h hw/xfree86/common/xf86Init.c hw/xfree86/common/xf86pciBus.c hw/xfree86/int10/generic.c hw/xfree86/int10/helper_exec.c hw/xfree86/loader/xf86sym.c hw/xfree86/os-support/bus/Pci.c hw/xfree86/os-support/bus/Pci.h hw/xfree86/os-support/bus/linuxPci.c hw/xfree86/os-support/linux/int10/linux.c
2007-08-12Merge branch 'master' into mpxPeter Hutterer1-79/+146
Conflicts: Xi/exevents.c dix/devices.c dix/getevents.c include/dix.h mi/mieq.c
2007-07-27Don't map the front buffer in libdri if the ddx driver doesn't set the size.Kristian Høgsberg1-30/+40
This lets drivers map the front buffer themselves by setting dontMapFramebuffer.
2007-07-10Make sure DRI drawables are cleaned up when client dies.Michel Dänzer1-42/+97
The previous scheme didn't work when the client didn't create the core drawable, e.g. the root or composite overlay window. Use refcounting via special client resources to fix that.
2007-06-25Make sure DRIScreenPrivIndex is -1 when no DRI screen private is allocated.Michel Dänzer1-7/+9
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=11340 .
2007-06-19Merge branch 'master' into mpxPeter Hutterer1-10/+33
Conflicts: dix/devices.c hw/xfree86/common/xf86Xinput.c hw/xfree86/loader/xf86sym.c mi/mieq.c
2007-06-18Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into ↵Ian Romanick1-182/+372
pci-rework Conflicts: hw/xfree86/os-support/bus/Pci.c hw/xfree86/os-support/bus/linuxPci.c
2007-06-11DRI: Clip cliprects obtained from DRIGetDrawableInfo to screen dimensions.Michel Dänzer1-7/+12
This is to avoid issues with redirected windows which are located partly or fully outside of a screen edge, resulting in unusual cliprects which the 3D drivers generally can't handle. The symptoms in such cases would be incorrect rendering or even crashes or hangs.
2007-06-11DRITreeTraversal: Stop walking tree when we've seen all DRI windows.Michel Dänzer1-3/+8
2007-05-22DRI: Add TexOffset driver hooks.Michel Dänzer1-0/+13
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several data copies. The texOffsetStart hook must make sure that the given pixmap is accessible by the GPU for texturing and return an 'offset' that can be used by the 3D driver for that purpose. The texOffsetFinish hook is called when the pixmap is no longer being used for texturing.
2007-04-27Merge branch 'master' into mpxPeter Hutterer1-172/+339
Conflicts: dix/devices.c dix/events.c
2007-04-19libdri: Make sure the new DRIInfo keepFDOpen member is honoured.Thomas Hellstrom1-0/+3
2007-04-16Changes for single-entity multi-screen DRI.Thomas Hellstrom1-172/+336
The entity (device) has a locking SAREA and a master file descriptor that optionally isn't closed between server generation. The locking SAREA contains the device hardware lock. Each DRI screen creates an new SAREA containing the drawable lock, drawable-and private info, the drawable SAREA. The first screen optionally shares its drawable SAREA with the device SAREA. Default is to close the master descriptor between server generations, and to share the drawable SAREA of the first screen with the device locking SAREA. Thus we should (hopefully) have full backwards compatibility. Mesa changes to support single-device multiple screens are pending.
2007-03-28Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into ↵Ian Romanick1-24/+113
pci-rework Conflicts: hw/xfree86/Makefile.am hw/xfree86/dri/dri.c
2007-03-19Merge branch 'master' into mpxPeter Hutterer1-2/+4
Conflicts: dix/devices.c dix/events.c mi/misprite.c
2007-03-09Ensure domain is stripped from the bus ID.Jay Estabrook1-2/+4
2007-03-05Merge branch 'master' into mpxPeter Hutterer1-24/+111
Conflicts: configure.ac dix/getevents.c hw/xfree86/ramdac/xf86Cursor.c mi/mipointer.c xkb/xkbUtils.c
2007-02-20DRI: Make sure number of DRI windows is accurate in driver ClipNotify hook.Michel Dänzer1-5/+5
Always call DRI{De,In}creaseNumberVisible (which in turn calls DRIDriverClipNotify) after updating pDRIPriv->nrWindows.
2007-02-20DRI: New ClipNotify driver hook.Michel Dänzer1-0/+55
The hook is called whenever the clipList of any DRI window changes, be it via DRIClipNotify, DRICreateDrawable or DRIDrawablePrivDelete. This allows the driver to keep track of which DRI windows are visible where.
2007-02-20Track number of visible DRI windows separately for transitions.Michel Dänzer1-24/+56
This allows e.g. doing page flipping with multiple DRI windows as long as only one of them is visible.
2006-12-08Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver ↵Ian Romanick1-0/+94
into pci-rework Conflicts: hw/xfree86/common/xf86Configure.c hw/xfree86/common/xf86Helper.c hw/xfree86/common/xf86pciBus.c hw/xfree86/int10/helper_exec.c hw/xfree86/os-support/bus/Pci.c hw/xfree86/os-support/bus/linuxPci.c hw/xfree86/os-support/linux/lnx_pci.c hw/xfree86/scanpci/Makefile.am hw/xfree86/utils/pcitweak/Makefile.am hw/xfree86/utils/scanpci/Makefile.am
2006-12-05Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver into mpxPeter Hutterer1-4/+2
Conflicts: dix/events.c
2006-11-23mi: closing memory leak, miPointer is freed in miPointerCloseScreenPeter Hutterer1-1/+2
bugfix: uninitialized pPointer in miPointerGetPosition ifndef MPX adding DeviceIntPtr parameter to ScreenRec's cursor functions. cleanup of miPointer code to use same scheme in each function dix: MPHasCursor() function determines checking whether to invoke cursor rendering. animcur: adding DeviceIntPtr parameter to cursor functions but animcur relies on the core pointer right now. xfixes: adding DeviceIntPtr parameter to cursor functions but xfixes relies on the core pointer right now. rac: adding DeviceIntPtr parameter to cursor functions but RAC relies on the core pointer right now. ramdac: adding DeviceIntPtr parameter to cursor functions but ramdac relies on the core pointer right now.
2006-11-18dri: setup libdrm hooks as early as possible.Dave Airlie1-4/+2
This is due to radeon doing drm stuff before DRI extension gets initialised
2006-11-13DRI: call drmSetServerInfo() before drmOpen().George Sapountzis1-2/+4
Also, remove some libdrm remnants.
2006-11-09make X server use system libdrm - this requires libdrm >= 2.3.0Dave Airlie1-0/+94
This patch blacklists the load "drm" line, moves some functions in dri module links dri module against libdrm, and removes the X copy of libdrm
2006-10-24Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into ↵Ian Romanick1-2/+20
pci-rework Conflicts: hw/xfree86/Makefile.am hw/xfree86/common/xf86.h hw/xfree86/common/xf86DoScanPci.c hw/xfree86/os-support/bus/linuxPci.c hw/xfree86/scanpci/extrapci.ids hw/xfree86/scanpci/pci.ids hw/xfree86/scanpci/pciid2c.pl hw/xfree86/scanpci/xf86PciStdIds.h
2006-09-27Push information about cliprects of DRI windows to the DRM.Michel Dänzer1-2/+20