Commit Graph

9380 Commits

Author SHA1 Message Date
Roland Scheidegger b2d30ca0cb 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)
2007-02-09 19:21:29 +01:00
Zou Nan hai fcccf89432 array overflow fix 2007-02-09 13:28:56 +08:00
Roland Scheidegger 421ce180f5 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.
2007-02-09 00:36:53 +01:00
Roland Scheidegger 54dac2c843 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...
2007-02-09 00:36:40 +01:00
Roland Scheidegger 6cf892eeb6 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...
2007-02-09 00:25:53 +01:00
Ben Skeggs f46c19d965 nouveau: a couple of NV3x fixes 2007-02-06 14:01:19 +11:00
Jakob Bornecrantz 8518ddda7b Add support for CN700 chipset in miniglx 2007-02-06 10:22:47 +11:00
Roland Scheidegger 17c13b406f 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).
2007-02-05 21:29:25 +01:00
Brian 5b8a50572d Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-05 10:29:58 -07:00
Panagiotis Papadakos d0b5c77c68 fix mem leak 2007-02-05 10:29:10 -07:00
Ben Skeggs 4b3679c6c5 nouveau: OUT_RINGp expects the size in dwords, not bytes.
This fixes the *actual* bug that the previous commit was supposed to fix..
2007-02-06 02:29:20 +11:00
Panagiotis Papadakos eab92fcdc2 fix mem leaks 2007-02-05 08:17:50 -07:00
Ben Skeggs 47bd759fc9 nouveau: fix a small bug in nv10 swtcl 2007-02-06 01:57:04 +11:00
Ben Skeggs e7654b22aa 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.
2007-02-06 00:39:50 +11:00
Panagiotis Papadakos 3805ccf020 break if we removed driver from Drivers list in driDestroyDisplay
Else we read memory we just released, in for statement.
2007-02-05 10:35:52 +01:00
Patrice Mandin 296eeb882f nouveau: nv10: add init for unknown 0x120 2007-02-04 13:10:23 +01:00
Stephane Marchesin 6356874586 nouveau: fix nv04 and nv10 swtcl, more work on nv04 state. 2007-02-04 03:20:01 +01:00
Patrice Mandin f8ec7f1398 nouveau: forgot function declaration 2007-02-03 23:46:58 +01:00
Patrice Mandin be85770f14 nouveau: nv50: use nv50 state 2007-02-03 23:32:12 +01:00
Brian 49a17a45fb 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.
2007-02-03 10:30:50 -07:00
Michel Dänzer 5aa997dafb Merge branch 'origin' 2007-02-03 17:37:01 +01:00
Michel Dänzer cf4ccd5020 Fall back to software rasterization if r300_translate_fragment_shader() fails.
Aborting immediately is a bad idea with AIGLX.
2007-02-03 17:32:02 +01:00
Michel Dänzer beffa17bb9 Remove unused r200 files from r300 driver directory. 2007-02-03 17:24:22 +01:00
Michel Dänzer 0afc2d37c3 r300CreateContext: Really initialize r300->initialMaxAnisotropy. 2007-02-03 17:23:19 +01:00
Patrice Mandin de24b01b05 nouveau: fix viewport clipping initialization 2007-02-03 13:22:42 +01:00
Patrice Mandin 1c25561e30 nouveau: use color pitch as depth pitch if depth disabled 2007-02-03 13:20:16 +01:00
Roland Scheidegger 2a441c488f disable r200 materials-between-begin-end check if vertex progs are enabled 2007-02-03 03:31:31 +01:00
Roland Scheidegger f697308ae5 remove now unused vtxfmt stuff from radeon/r200 header files 2007-02-03 03:15:45 +01:00
Roland Scheidegger 09e4df2c65 fix errorneously adding fog state params to all vertex programs... 2007-02-03 03:15:14 +01:00
Keith Whitwell b59657ad96 Merge branch 'vbo-0.2'
Conflicts:

	src/mesa/main/texcompress_s3tc.c
	src/mesa/tnl/t_array_api.c
2007-02-02 12:26:10 +00:00
Keith Whitwell 2ddc8799a8 Merge branch 'vbo-0.2-origin' into vbo-0.2 2007-02-02 11:06:37 +00:00
Keith Whitwell 47d463e954 Modify assert to reflect rebase criteria 2007-02-02 10:59:58 +00:00
Zou Nan hai 325196f548 push commit 2dfb3a217f to i915tex 2007-02-02 14:37:24 +08:00
Zou Nan hai 2dfb3a217f 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.
2007-02-02 09:35:17 +08:00
Roland Scheidegger 8ebda479d9 fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo. 2007-02-01 20:59:45 +01:00
Brian af1d1e08e4 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-02-01 07:22:50 -07:00
Brian 0930248bb1 fix mem leak in __glXReportDamage (Panagiotis Papadakos) 2007-02-01 07:22:25 -07:00
Keith Whitwell 5368ae5ec3 Correct usage/meaning of max_index parameter. 2007-02-01 14:21:14 +00:00
Keith Whitwell 605d428d20 Cope with internally-generated null inputs. 2007-02-01 14:20:31 +00:00
Michel Dänzer 8628b382e4 driDestroyDisplay: Fix comment, it is called now. 2007-02-01 10:45:51 +01:00
Michel Dänzer bed026e7dd 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.
2007-02-01 10:43:10 +01:00
Roland Scheidegger a2104dc6e1 fix unitialized values in radeonClear 2007-02-01 01:09:26 +01:00
Xiang, Haihao 5893474c74 _mesa_pack_rgba_span_float: fix for packing data into group 2007-01-31 09:47:02 +08:00
Keith Whitwell 893526b8a8 Use new rebase helper. Remove other rebase code. 2007-01-30 20:22:55 +00:00
Keith Whitwell 240641de0c Helper for rebasing draw requests where min_index != 0. 2007-01-30 19:27:53 +00:00
Keith Whitwell 48c638b671 New tests for the array functions which also provoke rebasing. 2007-01-30 19:19:51 +00:00
Brian 876e372567 regenerated 2007-01-30 08:13:49 -07:00
Brian d2c62e6065 s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:13:02 -07:00
Brian 8811a9e38a bump version to 6.5.3 2007-01-30 08:11:50 -07:00
Brian fea6a8e1f1 s/params/pointer/ for glGetVertexAttribPointer 2007-01-30 08:10:03 -07:00