mesa.git
16 years ago[965] Fix TTM relocation caching overzealousness.
Eric Anholt [Tue, 5 Feb 2008 17:38:02 +0000 (09:38 -0800)]
[965] Fix TTM relocation caching overzealousness.

The failure mode that was a available was:
reloc 1 -> target_buf
exec: PRESUMED_OFFSET wrong, buffer migrates, r1 entry updated.
reloc 2 -> target_buf
exec: suppose buffer migrates again.  PRESUMED_OFFSET wrong. r2 entry updated.
reloc 1 -> target_buf
exec: suppose buffer doesn't migrate.  PRESUMED_OFFSET right. no relocations
      performed.  r1 has stale pointer at original location.

Failures were reported with OGLconform's VBO test and SPECviewperf90, though
I haven't confirmed that this fixes it.

16 years agoi965: adjust the byte order of clear color. fix #14165
Xiang, Haihao [Tue, 5 Feb 2008 07:17:58 +0000 (15:17 +0800)]
i965: adjust the byte order of clear color. fix #14165

16 years agoReplace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.
Eric Anholt [Tue, 5 Feb 2008 02:19:03 +0000 (18:19 -0800)]
Replace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.

In addition to potentially binding when it was about to be mapped anyway,
failure to use CACHED_MAPPED means eating a full wbinvd on validate.  Thanks to
airlied for catching this.

16 years agoInclude glext.h in the cva test so that it actually uses CVAs.
Eric Anholt [Sun, 3 Feb 2008 09:04:46 +0000 (01:04 -0800)]
Include glext.h in the cva test so that it actually uses CVAs.

16 years agoAllow first != 0 in mesa CVA handling, and add more error checking.
Eric Anholt [Sat, 2 Feb 2008 10:54:13 +0000 (02:54 -0800)]
Allow first != 0 in mesa CVA handling, and add more error checking.

16 years ago[965] Convert brw_draw_upload to managing dri_bos, not gl_buffer_objects.
Eric Anholt [Sun, 3 Feb 2008 07:27:19 +0000 (23:27 -0800)]
[965] Convert brw_draw_upload to managing dri_bos, not gl_buffer_objects.

This helps us avoid a bunch of mess with gl_client_arrays that we filled
with unused data and confused readers.

16 years ago[965] Remove dead structure in brw_draw_upload.c.
Eric Anholt [Sat, 2 Feb 2008 10:59:55 +0000 (02:59 -0800)]
[965] Remove dead structure in brw_draw_upload.c.

16 years ago[965] Move temporary vbo array storage into the function using it.
Eric Anholt [Tue, 22 Jan 2008 22:03:24 +0000 (14:03 -0800)]
[965] Move temporary vbo array storage into the function using it.

16 years ago[965] Remove dead brw_vertex_element members.
Eric Anholt [Tue, 22 Jan 2008 19:35:04 +0000 (11:35 -0800)]
[965] Remove dead brw_vertex_element members.

16 years ago[965] Add a wrapper around interleaved copy_array_to_vbo_array for profiling.
Eric Anholt [Tue, 22 Jan 2008 19:34:46 +0000 (11:34 -0800)]
[965] Add a wrapper around interleaved copy_array_to_vbo_array for profiling.

If compiled with optimization, it shouldn't appear at all, and helps me for
now.

16 years ago[965] Avoid overloaded use of the term 'input' for clarity.
Eric Anholt [Tue, 22 Jan 2008 19:04:09 +0000 (11:04 -0800)]
[965] Avoid overloaded use of the term 'input' for clarity.

16 years ago[965] Replace VEP/VBP state structures with inline batch emits.
Eric Anholt [Tue, 22 Jan 2008 18:56:09 +0000 (10:56 -0800)]
[965] Replace VEP/VBP state structures with inline batch emits.

16 years agor300: fix isosurf on rs690
Dave Airlie [Mon, 4 Feb 2008 10:59:26 +0000 (21:59 +1100)]
r300: fix isosurf on rs690

16 years agoi965: fix potential NULL pointer dereference. The third region
Xiang, Haihao [Sun, 3 Feb 2008 12:36:17 +0000 (20:36 +0800)]
i965: fix potential NULL pointer dereference. The third region
isn't created at all for 965

16 years ago[965] Fix indentation.
Eric Anholt [Sat, 2 Feb 2008 00:04:38 +0000 (16:04 -0800)]
[965] Fix indentation.

