aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r200/r200_cmdbuf.c
Commit message (Collapse)AuthorAgeFilesLines
* add support for user-configurable brilinear filtering on r200Roland Scheidegger2005-03-151-0/+2
|
* s/0/NULL/ (Jeff Muizelaar)Brian Paul2005-02-171-1/+1
|
* remove extern (Jeff Muizelaar)Brian Paul2005-02-171-3/+3
|
* If an application cleared before any state had been emitted, that clear wouldEric Anholt2004-10-021-0/+7
| | | | | | | | happen before any state had been set, causing a hang later on. Fix this by calling r200Flush instead of FIREVERTICES (which checks if any state has been emitted but not flushed, before calling Flush) in r200Clear. 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-4/+29
| | | | | | | | | 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
* -O -Wall warnings cleanups in r200.Eric Anholt2004-09-241-1/+1
|
* Remove an unnecessary calculation of the dest pointer.Eric Anholt2004-09-241-2/+1
|
* fix for Erics new emit state code, rework out the dest pointerDave Airlie2004-09-231-0/+3
| | | | after we check the buffer
* The previous code would emit a full set of state during the first EmitState onEric Anholt2004-09-221-85/+77
| | | | | | | | | | | | | 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. Also, remove the dirty/clean atom lists, since atoms are emitted in a fixed order these days, and go with a simpler single list. Provides a 14% improvement in ipers performance in my tests, along with other apps.
* Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt2004-08-171-8/+6
| | | | | | | | | | | | | | | | | | | | 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%).
* change some explicit references to texture units 0/1 to unit < ↵Roland Scheidegger2004-05-271-4/+5
| | | | MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)
* Adjustments to make everything use IOCTL/sarea defines in DRM insteadJon Smirl2004-03-111-12/+12
| | | | of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
* Roland Scheidegger's r200_changeemitorder.diff.Keith Whitwell2004-01-091-5/+64
|
* Update DRI drivers to current DRI CVS and make them work.Jon Smirl2003-10-211-1/+1
|
* r200 driver, brought over by Jon SmirlKeith Whitwell2003-08-061-0/+337