Brian
2043364516
redo IR_IF node, removing IR_ELSE, IR_ENDIF
2007-02-06 20:45:43 -07:00
Ben Skeggs
f46c19d965
nouveau: a couple of NV3x fixes
2007-02-06 14:01:19 +11:00
Brian
d434019633
additional comments for BranchTarget
2007-02-05 18:04:35 -07:00
Brian
2755c798f3
BRK instruction's BranchTarget field now used for efficiently breaking out of loops.
...
BRK's BranchTarget field actually points to the top of the loop, not the
bottom, since we don't know the later's location yet. In the interpreter,
basically do an indirect jump to update the PC.
2007-02-05 18:01:02 -07:00
Brian
8608079647
Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.
...
This allows us to back-patch the IF/ELSE instruction's BranchTarget field
to point to the location of the ELSE/ENDIF instructions. No longer have to
search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate
IF/ELSE instructions into conditional/unconditional BRA instructions.
2007-02-05 17:18:10 -07:00
Jakob Bornecrantz
8518ddda7b
Add support for CN700 chipset in miniglx
2007-02-06 10:22:47 +11:00
Brian
d9731b26e7
minor formatting changes
2007-02-05 15:17:06 -07:00
Brian
5e73284cee
set UseHighLevelInstructions = false for now
2007-02-05 15:00:48 -07:00
Brian
cf92c72797
Initial implementation of high-level flow-control instructions.
...
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work.
Disabled by default though until better tested.
Implemented IR_NOT, but needs optimization.
2007-02-05 15:00:07 -07:00
Brian
5db088d70f
indentation for program instructions (if/else, loops)
2007-02-05 14:58:15 -07: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
01001d80e2
Initial support of loop and subroutine instructions.
...
New high-level flow-control instructions, both at IR level and GPU instructions
for looping and subroutines.
2007-02-05 11:28:15 -07: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
Brian
dd34fe8679
Merge SWvertex texcoord and varying fields into attrib[] array field.
...
Fragment texcoords and varying code is now unified in the point/line/triangle
rasterization code. In the future, merge color, fog, etc. attribs.
2007-02-05 10:10:01 -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
Brian
93b975a1d9
Add literal_size field to slang_operation.
...
Used to track the number of components in a float/int/bool literal.
Helps with some typechecking things.
Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
2007-02-03 17:24:24 -07:00
Brian
5ee684cba9
minor tweaks to distance() funcs
2007-02-03 17:21:33 -07:00
Brian
82f53f45d9
remove unused slang_operation fields
2007-02-03 16:25:44 -07: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
edf24e699e
shading language texture demo/test
2007-02-03 11:36:16 -07:00
Brian
00d63aafc6
added FLUSH_VERTICES() in _mesa_use_program()
2007-02-03 11:35:02 -07:00
Brian
8e0c6fc0be
added texdemo1
2007-02-03 11:33:13 -07:00
Brian
68fc4ff1d7
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:31:16 -07: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
Brian
fee9bbe475
Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise.
2007-02-02 18:05:43 -07:00
Brian
a90e4c3ddf
add vec4_texcube to AsmInfo[]
2007-02-02 18:00:26 -07:00
Brian
1b3092e4bb
add _slang_multiply_swizzles()
2007-02-02 18:00:03 -07:00
Brian
bf823b6b77
clean-ups
2007-02-02 16:46:50 -07:00
Brian
670e900719
clean-ups
2007-02-02 16:45:07 -07:00
Brian
31d2a00192
clean-ups
2007-02-02 16:41:52 -07:00
Brian
b4f38a4d60
remove slang_builtin_vec4.gc
2007-02-02 16:38:04 -07:00
Brian
4bbef7a644
remove slang_builtin_vec4.gc
2007-02-02 16:38:00 -07:00
Brian
d9dbb3e154
remove slang_export.[ch]
2007-02-02 16:14:55 -07:00