aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/mga/mgaioctl.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul2008-09-181-4/+4
| | | | Makefile.template
* Use __DRIextension mechanism providing loader functionality to the driver.Kristian Høgsberg2008-02-291-3/+3
| | | | | | | Instead of passing in a fixed struct, the loader now passes in a list of __DRIextension structs, to advertise the functionality it can provide to the driver. Each extension is individually versioned and can be extended or phased out as the interface develops.
* More vblank cleanups.Michel Dänzer2007-10-301-2/+2
| | | | | | | | * Fix crash at context creation in most drivers supporting vblank. * Don't pass vblank sequence or flags to functions that get passed the drawable private already. * Attempt to initialize vblank related drawable private fields just once per drawable. May need more work in some drivers.
* Refactor and fix core vblank supportJesse Barnes2007-10-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate support for synchronizing to and retrieving vblank counters. Also fix the core vblank code to return monotonic MSC counters, which are required by some GLX extensions. Adding support for multiple pipes to a low level driver is fairly easy, the Intel 965 driver provides simple example code (see intel_buffers.c:intelWindowMoved()). The new code bumps the media stream counter extension version to 2 and adds a new getDrawableMSC callback. This callback takes a drawablePrivate pointer, which is used to calculate the MSC value seen by clients based on the actual vblank counter(s) returned from the kernel. The new drawable private fields are as follows: - vblSeq - used for tracking vblank counts for buffer swapping - vblFlags - flags (e.g. current pipe), updated by low level driver - msc_base - MSC counter from the last time the current pipe changed - vblank_base - kernel DRM vblank counter from the last time the pipe changed Using the above variables, the core vblank code (in vblank.c) can calculate a monotonic MSC value. The low level DRI drivers are responsible for updating the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags) along with msc_base and vblank_base whenever the pipe associated with a given drawable changes (again, see intelWindowMoved for an example of this). Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to driDrawableGetMSC32 and add code for pipe switching as outlined above to fully support the new scheme.
* Replace open-coded major, minor, and patch version fields with __DRIversionRec.Kristian Høgsberg2007-10-101-2/+2
|
* Remove x/y/width/height parameters from Clear functions.Brian Paul2006-11-011-3/+2
|
* Want to stop passing x/y/width/height to Clear() function.Brian Paul2006-10-181-4/+13
| | | | | | | The coordinates need to be computed after we've got the hw lock. Code updated to: 1. Ignore all/x/y/width/height/ params passed to Clear func. 2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
* make mgaSetFence() and mgaWaitFence() staticBrian Paul2006-05-231-2/+2
|
* Fixes the glXGetProcAddress portion of the interface. Most of the functionsIan Romanick2005-07-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that are currently obtained via glXGetProcAddress and all of the XF86DRI functions are replaced with a funciton table. This table will be passed to __driCreateNewScreen. One of the functions in the table is getProcAddress. This allows some loaders to expose functionality not in all loaders. This will be immediatly used for glxEnableExtension (formerly known to drivers as __glXScrEnableExtension). libGL (and in the future libglx) expose this function so that drivers can enable GLX extensions. libEGL should exposed eglEnableExtension to enable EGL extensions. The same function cannot be used for both because the extensions have different names and (possibly) different semantics. Drivers can optionally use one, both, or neither. The key parts are in the __DRIinterfaceMethodsRec structure in dri_interface.h. A pointer to one of these structures is passed into __driCreateNewScreen. Because of this, the version of the API is bumped to 20050725. Since the previous version(s) were never in a release, their existance is erased. I was actually a little surprised by how much code this cuts from the drivers. A lot of glXGetProcAddress calls disappear, and a lot of version checks go with them. Nice. The one thing I'm not sure of is removing __glXInitialize. For some reason that function was in the glXGetProcAddress table, but *nothing* in the Mesa tree used it. Did something with DRI conf. use this function? It seems odd...
* Adds support for MGA DRM version 3.2.Ian Romanick2005-06-141-59/+108
| | | | | | | | | | | | | | | This patch makes use of two of the new ioctls added in MGA DRM version 3.2. Specifically, the DRM_MGA_SET_FENCE and DRM_MGA_WAIT_FENCE ioctls are used in mgaWaitForFrameCompletion. As a result the MMIO register region and the primary DMA region are *not* mapped (if DRM 3.2 is available). This patch does *not* make use of the new get_param query was added to differentiate between G4x0 cards and G550 cards. That is left to a future update. Xorg bug: 3259 Reviewed by: Eric Anholt
* More comments. More dead-code removed. More clean-up.Ian Romanick2005-05-181-71/+60
|
* Remove some unused structure fields, add some comments, and ifdef out someIan Romanick2005-05-121-7/+33
| | | | | dead code. This is just some clean-up work which should not have any functional impact.
* Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul2005-05-041-8/+8
| | | | | | | Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
* Adjust includes to help DRI buildJon Smirl2004-03-121-0/+2
|
* Adjust mga drivers to remove redundant h file for sarea and IOCTLsJon Smirl2004-03-121-13/+12
|
* Adjustments to make everything use IOCTL/sarea defines in DRM insteadJon Smirl2004-03-111-10/+10
| | | | of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
* silence warningsBrian Paul2004-03-041-3/+3
|
* Before calling _mesa_create_context(), initialize a dd_function_table structBrian Paul2004-01-201-7/+7
| | | | | | | | | | by calling _mesa_init_driver_functions() and then plugging in the driver- specific functions. In particular, make sure ctx->Driver.NewTextureObject points to the appropriate driver function so that _all_ texture objects are augmented with the driver-specific data. Put in a bunch of assertions in the texture-related driver functions that texObj->DriverData is valid. Remove old dead code in near future.
* fix _SOLO build problemAlan Hourihane2003-12-051-0/+1
|
* bring over latest mga DRI driver from DRI trunkAlan Hourihane2003-12-051-3/+1
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-2/+1
|
* patch to import Jon Smirl's work from BitkeeperBrian Paul2003-08-221-70/+57
|
* mga driver, brought over by Jon SmirlKeith Whitwell2003-08-061-0/+693