Eric Anholt [Thu, 14 Feb 2008 00:08:19 +0000 (16:08 -0800)]
[965] Fix ARB_occlusion_query from intel_screen.c merge.
It wasn't being initialized at screen setup, so we were getting stub
entrypoints even though it was exposed as enabled. Fixes arbocclude mesa demo.
Eric Anholt [Wed, 13 Feb 2008 18:34:20 +0000 (10:34 -0800)]
[intel] Fix 965 rendering with non-TTM by merging intel_ioctl between 915/965.
The 965 path wasn't setting pClipRects for batch submission since it didn't
want kernel cliprect handling before. The 915 path also grew the INTEL_NO_HW=1
option for testing just driver overhead.
Eric Anholt [Wed, 13 Feb 2008 17:26:06 +0000 (09:26 -0800)]
When mapping, wait on the buffer's fence, not hardware idle, in bufmgr_fake
Eric Anholt [Wed, 13 Feb 2008 17:16:07 +0000 (09:16 -0800)]
Remove O(n^2) debugging code from non-debug path of dri_bufmgr_fake.
Xiang, Haihao [Wed, 13 Feb 2008 07:57:44 +0000 (15:57 +0800)]
_mesa_swizzle_ubyt_image: Don't use single swizzle_copy call
if components don't match. fix #13508
Eric Anholt [Wed, 13 Feb 2008 00:03:58 +0000 (16:03 -0800)]
[intel] Remove cached reloc data buffer now that it's not a BO.
It's not worth the extra effort to avoid a free/malloc, and we'd rather
auto-size the reloc data buffer at some point so we don't need to have
max_relocs.
Eric Anholt [Wed, 13 Feb 2008 00:01:26 +0000 (16:01 -0800)]
[intel] Fix type of some more flags variables for uint64_t flags.
Harmless since we don't yet have any bits above 31 for flags.
Eric Anholt [Mon, 11 Feb 2008 16:29:05 +0000 (08:29 -0800)]
[intel] Note when BO map/unmap fail with TTM.
Eric Anholt [Fri, 8 Feb 2008 23:58:45 +0000 (15:58 -0800)]
[intel] Fix INTEL_DEBUG=bufmgr after relocation interface fixups.
Eric Anholt [Thu, 7 Feb 2008 23:12:59 +0000 (15:12 -0800)]
[965] Remove stale brw_state_cache.c comment and function export.
Brian [Tue, 12 Feb 2008 23:56:18 +0000 (16:56 -0700)]
Fix broken test.
As-is, if the texture was too large for the target, an assertion would fail.
Now check proxy texture first and if it works, then test non-proxy target.
Brian [Tue, 12 Feb 2008 22:53:37 +0000 (15:53 -0700)]
Set Min/MaxLod with glTexParameterf, not glTexParameteri
Brian [Tue, 12 Feb 2008 21:59:07 +0000 (14:59 -0700)]
tweak incr/decrements amounts for keyboard options
Brian [Mon, 11 Feb 2008 16:46:10 +0000 (09:46 -0700)]
press 0,1,2,etc keys for specific bias values
Dan Nicholson [Tue, 15 Jan 2008 18:21:31 +0000 (10:21 -0800)]
glapi: Correct prerequisites for gl_and_glX_API.xml
The indirect_dispatch.h and indirect_table.c source files use
gl_and_glX_API.xml in their generation rather than glX_API.xml, but it
wasn't listed in their prerequisites. In turn, gl_and_glX_API.xml uses
glX_API.xml, but this is already listed in $(COMMON_GLX).
Dan Nicholson [Tue, 15 Jan 2008 18:15:36 +0000 (10:15 -0800)]
glapi: Use make automatic variables to clean up the commands
Make use of the make automatic variables $@ (the target) and $< (first
prerequisite) to clean up the commands for the glapi generation. This
improves readability and guards against typos since words are repeated
less frequently.
Dan Nicholson [Tue, 15 Jan 2008 17:52:17 +0000 (09:52 -0800)]
glapi: Use variable for indent and flags
Put the path to indent and the flags to call it with in configs/default
rather than in the Makefile. This makes it easier to change the values
globally.
Ben Skeggs [Tue, 12 Feb 2008 06:28:31 +0000 (17:28 +1100)]
nouveau: ddx versioning changed
Claudio Ciccani [Fri, 8 Feb 2008 11:36:45 +0000 (12:36 +0100)]
[directfb] Added RGB444 and RGB555.
Also added color expansion for RGB16, ARGB1555 and ARGB4444.
Claudio Ciccani [Fri, 8 Feb 2008 11:35:08 +0000 (12:35 +0100)]
[glut-directfb] Fixed displaying of single buffered window.
Claudio Ciccani [Fri, 8 Feb 2008 11:03:53 +0000 (12:03 +0100)]
[glut-directfb] When converting microseconds to milliseconds, round to the next integer.
Eric Anholt [Thu, 7 Feb 2008 20:09:16 +0000 (12:09 -0800)]
[965] Flush icache on new batch, not just new context.
This is required since our buffer manager may now move our
instruction-containing buffers at any batchbuffer emit.
Andy Skinner [Thu, 7 Feb 2008 20:20:06 +0000 (13:20 -0700)]
added -altopts to allow overriding all other opts
Eric Anholt [Wed, 6 Feb 2008 23:41:04 +0000 (15:41 -0800)]
[915] Fix COS function using same plan as SIN.
The previous COS function failed badly outside of [-pi/2, pi/2].
Eric Anholt [Wed, 6 Feb 2008 23:38:16 +0000 (15:38 -0800)]
[915] Use a quartic term to improve the accuracy of SIN results.
This is described in the link in the comment, and is the same technique that
r300 uses.
Eric Anholt [Wed, 6 Feb 2008 19:34:14 +0000 (11:34 -0800)]
[915] Fix fp SIN function, and use a quadratic approximation instead of Taylor.
The Taylor series notably fails at producing sin(pi) == 0, which leads to
discontinuity every 2*pi. The quadratic gets us sin(pi) == 0 behavior, at the
expense of going from 2.4% THD with working Taylor series to 3.8% THD (easily
seen on comparative graphs of the two). However, our previous implementation
was producing sin(pi) < -1 and worse, so any reasonable approximation is an
improvement. This also fixes the repeating behavior, where the previous
implementation would repeat sin(x) for x>pi as sin(x % pi) and the opposite
for x < -pi.
Eric Anholt [Tue, 5 Feb 2008 19:00:04 +0000 (11:00 -0800)]
[965] Bug 14314: assertion failure with with !AIGLX and depth=24 visual.
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.
Xiang, Haihao [Tue, 5 Feb 2008 07:17:58 +0000 (15:17 +0800)]
i965: adjust the byte order of clear color. fix #14165
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.
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.
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.
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.
Eric Anholt [Sat, 2 Feb 2008 10:59:55 +0000 (02:59 -0800)]
[965] Remove dead structure in brw_draw_upload.c.
Eric Anholt [Tue, 22 Jan 2008 22:03:24 +0000 (14:03 -0800)]
[965] Move temporary vbo array storage into the function using it.
Eric Anholt [Tue, 22 Jan 2008 19:35:04 +0000 (11:35 -0800)]
[965] Remove dead brw_vertex_element members.
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.
Eric Anholt [Tue, 22 Jan 2008 19:04:09 +0000 (11:04 -0800)]
[965] Avoid overloaded use of the term 'input' for clarity.
Eric Anholt [Tue, 22 Jan 2008 18:56:09 +0000 (10:56 -0800)]
[965] Replace VEP/VBP state structures with inline batch emits.
Dave Airlie [Mon, 4 Feb 2008 10:59:26 +0000 (21:59 +1100)]
r300: fix isosurf on rs690
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
Eric Anholt [Sat, 2 Feb 2008 00:04:38 +0000 (16:04 -0800)]
[965] Fix indentation.
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).
Eric Anholt [Fri, 1 Feb 2008 00:16:29 +0000 (16:16 -0800)]
[965] Replace XXX comment about constant swizzle with an assert.
Eric Anholt [Mon, 28 Jan 2008 06:21:01 +0000 (22:21 -0800)]
[965] Fix some indentation in brw_vs_tnl.c.
Xiang, Haihao [Fri, 1 Feb 2008 16:56:51 +0000 (00:56 +0800)]
mesa: re-define NEED_SECONDARY_COLOR. fix #14310.
Zou Nan hai [Fri, 1 Feb 2008 12:28:26 +0000 (20:28 +0800)]
[intel] fix for previous fix
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).
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
Zou Nan hai [Thu, 31 Jan 2008 10:22:19 +0000 (18:22 +0800)]
[i965] renable regative rhw test
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.
Roland Scheidegger [Thu, 31 Jan 2008 00:34:01 +0000 (01:34 +0100)]
regenerate glsl library functions
Roland Scheidegger [Thu, 31 Jan 2008 00:32:46 +0000 (01:32 +0100)]
fix w component of glsl vec4 asin
Brian [Wed, 30 Jan 2008 15:08:23 +0000 (08:08 -0700)]
check if fb->Delete is null (bugs 13507,14293)
Alex Deucher [Tue, 29 Jan 2008 15:14:04 +0000 (10:14 -0500)]
Add new RV380 pci id
bug 14289
Xiang, Haihao [Tue, 29 Jan 2008 03:13:53 +0000 (11:13 +0800)]
i965: new integrated graphics chipset support
Brian [Mon, 28 Jan 2008 19:41:47 +0000 (12:41 -0700)]
push out far clip plane to 200
Brian [Mon, 28 Jan 2008 19:35:20 +0000 (12:35 -0700)]
Added d/D keys to change viewing distance, 'a' to toggle animation
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.
Xiang, Haihao [Fri, 25 Jan 2008 08:52:08 +0000 (16:52 +0800)]
i965: valid message length includes message header.
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.
Eric Anholt [Thu, 24 Jan 2008 21:00:13 +0000 (13:00 -0800)]
Bufmgr cleanup from intel-batchbuffer branch of 2d driver.
Eric Anholt [Thu, 24 Jan 2008 20:29:04 +0000 (12:29 -0800)]
Clean up comments/dead code from relocation buffer change.
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.
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.
Dave Airlie [Thu, 24 Jan 2008 04:38:50 +0000 (14:38 +1000)]
i915: move to using copy from user for relocations
Brian [Wed, 23 Jan 2008 23:03:19 +0000 (16:03 -0700)]
Assorted patches for miniglx/linux-solo (Gavin Li <codeview@gmail.com>)
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.
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.
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.
Brian [Tue, 22 Jan 2008 15:40:29 +0000 (08:40 -0700)]
fix pc vs. gc->ps usage (bug 14197)
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
Brian [Tue, 22 Jan 2008 14:54:08 +0000 (07:54 -0700)]
remove unused var
Alexey Sokolov [Tue, 22 Jan 2008 14:43:43 +0000 (07:43 -0700)]
define M_PI if needed
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.
Eric Anholt [Fri, 18 Jan 2008 19:39:35 +0000 (11:39 -0800)]
[intel] Fix memory leak with fake bufmgr.
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.
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.
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.
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.
Eric Anholt [Thu, 17 Jan 2008 19:45:37 +0000 (11:45 -0800)]
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.
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.
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.
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.
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.
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.
Eric Anholt [Tue, 15 Jan 2008 23:09:21 +0000 (15:09 -0800)]
Fix the compile of disabled DEBUG_PARSING code.
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.
Eric Anholt [Tue, 15 Jan 2008 18:12:38 +0000 (10:12 -0800)]
[965] Increase max relocation count, fixing assertions by blender.
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.
Zou Nan hai [Tue, 15 Jan 2008 07:19:09 +0000 (15:19 +0800)]
i965: fix an assert fail in brw_new_batch
Eric Anholt [Mon, 14 Jan 2008 23:19:43 +0000 (15:19 -0800)]
[i915] Fix recursive lock hang in intelContendedLock handling.
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.
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.
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.
Eric Anholt [Thu, 10 Jan 2008 23:05:39 +0000 (15:05 -0800)]
[965] Remove an open-coded memcpy.
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%.
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.
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%.