16 years agoRevert "intel: don't apply the relocation optimization if a target"
Eric Anholt [Fri, 1 Feb 2008 02:43:51 +0000 (18:43 -0800)]
Revert "intel: don't apply the relocation optimization if a target"

This reverts commit e2cb905bc6e23eaafaeeb2abdc9480e70959ee3f.

It was a reversion of an optimization hidden as otherwise.
pre_target_buf_handle was always NULL, so the optimization was never enabled,
rather than fixing the important optimization (resulting in 25-50% performance
loss).

16 years ago[965] Replace XXX comment about constant swizzle with an assert.
Eric Anholt [Fri, 1 Feb 2008 00:16:29 +0000 (16:16 -0800)]
[965] Replace XXX comment about constant swizzle with an assert.

16 years ago[965] Fix some indentation in brw_vs_tnl.c.
Eric Anholt [Mon, 28 Jan 2008 06:21:01 +0000 (22:21 -0800)]
[965] Fix some indentation in brw_vs_tnl.c.

16 years agomesa: re-define NEED_SECONDARY_COLOR. fix #14310.
Xiang, Haihao [Fri, 1 Feb 2008 16:56:51 +0000 (00:56 +0800)]
mesa: re-define NEED_SECONDARY_COLOR. fix #14310.

16 years ago [intel] fix for previous fix
Zou Nan hai [Fri, 1 Feb 2008 12:28:26 +0000 (20:28 +0800)]
  [intel]  fix for previous fix

16 years ago [intel] use _mesa_copy_rect for upload compressed texture,
Zou Nan hai [Fri, 1 Feb 2008 09:36:56 +0000 (17:36 +0800)]
   [intel] use _mesa_copy_rect for upload compressed texture,
this fix bad texture issue in some games(UT and quake).

16 years agoi965: Don't emit state if fall back to software rendering. fix #14116
Xiang, Haihao [Fri, 1 Feb 2008 08:46:41 +0000 (16:46 +0800)]
i965: Don't emit state if fall back to software rendering. fix #14116

16 years ago[i965] renable regative rhw test
Zou Nan hai [Thu, 31 Jan 2008 10:22:19 +0000 (18:22 +0800)]
[i965] renable regative rhw test

16 years agointel: don't apply the relocation optimization if a target
Xiang, Haihao [Thu, 31 Jan 2008 09:17:03 +0000 (17:17 +0800)]
intel: don't apply the relocation optimization if a target
buffer is used for a relocatee in the former relocation process
then another target buffer is used for this relocatee at the same
offset in the current relocation process.

16 years agoregenerate glsl library functions
Roland Scheidegger [Thu, 31 Jan 2008 00:34:01 +0000 (01:34 +0100)]
regenerate glsl library functions

16 years agofix w component of glsl vec4 asin
Roland Scheidegger [Thu, 31 Jan 2008 00:32:46 +0000 (01:32 +0100)]
fix w component of glsl vec4 asin

16 years agocheck if fb->Delete is null (bugs 13507,14293)
Brian [Wed, 30 Jan 2008 15:08:23 +0000 (08:08 -0700)]
check if fb->Delete is null (bugs 13507,14293)

16 years agoAdd new RV380 pci id
Alex Deucher [Tue, 29 Jan 2008 15:14:04 +0000 (10:14 -0500)]
Add new RV380 pci id

bug 14289

16 years agoi965: new integrated graphics chipset support
Xiang, Haihao [Tue, 29 Jan 2008 03:13:53 +0000 (11:13 +0800)]
i965: new integrated graphics chipset support

16 years agopush out far clip plane to 200
Brian [Mon, 28 Jan 2008 19:41:47 +0000 (12:41 -0700)]
push out far clip plane to 200

16 years agoAdded d/D keys to change viewing distance, 'a' to toggle animation
Brian [Mon, 28 Jan 2008 19:35:20 +0000 (12:35 -0700)]
Added d/D keys to change viewing distance, 'a' to toggle animation

16 years agor300: add initial rs690 support to Mesa
Dave Airlie [Sun, 27 Jan 2008 02:16:06 +0000 (12:16 +1000)]
r300: add initial rs690 support to Mesa

The rs690 has an rs4xx style vertex-shader less 3D engine. It uses the new
r500 output engine though. It also needs a new drm with rs690 support,
which is just getting cleaned up.

16 years agoi965: valid message length includes message header.
Xiang, Haihao [Fri, 25 Jan 2008 08:52:08 +0000 (16:52 +0800)]
i965: valid message length includes message header.

