summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_cmdbuf.c
AgeCommit message (Collapse)Author
2009-09-01r200: emit max vtx info for index buffer.Dave Airlie
We need this for the CS bounds checking.
2009-08-31r200: Convert r200 to use new style debug code.Pauli Nieminen
Only very few places where realy converted so there isa lot of to do.
2009-08-26r200: Add scissor to state atom list.Pauli Nieminen
Scissors are jsut one of states that we have to emit so it should be in state list
2009-08-25radeon: Fix all compiler warnings.Pauli Nieminen
2009-08-18r200: make use of DMA buffers for Elts a lot better.Dave Airlie
This allows us to return the unused portion of the dma buffer to the allocator instead of wasting nearly 16k a pop. Cherry picked and ported to new code by Pauli.
2009-08-17radeon: remove RADEON_DEBUG_BO stuffAlex Deucher
This stuff was a vestige of the r600 bring up and now mostly serves to periodically break the build.
2009-08-07r200: fix scissor emission for r200 under kmsDave Airlie
2009-07-17R200: fix build when RADEON_DEBUG_BO is setAlex Deucher
2009-07-06radeon/r200/r300: port to new space checking code in libdrmDave Airlie
This moves a big chunk of the space checking code into libdrm so it can be shared by the DDX.
2009-06-29Revert "r200: make use of DMA buffers for Elts a lot better."Dave Airlie
This reverts commit 0952645fe04a27968565ea4d913500c23b1b11e3. Need to revisit where this is going wrong
2009-06-26r200: make use of DMA buffers for Elts a lot better.Dave Airlie
This allows us to return the unused portion of the dma buffer to the allocator instead of wasting nearly 16k a pop.
2009-05-25r200: emit scissor when dri2 is enabledJerome Glisse
In DRI1 kernel emit scissor but in dri2 cs path we have to explicitly program them.
2009-05-25r200: emit cliprect with indexed primitiveJerome Glisse
2009-05-20r200: fix vbo array renderingJerome Glisse
2009-05-20r200: fix indexed draw color order and cs missmatchJerome Glisse
2009-04-12r200: validate vertex bufferJerome Glisse
2009-04-02radeon/r200/r300: collapse context destruction down to a common path.Dave Airlie
Context destruction was nearly the same over all the drivers, so collapse it down.
2009-03-24radeon/r200/r300: fix warningsDave Airlie
2009-02-14r200: fix another cmdbuf sizing issueDave Airlie
2009-02-13r200: fixup some CS emission sizesDave Airlie
2009-02-13r200: use correct finish interfaceDave Airlie
2009-02-12r200/r300: get up to speed on renamed filesDave Airlie
2009-02-12radeon/r200/r300: another big merge upheavel.Dave Airlie
This merges lots of the hw state atom emission and firevertices code. it also removes a lot of the extra radeon crap from r300 and merge scissor
2009-01-29r200: bring back single dma flushDave Airlie
2009-01-22r200: fix up swtcl/tcl flushesDave Airlie
2009-01-23r200: emit elts into a separate ELT boDave Airlie
2009-01-21r200: make tri render on my r200.Dave Airlie
2009-01-20r200: clear is working at least - not much elseDave Airlie
2009-01-15r100/r200: move to new atom style emissionDave Airlie
2009-01-14radeon/r200/r300: initial attempt to convert to common context codeDave Airlie
2009-01-14radeon/r200: move state atom to common headerDave Airlie
2009-01-13radeon/r200: start splitting out commonalities into separate headersDave Airlie
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2007-05-17remove CVS/XFree86 keywordsChristoff Brill
2006-10-13implement ARB_point_parameters and ARB_point_sprite on r200. The code is ↵Roland Scheidegger
nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
2006-06-02implement arb_vertex_program in hw for r200. Code contains still some hacks, ↵Roland Scheidegger
generic attribs cause a fallback, but otherwise it seems to work quite well. Passes all glean vertProg1 tests with the exception of the degnerated LIT case (which is a hw limitation), as well as runs the r200 render path of doom3/quake4 (1.1 patch needed for quake4). The code is heavily borrowed from the r300 driver as vertex programs encoding is almost identical. arb_vertex_program is not yet announced by default and still needs to be enabled via driconf.
2006-06-02remove code dealing with drmMinor version < 6 since all radeon drivers ↵Roland Scheidegger
request at least drmMinor 6 anyway.
2005-10-05enable point sizes larger than 1 (for aliased points only) by using the hw ↵Roland Scheidegger
point sprite primitive.
2005-09-12add complete support for ATI_fragment_shader for the r200. Most of the new ↵Roland Scheidegger
code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
2005-03-15add support for user-configurable brilinear filtering on r200Roland Scheidegger
2005-02-17s/0/NULL/ (Jeff Muizelaar)Brian Paul
2005-02-17remove extern (Jeff Muizelaar)Brian Paul
2004-10-02If an application cleared before any state had been emitted, that clear wouldEric Anholt
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.
2004-09-30OK, one more time. Simplify the state-backup system by just storing the fullEric Anholt
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
2004-09-24-O -Wall warnings cleanups in r200.Eric Anholt
2004-09-24Remove an unnecessary calculation of the dest pointer.Eric Anholt
2004-09-23fix for Erics new emit state code, rework out the dest pointerDave Airlie
after we check the buffer
2004-09-22The previous code would emit a full set of state during the first EmitState onEric Anholt
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.
2004-08-17Close some races with locking on R100 and R200 which could manifest as renderingEric Anholt
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%).
2004-05-27change some explicit references to texture units 0/1 to unit < ↵Roland Scheidegger
MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)