aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/radeon/radeon_ioctl.c
Commit message (Collapse)AuthorAgeFilesLines
* Use __DRIextension mechanism providing loader functionality to the driver.Kristian Høgsberg2008-02-291-3/+7
| | | | | | | 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-4/+4
| | | | | | | | * 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.
* fix unitialized values in radeonClearRoland Scheidegger2007-02-011-4/+4
|
* 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-6/+14
| | | | | | | 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.
* remove code dealing with drmMinor version < 6 since all radeon drivers ↵Roland Scheidegger2006-06-021-43/+18
| | | | request at least drmMinor 6 anyway.
* retry on EBUSY instead of EAGAIN in radeonWaitIrq (it appears this was the ↵Roland Scheidegger2006-06-011-1/+1
| | | | intention as drm seems to never return EAGAIN) in all radeon drivers.
* Dave Reveman's patch for GLX_MESA_copy_sub_buffer supportBrian Paul2006-03-311-14/+40
|
* First step of Radeon DRI unification:Eric Anholt2005-11-021-1/+1
| | | | | | | | | | | | - Makes all three drivers use the same screen structure and setup code, with a few ifdefs for the separate compilation to deal with symbols not being available to all drivers and the fact that we have no mechanism for dealing with different config options for different chip families in the same driver. These issues should be dealt with later. - Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking different paths depending on the general class of chipset. - Adds many new R300-class PCI IDs, though not all those listed in radeon_driver.c.
* enable cube maps on radeon (#2241 on bugzilla). No vtxfmt code yet (just ↵Roland Scheidegger2005-10-151-0/+1
| | | | generates vfmt fallback). Code by Andreas Stenglein, some small adjustments by me.
* Minor driver cleanup. Remove unnecessery/unneded ↵Roland Scheidegger2005-10-111-9/+0
| | | | radeon/r200AllocDmaRegionVerts function. No longer compile the radeon_compat stuff which was for drm 1.1 compatibility presumably but unused since about forever into the driver.
* fix page flipping breakageBrian Paul2005-09-011-0/+7
|
* Finish up some of the gl_renderbuffer work.Brian Paul2005-09-011-15/+1
| | | | | | | Use driRenderbuffer's offset, pitch fields in the span routines. Remove the SetBuffer driver function. Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH state in new radeonUpdateDrawBuffer() function.
* Fixes the glXGetProcAddress portion of the interface. Most of the functionsIan Romanick2005-07-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...
* 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.
* s/0/NULL/ (Jeff Muizelaar)Brian Paul2005-02-161-2/+2
|
* (Stephane Marchesin, me) Add support for color (framebuffer) tiling to the ↵Roland Scheidegger2005-01-261-0/+3
| | | | radeon and r200 driver
* reapply Keiths workaround for zbs emit that got dropped duringDave Airlie2005-01-231-2/+7
| | | | state change patches....
* add sync debugging to the radeon driverDave Airlie2005-01-231-0/+10
|
* uint*t -> u_int*t changesAlan Hourihane2004-12-141-3/+3
|
* (Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only ↵Roland Scheidegger2004-12-081-1/+11
| | | | fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
* add LOCK_HARDWARE/UNLOCK_HARDWARE to radeonClear so state gets updated which ↵Roland Scheidegger2004-11-121-0/+7
| | | | hopefully fixes lockups (?) (from r200 driver)
* (from r200 driver) If an application cleared before any state had been ↵Roland Scheidegger2004-11-121-16/+21
| | | | | | | | | | emitted, that clear would happen before any state had been set, causing a hang later on. Fix this by calling radeonFlush instead of FIREVERTICES (which checks if any state has been emitted but not flushed, before calling Flush) in radeonClear. While here, add some more debugging info which was useful, and remove an unnecessary save/restore in BackUpAndEmit.
* OK, one more time. Simplify the state-backup system by just storing the fullEric Anholt2004-09-301-38/+36
| | | | | | | | | state in a ready-to-emit cmdbuf, which avoids the issue Nicolai Haehnle reported where the check() could return differently during backup-and-emit than it should have if it were called at the right time. Move the lit emission before most of the TCL state emission on r200, which fixes neverball issues. Tested with: r100/r200 with neverball, tuxracer, chromium, quake3, ipers
* The previous code would emit a full set of state during the first EmitState onEric Anholt2004-09-251-112/+133
| | | | | | | | | | | | a new cmdbuf, to ensure that state wasn't lost across UNLOCK/LOCK pairs (in the case of context switching). This was rather inefficient. Instead, after flushing a cmdbuf, mark the state as needing to be saved on unlock. Then, at the beginning of flushing a cmdbuf, if we actually have lost the context, go back and emit a new cmdbuf with the full set of state, before continuing with the cmdbuf flush. Provides a 10-15% improvement in ipers performance in my tests, along with other apps. Tested with: ipers, glxgears, quake3
* Revert the move of lost_context setting to UNLOCK_HARDWARE that was done in theEric Anholt2004-08-171-3/+23
| | | | | | | | | | last commit. I've been convinced by keithw that it's sufficient, and put a note in the code about it. Close another race for state in the Clear functions. I made the situation worse in my last commit, but this should fix things. Might be a slight performance hit, which could be regained by splitting the R*_FIREVERTICES calls in r*Clear up so that the EmitState doesn't happen in a separate new cmdbuf.
* Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt2004-08-171-17/+10
| | | | | | | | | | | | | | | | | | | | errors on r100 and rendering errors and hangs on r200 (same for R100 without OLD_PACKETS). If a command buffer filled after some state (EmitState or a VBPNTR write) was emitted, the lock was grabbed, the buffer flushed, a new buffer prepared, and the lock dropped. Another client could come in, set its own state as part of rendering, and when the first client flushed the rendering commands depending on the previous state, it got the 2nd client's state. This is fixed by checking for enough space before beginning a set of state emits and rendering, and flushing the buffer first if so. This guarantees that the buffer won't wrap. Also, move the "lost_context = 1" from the end of cmdbuf flushing to UNLOCK_HARDWARE for clarity (at a minimum) that any time the lock is dropped, state may get overwritten. We don't have enough information at the point of the LOCK_HARDWARE to reset our state to the last UNLOCK_HARDWARE point in the case that we did lose our context, but saving the information to rebuild that state may be a useful optimization (ipers data suggests up to 5%).
* bring over build fixes from stable branchAlan Hourihane2004-04-261-4/+1
|
* Implemented support for software-based AUX color buffers.Brian Paul2004-03-211-1/+1
| | | | | | Only available with Xlib driver for now. Assorted clean-ups related to Draw/ReadBuffer(). Renamed FRONT_LEFT_BIT -> DD_FRONT_LEFT_BIT, etc.
* Convert int(8|32)_t to uint(8|32)_t, like should have been done the first time.Ian Romanick2004-03-181-3/+3
|
* Convert all uses of CARD32 and CARD8 to int32_t and int8_t.Ian Romanick2004-03-171-3/+3
|
* Adjustments to make everything use IOCTL/sarea defines in DRM insteadJon Smirl2004-03-111-43/+43
| | | | of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
* Change get_ust_nop()'s parameter from int64_t to uint64_t to silence warnings.Brian Paul2004-01-181-1/+1
|
* New, less expensive workaround for state-change lockups.Felix Kuehling2004-01-041-21/+53
|
* merge some more of the radeon DRI driver from the DRI trunkAlan Hourihane2003-12-071-2/+3
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-18/+8
|
* patch to import Jon Smirl's work from BitkeeperBrian Paul2003-08-221-0/+1191