16 years agoi965: re-define the type of reg.loopcount.
Xiang, Haihao [Fri, 25 Jan 2008 08:38:38 +0000 (16:38 +0800)]
i965: re-define the type of reg.loopcount.
  avoid some issues such that 1 + (-2) gets a big
positive value.

16 years agoBufmgr cleanup from intel-batchbuffer branch of 2d driver.
Eric Anholt [Thu, 24 Jan 2008 21:00:13 +0000 (13:00 -0800)]
Bufmgr cleanup from intel-batchbuffer branch of 2d driver.

16 years agoClean up comments/dead code from relocation buffer change.
Eric Anholt [Thu, 24 Jan 2008 20:29:04 +0000 (12:29 -0800)]
Clean up comments/dead code from relocation buffer change.

16 years agoMerge commit 'airlied/i915-ttm-cfu'
Eric Anholt [Thu, 24 Jan 2008 20:26:29 +0000 (12:26 -0800)]
Merge commit 'airlied/i915-ttm-cfu'

This requires current DRM which changes the relocation buffer from being a
buffer object to plain malloced memory.

16 years agoBring in previous 7.0.1/2 release notes, added Cell driver page.
Brian [Thu, 24 Jan 2008 16:15:31 +0000 (09:15 -0700)]
Bring in previous 7.0.1/2 release notes, added Cell driver page.

16 years agoi915: move to using copy from user for relocations
Dave Airlie [Thu, 24 Jan 2008 04:38:50 +0000 (14:38 +1000)]
i915: move to using copy from user for relocations

16 years agoAssorted patches for miniglx/linux-solo (Gavin Li <codeview@gmail.com>)
Brian [Wed, 23 Jan 2008 23:03:19 +0000 (16:03 -0700)]
Assorted patches for miniglx/linux-solo (Gavin Li <codeview@gmail.com>)

16 years agoFix some issues with glDrawBuffer(GL_NONE), bug 14198
Brian [Wed, 23 Jan 2008 04:11:55 +0000 (21:11 -0700)]
Fix some issues with glDrawBuffer(GL_NONE), bug 14198

Set _ColorDrawBuffers[0] = NULL if no renderbuffers enabled.
Check that _ColorDrawBuffers[0] is non-null before dereferencing in a few places.

16 years agoglxinfo: Fix multisample visual reporting.
Adam Jackson [Tue, 22 Jan 2008 19:57:20 +0000 (14:57 -0500)]
glxinfo: Fix multisample visual reporting.

strstr() == 0 tests for the string _not_ being present.  Originally
Red Hat bug #351871.

16 years ago[intel] Clean up references to screen buffer metrics.
Kristian Høgsberg [Tue, 22 Jan 2008 17:13:16 +0000 (12:13 -0500)]
[intel] Clean up references to screen buffer metrics.

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.

16 years agofix pc vs. gc->ps usage (bug 14197)
Brian [Tue, 22 Jan 2008 15:40:29 +0000 (08:40 -0700)]
fix pc vs. gc->ps usage (bug 14197)

16 years agoDon't build yuvrect_client by default
Brian [Tue, 22 Jan 2008 14:56:26 +0000 (07:56 -0700)]
Don't build yuvrect_client by default

Added 'extra' rule to build optional yuvrect_client, shape, xdemo programs

16 years agoremove unused var
Brian [Tue, 22 Jan 2008 14:54:08 +0000 (07:54 -0700)]
remove unused var

16 years agodefine M_PI if needed
Alexey Sokolov [Tue, 22 Jan 2008 14:43:43 +0000 (07:43 -0700)]
define M_PI if needed

16 years ago[965] Fix WM unit cache keying that broke line stipple and polygon offset.
Eric Anholt [Sun, 20 Jan 2008 07:22:45 +0000 (23:22 -0800)]
[965] Fix WM unit cache keying that broke line stipple and polygon offset.

16 years ago[intel] Fix memory leak with fake bufmgr.
Eric Anholt [Fri, 18 Jan 2008 19:39:35 +0000 (11:39 -0800)]
[intel] Fix memory leak with fake bufmgr.

16 years ago[965] Do a little bit rotation in state hash to reduce collisions.
Eric Anholt [Fri, 18 Jan 2008 18:15:28 +0000 (10:15 -0800)]
[965] Do a little bit rotation in state hash to reduce collisions.

This was around 3% improvement in OA.

16 years ago[intel] Use a static array for the validation list instead of a linked list.
Eric Anholt [Sat, 12 Jan 2008 02:54:31 +0000 (18:54 -0800)]
[intel] Use a static array for the validation list instead of a linked list.

