summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Assorted patches for miniglx/linux-solo (Gavin Li <[email protected]>)Brian2008-01-234-0/+33
|
* Fix some issues with glDrawBuffer(GL_NONE), bug 14198Brian2008-01-225-14/+36
| | | | | Set _ColorDrawBuffers[0] = NULL if no renderbuffers enabled. Check that _ColorDrawBuffers[0] is non-null before dereferencing in a few places.
* glxinfo: Fix multisample visual reporting.Adam Jackson2008-01-221-1/+1
| | | | | strstr() == 0 tests for the string _not_ being present. Originally Red Hat bug #351871.
* [intel] Clean up references to screen buffer metrics.Kristian Høgsberg2008-01-227-105/+13
| | | | | | The screen wide info such as pitch and cpp are obsoleted by the FBO changes, so clean up the last few references to those, except for setting up the legacy screen regions.
* fix pc vs. gc->ps usage (bug 14197)Brian2008-01-221-4/+4
|
* Don't build yuvrect_client by defaultBrian2008-01-221-6/+17
| | | | Added 'extra' rule to build optional yuvrect_client, shape, xdemo programs
* remove unused varBrian2008-01-221-1/+0
|
* define M_PI if neededAlexey Sokolov2008-01-222-0/+8
|
* [965] Fix WM unit cache keying that broke line stipple and polygon offset.Eric Anholt2008-01-191-9/+14
|
* [intel] Fix memory leak with fake bufmgr.Eric Anholt2008-01-181-1/+6
|
* [965] Do a little bit rotation in state hash to reduce collisions.Eric Anholt2008-01-181-2/+16
| | | | This was around 3% improvement in OA.
* [intel] Use a static array for the validation list instead of a linked list.Eric Anholt2008-01-181-167/+119
| | | | | Around 10% of a CPU was being wasted to create the linked list which we threw out immediately after passing it to the kernel.
* [intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST.Eric Anholt2008-01-173-10/+17
|
* [i915] Fix driver from cliprects changes, and clean up state emission.Eric Anholt2008-01-176-103/+26
| | | | | | | | | | The fix for pageflipping with cliprects ended up causing a batch flush at an inopportune time, which is fixed by moving it up. Additionally, the recovery code for handling batch wraps at bad times is replaced by just checking for the space up front, and using a no_batch_wrap assert like on 965 to make sure that we weren't wrong about how much space that was.
* [965] Fix whitespace in c9b1fef0c9c5018efd825c42782f19ad0618696aEric Anholt2008-01-171-4/+4
|
* [965] Fix potential segfaults from bad realloc.Eric Anholt2008-01-171-1/+4
| | | | | C has no order of evaluation restrictions on function arguments, so we attempted to realloc from new-size to new-size.
* i965: always call dri_emit_reloc when creating clip unit stateXiang, Haihao2008-01-171-8/+7
| | | | | | | This fix ensures it gets the starting location of the clip program if a clip unit state is same as a unit which is created when metaops is actived and it doesn't impact metaops because the clip state offset isn't emitted when metaops is actived.
* [965] Fix inversion of SLT/SGE results in vertex programs.Eric Anholt2008-01-162-6/+3
| | | | | | | The WM code had this right, so copy its behavior. This reverts a flipping of the arguments to SLT in brw_vs_tnl which came in with the GLSL code that probably occurred to work around the flipped results, and brings the code back in line with t_vp_build.c.
* [965] Rename depth_mask in CC key to depth_write, since it's a boolean enable.Eric Anholt2008-01-161-4/+3
|
* [965] Fix the type of alpha_ref in CC key, fixing ppracer rendering.Eric Anholt2008-01-161-1/+1
|
* autoconf: Use -fno-strict-aliasing on GCCDan Nicholson2008-01-151-0/+6
| | | | | This change adds -fno-strict-aliasing when using gcc and g++, just like the existing configs.
* Fix the compile of disabled DEBUG_PARSING code.Eric Anholt2008-01-151-3/+3
|
* Bug #13492: Only call ProgramStringNotify if program parsing succeeded.Eric Anholt2008-01-151-2/+2
| | | | | | Wine intentionally tries some out-of-spec programs to test strictness, and calling ProgramStringNotify on the results of a failed program parse resulted in crashes in the 965 driver.
* [965] Increase max relocation count, fixing assertions by blender.Eric Anholt2008-01-151-2/+7
|
* [i915] Prevent recursive batchbuffer flushing.Kristian Høgsberg2008-01-151-0/+11
| | | | | | | | | | | | Workaround for recursive batchbuffer flushing: If the window is moved, we can get into a case where we try to flush during a flush. What happens is that when we try to grab the lock for the first flush, we detect that the window moved which then causes another flush (from the intel_draw_buffer() call in intelUpdatePageFlipping()). To work around this we reset the batchbuffer tail pointer before trying to get the lock. This prevent the nested buffer flush, but a better fix would be to avoid that in the first place.
* i965: fix an assert fail in brw_new_batchZou Nan hai2008-01-151-2/+4
|
* [i915] Fix recursive lock hang in intelContendedLock handling.Eric Anholt2008-01-141-2/+2
|
* [intel] Delay unmapping of driver-private buffers to reduce map/unmap thrashing.Eric Anholt2008-01-141-2/+41
| | | | Good for a 10-15% improvement to OA.
* [965] Force a new vertex upload buffer at new batch time.Eric Anholt2008-01-142-1/+6
| | | | | Otherwise, we could choose to upload into the temporary VBO that we just fired off to the hardware. Good for a 60% OA performance improvement.
* Allow osmesa to be enabled or disabledDan Nicholson2008-01-113-49/+41
| | | | | | | | | | | | | | The conditional in src/mesa/Makefile currently hardcodes the cases where libOSMesa can be built on libGL. Likewise, the xlib case always includes libOSMesa in the stand-alone target. This changes the conditional to a loop over the DRIVER_DIRS variable. This means that any driver configuration can enable or disable osmesa. The current "stand-alone" rule is changed so that DRIVER_DIRS=x11 and DRIVER_DIRS="x11 osmesa" are both respected. The configure option is changed to --enable-gl-osmesa as this change allows libOSMesa to be built upon any of the libGL-enabling drivers.
* [965] Remove an open-coded memcpy.Eric Anholt2008-01-101-4/+4
|
* [intel] Remove gratuitous (batchbuffer) flush before doing buffer clears.Eric Anholt2008-01-101-2/+0
| | | | Increases OA performance by about 3%.
* [intel] Report buffer size when allocating with INTEL_DEBUG=bufmgr and TTM.Eric Anholt2008-01-101-1/+1
|
* [965] Improve performance by allocating CURBE buffers a page at a time.Eric Anholt2008-01-103-9/+33
| | | | | | Since each one is only 64b, and kernel allocations are a page anyway, this lets us reduce buffer allocation by packing many CURBEs into one buffer, for each batchbuffer submitted. Improves openarena performance by around 10%.
* [intel] Remove a gratuitous flush at the end of ClearWithTris.Eric Anholt2008-01-101-1/+0
|
* [intel] Only flush batch when changing draw buffers, not every cliprect update.Eric Anholt2008-01-104-11/+17
| | | | The previous code would reference freed memory on window moves.
* [intel] Add more cliprect modes to cover other meanings for batch emits.Eric Anholt2008-01-1020-85/+126
| | | | | | | | | | | | | | | The previous change gave us only two modes, one which looped over the batch per cliprect (3d drawing) and one that didn't (state updeast). However, we really want 4: - Batch doesn't care about cliprects (state updates) - Batch needs DRAWING_RECTANGLE looping per cliprect (3d drawing) - Batch needs to be executed just once (region fills, copies, etc.) - Batch already includes cliprect handling, and must be flushed by unlock time (copybuffers, clears). All callers should now be fixed to use one of these states for any batchbuffer emits. Thanks to Keith Whitwell for pointing out the failure.
* i965: fix bug #14002Xiang, Haihao2008-01-101-2/+3
|
* i965: fix segfault caused by commit e131c46b20241737ceba4856dbe01dcca6dd2c03.Xiang, Haihao2008-01-102-21/+21
|
* [intel] Simplify intelCreateBuffer() a bit.Kristian Høgsberg2008-01-094-84/+39
| | | | | | Drop a bunch of unused arguments from intel_create_renderbuffer() and introduce intel_renderbuffer_set_region() to set the region for a renderbuffer.
* [intel] Prepare intelCopyBuffer() for private back buffers.Kristian Høgsberg2008-01-091-2/+4
|
* Factor out code to do the DRM_I830_GETPARAM ioctl.Kristian Høgsberg2008-01-091-28/+23
|
* Fold DoBindContext() helper function into driBindContext().Kristian Høgsberg2008-01-091-23/+11
|
* [intel] Re-allocate backing buffer objects on BufferData.Eric Anholt2008-01-091-9/+2
| | | | | | | | This may allow better concurrency (noop in openarena performance now), but is also important for the previous commit -- otherwise, we may end up with BufferData, draw_prims, BufferData and the draw_prims would use the new VBO data instead of old. This could still occur with user-supplied VBOs and poor use of MapBuffer without BufferData.
* [965] Allow more than one draw_prims per batchbuffer.Eric Anholt2008-01-093-7/+17
| | | | | | | | The comment about (vbo)_exec_api.c appeared to be stale, as the VBO code seems to only use non-named VBOs (not actual VBOs) or freshly-allocated VBO data. This brings a 2x speedup to openarena, because we can submit nearly-full batchbuffers instead of many 450-byte ones.
* [965] Replace the always_update dirty flag with BRW_NEW_BATCH.Eric Anholt2008-01-095-15/+27
| | | | | | | This allows us to avoid re-emitting some state when validate_state happens multiple times per batchbuffer. Even though we flush batch per primitive currently, that may still happen already if the primitive changed (this should probably be fixed as well).
* [intel] Rename lost_hardware vtbl entry to new_batch.Eric Anholt2008-01-099-35/+18
| | | | | | | Both drivers have ended up relying on lost_hardware being called after each batch buffer, so update the name. This removes one of the calls on 965 whic h was outside of the batchbuffer handling code and just duplicating what had already happened through batchbuffer handling.
* [965] Remove drawing rect upload, which is handled (better) by the kernel.Eric Anholt2008-01-093-53/+0
|
* [intel] Clean up cliprect handling in intel drivers.Eric Anholt2008-01-095-73/+57
| | | | | | | | | In particular, batch buffers are no longer flushed when switching from CLIPRECTS to NO_CLIPRECTS or vice versa, and 965 just uses DRM cliprect handling for primitives instead of trying to sneak in its own to avoid the DRM stuff. The disadvantage is that we will re-execute state updates per cliprect, but the advantage is that we will be able to accumulate larger batch buffers, which were proving to be a major overhead.
* [intel] Remove the dead intel->need_flush member.Eric Anholt2008-01-096-7/+1
|