Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
it's not that big of a deal in more normal apps, and axes a good bit of code.
And I assume that t_vertex will only get faster. Removes ~43k from compiled
binary.
Tested with: quake3, ut, ipers, texcyl, chromium, tuxracer, neverball (kinda)
|
|
scratch. There were just too many cut-and-paste errors in the code,
and it was too hard to follow.
This fixes Mesa bugzilla #1508. #1509 is probably also fixed, but
I'd like to do some more testing before I close that particular bug.
Additionally, this cuts almost 4,600 lines of code from the driver.
|
|
state with a function. This function sets the bits correctly. Did some
trivial refactoring on some of the GL_COMBINE code.
First pass at replacing classic texture environments with GL_COMBINE.
This is controlled by the EXPERIMENTAL_COMBINE_MODE define.
|
|
for GL_ARB_texture_mirrored_repeat. Enabled GL_NV_blend_square. It has
always actually been supported. Removed redundant EXT versions of ARB
extension strings.
|
|
between pointers in appropriate types.
Submitted by: Ronny V. Vindenes <s864@ii.uib.no>
|
|
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
|
|
|
|
|
|
|
|
GL_COPY to turn off logicop. Fixes glean's logicop test.
|
|
Doesn't seem to help with glean's paths test, but I'm pretty sure it's correct.
|
|
|
|
the hardware. Re-enable AGP by default.
|
|
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
|
|
setup that now removed atoms from the atomlist on texture deletion.
|
|
|
|
|
|
|
|
|
|
|
|
after we check the buffer
|
|
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.
|
|
|
|
lifted from the i915 side. i830 will now report version 1.3! Hurrah!
With the exception of GL_EXT_texture_compression_s3tc, the i830 driver
now supports all the extensions that its Windows counterpart supports.
|
|
|
|
|
|
|
|
Tested with arbvptorus, arbvpwarpmesh, vptorus, and vpwarpmesh.
|
|
|
|
support in the r200 driver. Both extensions can be enabled via
options, GL_ARB_vertex_program is on by default, GL_NV_vertex_program
off. Option descriptions are in german, english and french.
From: Philipp Klaus Krause
|
|
|
|
the driver into line with the correct meaning of those symbols
and fixes color corruptions.
|
|
|
|
|
|
|
|
|
|
|
|
in the Mesa tree.
|
|
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.
|
|
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%).
|
|
|
|
|
|
|
|
|
|
Submitted by: John Lightsey <john@nixnuts.net>
|
|
|
|
|
|
|