Around 10% of a CPU was being wasted to create the linked list which we
threw out immediately after passing it to the kernel.

16 years ago[intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST.
Eric Anholt [Thu, 17 Jan 2008 22:23:04 +0000 (14:23 -0800)]
[intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST.

16 years ago[i915] Fix driver from cliprects changes, and clean up state emission.
Eric Anholt [Mon, 14 Jan 2008 19:03:05 +0000 (11:03 -0800)]
[i915] Fix driver from cliprects changes, and clean up state emission.

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.

16 years ago[965] Fix whitespace in c9b1fef0c9c5018efd825c42782f19ad0618696a
Eric Anholt [Thu, 17 Jan 2008 19:45:37 +0000 (11:45 -0800)]
[965] Fix whitespace in c9b1fef0c9c5018efd825c42782f19ad0618696a

16 years ago[965] Fix potential segfaults from bad realloc.
Eric Anholt [Thu, 17 Jan 2008 19:25:04 +0000 (11:25 -0800)]
[965] Fix potential segfaults from bad realloc.

C has no order of evaluation restrictions on function arguments, so we
attempted to realloc from new-size to new-size.

16 years agoi965: always call dri_emit_reloc when creating clip unit state
Xiang, Haihao [Thu, 17 Jan 2008 03:05:24 +0000 (11:05 +0800)]
i965: always call dri_emit_reloc when creating clip unit state

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.

16 years ago[965] Fix inversion of SLT/SGE results in vertex programs.
Eric Anholt [Wed, 16 Jan 2008 23:07:10 +0000 (15:07 -0800)]
[965] Fix inversion of SLT/SGE results in vertex programs.

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.

16 years ago[965] Rename depth_mask in CC key to depth_write, since it's a boolean enable.
Eric Anholt [Wed, 16 Jan 2008 18:50:28 +0000 (10:50 -0800)]
[965] Rename depth_mask in CC key to depth_write, since it's a boolean enable.

16 years ago[965] Fix the type of alpha_ref in CC key, fixing ppracer rendering.
Eric Anholt [Wed, 16 Jan 2008 18:46:35 +0000 (10:46 -0800)]
[965] Fix the type of alpha_ref in CC key, fixing ppracer rendering.

16 years agoautoconf: Use -fno-strict-aliasing on GCC
Dan Nicholson [Wed, 16 Jan 2008 06:52:25 +0000 (22:52 -0800)]
autoconf: Use -fno-strict-aliasing on GCC

This change adds -fno-strict-aliasing when using gcc and g++, just like
the existing configs.

16 years agoFix the compile of disabled DEBUG_PARSING code.
Eric Anholt [Tue, 15 Jan 2008 23:09:21 +0000 (15:09 -0800)]
Fix the compile of disabled DEBUG_PARSING code.

16 years agoBug #13492: Only call ProgramStringNotify if program parsing succeeded.
Eric Anholt [Tue, 15 Jan 2008 23:08:34 +0000 (15:08 -0800)]
Bug #13492: Only call ProgramStringNotify if program parsing succeeded.

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.

16 years ago[965] Increase max relocation count, fixing assertions by blender.
Eric Anholt [Tue, 15 Jan 2008 18:12:38 +0000 (10:12 -0800)]
[965] Increase max relocation count, fixing assertions by blender.

16 years ago[i915] Prevent recursive batchbuffer flushing.
Kristian Høgsberg [Tue, 15 Jan 2008 15:23:15 +0000 (10:23 -0500)]
[i915] Prevent recursive batchbuffer flushing.

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.

16 years ago i965: fix an assert fail in brw_new_batch
Zou Nan hai [Tue, 15 Jan 2008 07:19:09 +0000 (15:19 +0800)]
 i965: fix an assert fail in brw_new_batch

16 years ago[i915] Fix recursive lock hang in intelContendedLock handling.
Eric Anholt [Mon, 14 Jan 2008 23:19:43 +0000 (15:19 -0800)]
[i915] Fix recursive lock hang in intelContendedLock handling.

16 years ago[intel] Delay unmapping of driver-private buffers to reduce map/unmap thrashing.
Eric Anholt [Sat, 12 Jan 2008 01:03:51 +0000 (17:03 -0800)]
[intel] Delay unmapping of driver-private buffers to reduce map/unmap thrashing.

Good for a 10-15% improvement to OA.

16 years ago[965] Force a new vertex upload buffer at new batch time.
Eric Anholt [Sat, 12 Jan 2008 00:00:50 +0000 (16:00 -0800)]
[965] Force a new vertex upload buffer at new batch time.

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.

16 years agoAllow osmesa to be enabled or disabled
Dan Nicholson [Sun, 30 Dec 2007 16:41:53 +0000 (08:41 -0800)]
Allow osmesa to be enabled or disabled

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.

16 years ago[965] Remove an open-coded memcpy.
Eric Anholt [Thu, 10 Jan 2008 23:05:39 +0000 (15:05 -0800)]
[965] Remove an open-coded memcpy.

16 years ago[intel] Remove gratuitous (batchbuffer) flush before doing buffer clears.
Eric Anholt [Thu, 10 Jan 2008 22:50:06 +0000 (14:50 -0800)]
[intel] Remove gratuitous (batchbuffer) flush before doing buffer clears.

Increases OA performance by about 3%.

16 years ago[intel] Report buffer size when allocating with INTEL_DEBUG=bufmgr and TTM.
Eric Anholt [Thu, 10 Jan 2008 22:43:43 +0000 (14:43 -0800)]
[intel] Report buffer size when allocating with INTEL_DEBUG=bufmgr and TTM.

16 years ago[965] Improve performance by allocating CURBE buffers a page at a time.
Eric Anholt [Thu, 10 Jan 2008 22:43:16 +0000 (14:43 -0800)]
[965] Improve performance by allocating CURBE buffers a page at a time.

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%.

16 years ago[intel] Remove a gratuitous flush at the end of ClearWithTris.
Eric Anholt [Thu, 10 Jan 2008 21:46:49 +0000 (13:46 -0800)]
[intel] Remove a gratuitous flush at the end of ClearWithTris.

16 years ago[intel] Only flush batch when changing draw buffers, not every cliprect update.
Eric Anholt [Thu, 10 Jan 2008 21:24:14 +0000 (13:24 -0800)]
[intel] Only flush batch when changing draw buffers, not every cliprect update.

The previous code would reference freed memory on window moves.

16 years ago[intel] Add more cliprect modes to cover other meanings for batch emits.
Eric Anholt [Thu, 10 Jan 2008 18:48:05 +0000 (10:48 -0800)]
[intel] Add more cliprect modes to cover other meanings for batch emits.

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.

16 years agoi965: fix bug #14002
Xiang, Haihao [Thu, 10 Jan 2008 08:48:33 +0000 (16:48 +0800)]
i965: fix bug #14002

16 years agoi965: fix segfault caused by commit e131c46b20241737ceba4856dbe01dcca6dd2c03.
Xiang, Haihao [Thu, 10 Jan 2008 08:45:35 +0000 (16:45 +0800)]
i965: fix segfault caused by commit e131c46b20241737ceba4856dbe01dcca6dd2c03.

16 years ago[intel] Simplify intelCreateBuffer() a bit.
Kristian Høgsberg [Wed, 9 Jan 2008 21:55:32 +0000 (16:55 -0500)]
[intel] Simplify intelCreateBuffer() a bit.

Drop a bunch of unused arguments from intel_create_renderbuffer() and
introduce intel_renderbuffer_set_region() to set the region for
a renderbuffer.

16 years ago[intel] Prepare intelCopyBuffer() for private back buffers.
Kristian Høgsberg [Thu, 10 Jan 2008 01:43:06 +0000 (20:43 -0500)]
[intel] Prepare intelCopyBuffer() for private back buffers.

16 years agoFactor out code to do the DRM_I830_GETPARAM ioctl.
Kristian Høgsberg [Wed, 9 Jan 2008 23:04:19 +0000 (18:04 -0500)]
Factor out code to do the DRM_I830_GETPARAM ioctl.

16 years agoFold DoBindContext() helper function into driBindContext().
Kristian Høgsberg [Wed, 9 Jan 2008 20:55:05 +0000 (15:55 -0500)]
Fold DoBindContext() helper function into driBindContext().

16 years ago[intel] Re-allocate backing buffer objects on BufferData.
Eric Anholt [Wed, 9 Jan 2008 22:30:09 +0000 (14:30 -0800)]
[intel] Re-allocate backing buffer objects on BufferData.

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.

16 years ago[965] Allow more than one draw_prims per batchbuffer.
Eric Anholt [Wed, 9 Jan 2008 22:21:52 +0000 (14:21 -0800)]
[965] Allow more than one draw_prims per batchbuffer.

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.

16 years ago[965] Replace the always_update dirty flag with BRW_NEW_BATCH.
Eric Anholt [Wed, 9 Jan 2008 22:08:12 +0000 (14:08 -0800)]
[965] Replace the always_update dirty flag with BRW_NEW_BATCH.

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).

16 years ago[intel] Rename lost_hardware vtbl entry to new_batch.
Eric Anholt [Wed, 9 Jan 2008 21:40:40 +0000 (13:40 -0800)]
[intel] Rename lost_hardware vtbl entry to new_batch.

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.

16 years ago[965] Remove drawing rect upload, which is handled (better) by the kernel.
Eric Anholt [Wed, 9 Jan 2008 21:24:29 +0000 (13:24 -0800)]
[965] Remove drawing rect upload, which is handled (better) by the kernel.

16 years ago[intel] Clean up cliprect handling in intel drivers.
Eric Anholt [Wed, 9 Jan 2008 20:33:39 +0000 (12:33 -0800)]
[intel] Clean up cliprect handling in intel drivers.

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.

16 years ago[intel] Remove the dead intel->need_flush member.
Eric Anholt [Wed, 9 Jan 2008 20:41:14 +0000 (12:41 -0800)]
[intel] Remove the dead intel->need_flush member.

16 years ago[965] Clarify a bit of index buffer upload code.
Eric Anholt [Wed, 9 Jan 2008 00:20:28 +0000 (16:20 -0800)]
[965] Clarify a bit of index buffer upload code.

16 years agofix bug 13978: glDrawBuffersARB() didn't set all necessary state
Brian [Wed, 9 Jan 2008 21:19:50 +0000 (14:19 -0700)]
fix bug 13978: glDrawBuffersARB() didn't set all necessary state

16 years ago[intel] Add TTM bufmgr debug for type or offset migration of buffers.
Eric Anholt [Fri, 4 Jan 2008 23:55:59 +0000 (15:55 -0800)]
[intel] Add TTM bufmgr debug for type or offset migration of buffers.

16 years agoi915: Keith Whitwell's swizzling TEX patch. fix #8283
Xiang, Haihao [Mon, 7 Jan 2008 06:08:36 +0000 (14:08 +0800)]
i915: Keith Whitwell's swizzling TEX patch. fix #8283

16 years agoReplace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexes
Brian [Mon, 7 Jan 2008 01:07:26 +0000 (18:07 -0700)]
Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexes

Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask.
The number of active color buffers is specified by _NumColorDrawBuffers.
This builds on the previous DrawBuffer changes and will help with drivers
implementing GL_ARB_draw_buffers.

16 years agoSimplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.
Brian [Sun, 6 Jan 2008 17:43:20 +0000 (10:43 -0700)]
Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.

These fields are no longer indexed by shader output.  Now, we just have
a simple array of renderbuffer pointers.

If the shader writes to gl_FragData[i], send those colors to the N
_ColorDrawBuffers.  Otherwise, replicate the single gl_FragColor (or
the fixed-function color) to the N _ColorDrawBuffers.

A few more changes and simplifications can follow from this...

16 years agofix depth/1 typo in glTexImage3D proxy code
Brian [Sat, 5 Jan 2008 22:37:27 +0000 (15:37 -0700)]
fix depth/1 typo in glTexImage3D proxy code

16 years agocheck if span length > 0 before calling _swrast_write_rgba_span()
Brian [Fri, 4 Jan 2008 00:17:22 +0000 (17:17 -0700)]
check if span length > 0 before calling _swrast_write_rgba_span()

16 years agoi915: don't validate PS program when falling back to software
Xiang, Haihao [Fri, 4 Jan 2008 09:11:39 +0000 (17:11 +0800)]
i915: don't validate PS program when falling back to software
rendering. fix #12786

16 years agointel: some initialization for dri_bufmgr_ttm
Xiang, Haihao [Fri, 4 Jan 2008 06:22:23 +0000 (14:22 +0800)]
intel: some initialization for dri_bufmgr_ttm

16 years ago[intel] Add a single-entry relocation buffer cache.
Eric Anholt [Fri, 4 Jan 2008 00:08:40 +0000 (16:08 -0800)]
[intel] Add a single-entry relocation buffer cache.

By avoiding the repeated relocation buffer creation/map/unmap/destroy for each
new batch buffer, this improves OpenArena framerates by 30%.  Caching batch
buffers themselves doesn't appear to be a significant performance win over
this change.