Roland Scheidegger [Fri, 9 Feb 2007 18:21:29 +0000 (19:21 +0100)]
optimize per-pixel fog program
use the same internal state as for vertex fog. From the old implemenentation,
this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
plus saves a (constant) parameter. While here, fix the broken (forgotten)
swizzling. (untested)
Zou Nan hai [Fri, 9 Feb 2007 05:28:56 +0000 (13:28 +0800)]
array overflow fix
Roland Scheidegger [Thu, 8 Feb 2007 23:36:53 +0000 (00:36 +0100)]
r200: simplify / unify input map handling for vp and fftnl
Use the same input map handling for fftnl and vertex programs. It doesn't
enable any new functionality (should make it easy to support per-vertex
materials though), but the code is much cleaner.
Roland Scheidegger [Thu, 8 Feb 2007 23:36:40 +0000 (00:36 +0100)]
optimize generated vertex programs a bit
Use new internal state to avoid per-vertex normalization of static spot
direction vector. Use internal state for simpler per-vertex fog computations
(MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
there fix it up (RSQ instead of RCP). All untested...
Roland Scheidegger [Thu, 8 Feb 2007 22:54:28 +0000 (23:54 +0100)]
fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...
Ben Skeggs [Tue, 6 Feb 2007 02:49:39 +0000 (13:49 +1100)]
nouveau: a couple of NV3x fixes
Jakob Bornecrantz [Mon, 5 Feb 2007 23:22:47 +0000 (10:22 +1100)]
Add support for CN700 chipset in miniglx
Roland Scheidegger [Mon, 5 Feb 2007 20:29:25 +0000 (21:29 +0100)]
fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)
ARB_vp requires vertex transformation to be invariant to fixed function tnl
if the position_invariant option is used. So the same function needs to be
used, otherwise z-fighting artifacts may happen with applications which rely
on the results being really the same due to precision issues when dealing with
floating point values (may not be a problem when using a non-optimizing
compiler strictly following IEEE rules).
Brian [Mon, 5 Feb 2007 17:29:58 +0000 (10:29 -0700)]
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
Panagiotis Papadakos [Mon, 5 Feb 2007 17:29:10 +0000 (10:29 -0700)]
fix mem leak
Ben Skeggs [Mon, 5 Feb 2007 15:28:55 +0000 (02:28 +1100)]
nouveau: OUT_RINGp expects the size in dwords, not bytes.
This fixes the *actual* bug that the previous commit was supposed to fix..
Panagiotis Papadakos [Mon, 5 Feb 2007 15:17:50 +0000 (08:17 -0700)]
fix mem leaks
Ben Skeggs [Mon, 5 Feb 2007 14:57:04 +0000 (01:57 +1100)]
nouveau: fix a small bug in nv10 swtcl
Ben Skeggs [Mon, 5 Feb 2007 13:39:50 +0000 (00:39 +1100)]
nouveau: new bufferobj code.
The old code suffered from a number of issues, the most severe being that
with the Mesa VBO merge even swtcl used the driver's bufferobj interface.
On most VBO types (or non-AGP cards) the buffer ended up in vram, and
killed swtcl performance greatly. All bufferobj's start in system memory
now, until they get referenced as a "real" VBO.
The other big change is that only potentially "damaged" areas are
uploaded/downloaded to/from the hardware.
Panagiotis Papadakos [Mon, 5 Feb 2007 08:34:55 +0000 (10:34 +0200)]
break if we removed driver from Drivers list in driDestroyDisplay
Else we read memory we just released, in for statement.
Patrice Mandin [Sun, 4 Feb 2007 12:10:23 +0000 (13:10 +0100)]
nouveau: nv10: add init for unknown 0x120
Stephane Marchesin [Sun, 4 Feb 2007 02:17:06 +0000 (03:17 +0100)]
nouveau: fix nv04 and nv10 swtcl, more work on nv04 state.
Patrice Mandin [Sat, 3 Feb 2007 22:46:58 +0000 (23:46 +0100)]
nouveau: forgot function declaration
Patrice Mandin [Sat, 3 Feb 2007 22:32:12 +0000 (23:32 +0100)]
nouveau: nv50: use nv50 state
Brian [Sat, 3 Feb 2007 17:30:50 +0000 (10:30 -0700)]
Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
Michel Dänzer [Sat, 3 Feb 2007 16:37:01 +0000 (17:37 +0100)]
Merge branch 'origin'
Michel Dänzer [Sat, 3 Feb 2007 16:32:02 +0000 (17:32 +0100)]
Fall back to software rasterization if r300_translate_fragment_shader() fails.
Aborting immediately is a bad idea with AIGLX.
Michel Dänzer [Sat, 3 Feb 2007 16:24:22 +0000 (17:24 +0100)]
Remove unused r200 files from r300 driver directory.
Michel Dänzer [Sat, 3 Feb 2007 16:23:19 +0000 (17:23 +0100)]
r300CreateContext: Really initialize r300->initialMaxAnisotropy.
Patrice Mandin [Sat, 3 Feb 2007 12:22:42 +0000 (13:22 +0100)]
nouveau: fix viewport clipping initialization
Patrice Mandin [Sat, 3 Feb 2007 12:20:16 +0000 (13:20 +0100)]
nouveau: use color pitch as depth pitch if depth disabled
Roland Scheidegger [Sat, 3 Feb 2007 02:31:31 +0000 (03:31 +0100)]
disable r200 materials-between-begin-end check if vertex progs are enabled
Roland Scheidegger [Sat, 3 Feb 2007 02:15:45 +0000 (03:15 +0100)]
remove now unused vtxfmt stuff from radeon/r200 header files
Roland Scheidegger [Sat, 3 Feb 2007 02:15:14 +0000 (03:15 +0100)]
fix errorneously adding fog state params to all vertex programs...
Keith Whitwell [Fri, 2 Feb 2007 12:26:10 +0000 (12:26 +0000)]
Merge branch 'vbo-0.2'
Conflicts:
src/mesa/main/texcompress_s3tc.c
src/mesa/tnl/t_array_api.c
Keith Whitwell [Fri, 2 Feb 2007 11:06:37 +0000 (11:06 +0000)]
Merge branch 'vbo-0.2-origin' into vbo-0.2
Keith Whitwell [Fri, 2 Feb 2007 10:59:58 +0000 (10:59 +0000)]
Modify assert to reflect rebase criteria
Zou Nan hai [Fri, 2 Feb 2007 06:37:24 +0000 (14:37 +0800)]
Zou Nan hai [Fri, 2 Feb 2007 01:35:17 +0000 (09:35 +0800)]
Fix fd.o #9686, when fall into vertex fog,
fog factors are precomputed in t_vb_fog.c compute_fog_blend_factors,
which is incompatible with appended fragment fog code.
That will make GoogleEarth display abnormally.
always use pixel fog.
Roland Scheidegger [Thu, 1 Feb 2007 19:59:45 +0000 (20:59 +0100)]
fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo.
Brian [Thu, 1 Feb 2007 14:22:50 +0000 (07:22 -0700)]
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
Brian [Thu, 1 Feb 2007 14:22:25 +0000 (07:22 -0700)]
fix mem leak in __glXReportDamage (Panagiotis Papadakos)
Keith Whitwell [Thu, 1 Feb 2007 14:21:14 +0000 (14:21 +0000)]
Correct usage/meaning of max_index parameter.
Keith Whitwell [Thu, 1 Feb 2007 14:20:31 +0000 (14:20 +0000)]
Cope with internally-generated null inputs.
Michel Dänzer [Thu, 1 Feb 2007 09:45:51 +0000 (10:45 +0100)]
driDestroyDisplay: Fix comment, it is called now.
Michel Dänzer [Thu, 1 Feb 2007 09:43:10 +0000 (10:43 +0100)]
driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.
This fixes a regression from commit
f81b1dbe374fe446f6ef676e70a72952ffb47d4e:
Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It
dlcloses the handles associated with the display but fails to remove their
references from the Drivers list, so subsequent calls to OpenDriver return a
stale handle and an invalid createNewScreenFunc pointer. The attempt to call
the latter results in a segfault when running amoeba, e.g.
Roland Scheidegger [Thu, 1 Feb 2007 00:09:26 +0000 (01:09 +0100)]
fix unitialized values in radeonClear
Xiang, Haihao [Wed, 31 Jan 2007 01:47:02 +0000 (09:47 +0800)]
_mesa_pack_rgba_span_float: fix for packing data into group
Keith Whitwell [Tue, 30 Jan 2007 20:22:55 +0000 (20:22 +0000)]
Use new rebase helper. Remove other rebase code.
Keith Whitwell [Tue, 30 Jan 2007 19:27:53 +0000 (19:27 +0000)]
Helper for rebasing draw requests where min_index != 0.
Keith Whitwell [Tue, 30 Jan 2007 19:19:51 +0000 (19:19 +0000)]
New tests for the array functions which also provoke rebasing.
Brian [Tue, 30 Jan 2007 15:13:49 +0000 (08:13 -0700)]
regenerated
Brian [Tue, 30 Jan 2007 15:13:02 +0000 (08:13 -0700)]
s/params/pointer/ for glGetVertexAttribPointer
Brian [Tue, 30 Jan 2007 15:11:50 +0000 (08:11 -0700)]
bump version to 6.5.3
Brian [Tue, 30 Jan 2007 15:10:03 +0000 (08:10 -0700)]
s/params/pointer/ for glGetVertexAttribPointer
Brian [Tue, 30 Jan 2007 15:09:25 +0000 (08:09 -0700)]
s/params/pointer/ for glGetVertexAttribPointer
Brian [Tue, 30 Jan 2007 15:02:20 +0000 (08:02 -0700)]
s/params/pointer/ for glGetVertexAttribPointer
Ben Skeggs [Tue, 30 Jan 2007 05:51:50 +0000 (16:51 +1100)]
nouveau: argh
Ben Skeggs [Tue, 30 Jan 2007 05:49:27 +0000 (16:49 +1100)]
nouveau: misc NV40 fixes
Ben Skeggs [Tue, 30 Jan 2007 05:00:20 +0000 (16:00 +1100)]
nouveau: NV40 glClipPlane support.
Ben Skeggs [Tue, 30 Jan 2007 01:33:00 +0000 (12:33 +1100)]
nouveau: rework shader param handling
Conflicts:
src/mesa/drivers/dri/nouveau/nouveau_shader_0.c
Ben Skeggs [Mon, 29 Jan 2007 06:08:45 +0000 (17:08 +1100)]
nouveau: oops, build attrib map after we know how the final shader will look..
Ben Skeggs [Sat, 27 Jan 2007 07:54:42 +0000 (18:54 +1100)]
nouveau: remove an unused table
Ben Skeggs [Sat, 27 Jan 2007 07:51:19 +0000 (18:51 +1100)]
nouveau: oops
Ben Skeggs [Sat, 27 Jan 2007 07:36:01 +0000 (18:36 +1100)]
nouveau: maintain a map of which vtxprog input corresponds to which array
Ben Skeggs [Mon, 29 Jan 2007 05:39:19 +0000 (16:39 +1100)]
nouveau: unhardcode some more NV30TCL_FP_CONTROL values
Matthieu Castet [Mon, 29 Jan 2007 22:26:35 +0000 (23:26 +0100)]
nouveau : NOUVEAU_RING_TRACE
allow to print what we are really sending to the fifo.
Matthieu Castet [Mon, 29 Jan 2007 22:19:12 +0000 (23:19 +0100)]
nouveau : nv10 comment icomplete command
Matthieu Castet [Sun, 28 Jan 2007 22:26:21 +0000 (23:26 +0100)]
nouveau : nv10 mixing cached stuff with not cached stuff is bad.
Ben Skeggs [Sun, 28 Jan 2007 11:55:35 +0000 (22:55 +1100)]
nouveau: fix nv30 line width
Ben Skeggs [Sun, 28 Jan 2007 06:02:40 +0000 (17:02 +1100)]
nouveau: initial GL_ARB_occlusion_query support
Only enabled on NV40, NV20/NV30 code is untested.. However, NV30
should be identical to NV40.
Ben Skeggs [Sun, 28 Jan 2007 05:35:32 +0000 (16:35 +1100)]
nouveau: extend notifier interface to allow multiple notifiers in a memory block.
Claudio Ciccani [Sat, 27 Jan 2007 18:32:05 +0000 (19:32 +0100)]
Updated copyright header.
Switched to LGPL (GPL header was a cut-&-paste mistake).
Brian [Sat, 27 Jan 2007 13:25:31 +0000 (06:25 -0700)]
note that non-member posts are auto-rejected
George Sapountzis [Sat, 27 Jan 2007 06:16:10 +0000 (08:16 +0200)]
Bug 9628: no entry for GetVertexAttribPointerv
This is because (in glX_API.xml) GetVertexAttribPointerv is aliased to
GetVertexAttribPointervARB which is then aliased to GetVertexAttribPointervNV.
Make GetVertexAttribPointerv alias GetVertexAttribPointervNV directly. Patch
by Ian Romanick <idr@us.ibm.com> and regenerate.
Brian [Sat, 27 Jan 2007 02:08:58 +0000 (19:08 -0700)]
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
Brian [Sat, 27 Jan 2007 02:08:34 +0000 (19:08 -0700)]
fix typo
Stephane Marchesin [Sat, 27 Jan 2007 02:03:25 +0000 (03:03 +0100)]
nouveau: more work on nv04, this time buffer format/pitches/...
Brian [Sat, 27 Jan 2007 02:01:55 +0000 (19:01 -0700)]
document, re-indent _mesa_ffsll()
Brian [Sat, 27 Jan 2007 01:55:12 +0000 (18:55 -0700)]
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
Eric Anholt [Sun, 21 Jan 2007 02:09:32 +0000 (18:09 -0800)]
Bug #9604: Fix a static buffer allocation failure.
The pool that the static buffer got allocated from was sized by pitch * height,
but the buffer generated from it had its size aligned to a tile boundary, so
allocation failed if pitch * height wasn't aligned. However, the 2d driver
ensures that the size ends at a tile boundary, so just pass the 2d driver's
buffer size rather than calculating it.
Eric Anholt [Sun, 21 Jan 2007 02:06:38 +0000 (18:06 -0800)]
Add _mesa_ffsll() for compatibility on OSes without ffsll(), and use it.
Eric Anholt [Sun, 21 Jan 2007 01:59:08 +0000 (17:59 -0800)]
Remove dead code causing a warning.
George Sapountzis [Wed, 6 Dec 2006 04:54:13 +0000 (06:54 +0200)]
Override Const.CheckArrayBounds for Xserver in XMesaCreateContext().
This leaves one last XFree86Server ifdef in Mesa core.
---
Bug 9285: misc glcore, xmesa cleanups
ACKed by Ian Romanick.
George Sapountzis [Wed, 6 Dec 2006 04:43:23 +0000 (06:43 +0200)]
Drop old (pre-AIGLX) GLcore interface.
The old GLcore interface was replaced in Xorg 7.1 with the addition of AIGLX,
it is only used by DDX's which are known not to work with the new DIX glx code.
---
Bug 9285: misc glcore, xmesa cleanups
ACKed by Ian Romanick.
Zou Nan hai [Thu, 25 Jan 2007 23:05:02 +0000 (07:05 +0800)]
Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa
Zou Nan hai [Thu, 25 Jan 2007 23:04:15 +0000 (07:04 +0800)]
ARB_Occlusion_query should support multiple query at same time
Roland Scheidegger [Thu, 25 Jan 2007 17:52:40 +0000 (18:52 +0100)]
do not rebase index buffers as it does not work currently (tested with r200 and sw mesa)
Roland Scheidegger [Thu, 25 Jan 2007 15:39:02 +0000 (16:39 +0100)]
allocate larger minimum dstelt buffer
increase the minimum dstelt buffer size to avoid triggering an assertion later
because the split is triggered before the buffer is full. This fixes cases
where the vbo_split_copy path is hit because of maximum index limit, where the
dstelt buffer size needed could be very small (doom3 hit that assertion with a
vertex count of just 3)
Roland Scheidegger [Thu, 25 Jan 2007 13:32:06 +0000 (14:32 +0100)]
fix dstelt memory allocation to avoid hash corruption
Roland Scheidegger [Thu, 25 Jan 2007 11:12:54 +0000 (12:12 +0100)]
remove tnl/t_vtx_x86_gcc.S file from sources as it no longer exists
Roland Scheidegger [Thu, 25 Jan 2007 11:11:03 +0000 (12:11 +0100)]
re-fix bug 9062 in vbo code
Ben Skeggs [Thu, 25 Jan 2007 04:12:49 +0000 (15:12 +1100)]
nouveau: unbreak NOUVEAU_RING_DEBUG
Ben Skeggs [Thu, 25 Jan 2007 02:40:51 +0000 (13:40 +1100)]
nouveau: add result scaling to shader backend, use it in RSQ emul for NV40.
Ben Skeggs [Thu, 25 Jan 2007 01:08:49 +0000 (12:08 +1100)]
nouveau: and here's the "oops, I suck" commit :)
Ben Skeggs [Thu, 25 Jan 2007 00:56:45 +0000 (11:56 +1100)]
nouveau: some extra debug output
Zou Nan hai [Wed, 24 Jan 2007 08:07:43 +0000 (16:07 +0800)]
965 glxswapcontrol fix
Zou Nan hai [Wed, 24 Jan 2007 07:47:15 +0000 (15:47 +0800)]
965 ARB_Occlusion_query fix
Brian [Tue, 23 Jan 2007 19:50:08 +0000 (12:50 -0700)]
silence C++ warnings
Brian [Tue, 23 Jan 2007 18:46:02 +0000 (11:46 -0700)]
fixes for C++ warnings/errors
Thomas Hellstrom [Tue, 23 Jan 2007 08:04:58 +0000 (09:04 +0100)]
i915tex: Relocation fixes:
Increase the number of allowed relocations per batchbuffer.
Fix an assert to avoid an array index overflow.
(Reported by Steve Wilkins)
Thomas Hellstrom [Tue, 23 Jan 2007 07:57:38 +0000 (08:57 +0100)]
i915tex: Fix randr resizing. Rotation still broken.
Ben Skeggs [Tue, 23 Jan 2007 05:25:25 +0000 (16:25 +1100)]
nouveau: DPH and CMP for NV40 which doesn't do it natively.
Ben Skeggs [Tue, 23 Jan 2007 05:07:12 +0000 (16:07 +1100)]
nouveau: allow for card-specific shader infos to be kept
NV30/40 fragprog: build FP_CONTROL per-shader, still some hardcoded bits for
this reg.. It looks like it has to do with the number of
temps used, but needs more looking at.
NV40 vtxprog : build VP_IN_REG/VP_OUT_REG during shader compile
Ben Skeggs [Tue, 23 Jan 2007 02:36:45 +0000 (13:36 +1100)]
nouveau: fill in condition info for instructions