Corbin Simpson
8c39e24ec3
r5xx: Add OPCODE_XPD. In working condition, I might add.
...
And we're officially finished with the ARB_fragment_program
instruction set. It's worth noting that LIT is still not reliable.
SIN and COS were fixed a few commits ago. We're finished with stage 1!
Whoohoo!
2008-05-27 02:12:10 -07:00
Corbin Simpson
a242b331c6
r5xx: Just a few small LIT fixes.
...
Still broken; will fix tomorrow.
2008-05-27 01:36:25 -07:00
Corbin Simpson
9412aee4dc
r5xx: Fix emit_mov() regression.
...
Specifically, fix improper swizzling.
2008-05-27 01:36:25 -07:00
Dave Airlie
eee53dfb22
r500: the cs is shared per context - doh so don't use for program upload.
...
Also remove some unused bits of the r500 fragprog struct
2008-05-27 18:15:14 +10:00
Dave Airlie
7278266612
r500: need to re-setup inst offset/end for translated programs
...
this fixes texenv
2008-05-27 17:39:35 +10:00
Dave Airlie
774b3bc5a5
r500: reset fp/fp_const counts
2008-05-27 17:11:04 +10:00
Dave Airlie
4af22c9076
r300/r500: emit flush inside vap_cntl state atom
...
Not sure if this is a good or bad plan, it certainly doesn't make things worse here.
2008-05-27 17:08:03 +10:00
Dave Airlie
8eb7df6302
r500: hopefully fix 4096 texture harder
2008-05-27 15:29:39 +10:00
Corbin Simpson
b5372746ff
r5xx: Fix FP temp counting.
...
One of the ref counters wasn't being added to the temp counter.
Yet another product of late-night coding...
2008-05-26 22:12:24 -07:00
Dave Airlie
9f03e93de9
r500: remove debugging
2008-05-27 12:46:44 +10:00
Dave Airlie
7b88f40116
r300/r500: fix r500 fragment program texture unit references
2008-05-27 12:45:15 +10:00
Dave Airlie
5a5ba35069
r500: initial support for tmu mappings
2008-05-27 10:59:42 +10:00
Corbin Simpson
b57ba7c5b0
r5xx: Enhance emit_mov().
...
Now we can add arbitrary sources and swizzles. Will make many things smoother.
2008-05-26 16:00:05 -07:00
Corbin Simpson
5499685931
r5xx: Moar LIT.
...
Still not working, but getting closer.
2008-05-26 15:18:41 -07:00
Corbin Simpson
a2db33219d
r5xx: First stab at LIT.
2008-05-26 12:35:39 -07:00
Corbin Simpson
21b352bb14
Replace copyright on r500_fragprog.c
...
Huh, could have sworn I already did this once before...
Maybe I forgot to commit it?
2008-05-25 22:50:00 -07:00
Corbin Simpson
27d8fcd506
r5xx: Unbreak texture swizzling.
2008-05-25 19:53:48 -07:00
Corbin Simpson
f776f693c0
r5xx: Massive MAD cleanup.
...
Common uses of MAD now use emit_mad(), the two common negation masks work,
and fixed a few off-by-one errors.
2008-05-25 11:46:16 -07:00
Corbin Simpson
594760148c
r5xx: Negation masks for every inst except SWZ.
...
Yay?
2008-05-25 11:35:54 -07:00
Corbin Simpson
bd74d2aa26
r5xx: More emit_alu().
...
Converted ADD.
2008-05-25 11:35:20 -07:00
Corbin Simpson
810270ad11
r5xx: Add emit_mad() for FP.
...
If it uses MAD, emit it with emit_mad()!
(Now available at your local grocer's. Multiply and add responsibly.)
2008-05-25 11:07:51 -07:00
Corbin Simpson
f1d04cd766
r5xx: Consolidate FP tex insts.
...
They're all the same, really.
2008-05-24 11:30:57 -07:00
Corbin Simpson
b6b5190682
r5xx: Fix SGE/SLT.
2008-05-24 10:25:22 -07:00
Corbin Simpson
6f918a9fda
r5xx: Remove some debugging cruft.
2008-05-24 10:25:22 -07:00
Dave Airlie
af77de66d9
r500: missed a couple of inst4s.
2008-05-24 18:18:18 +10:00
Dave Airlie
e9031d6f63
r500: add depth output write
...
Not sure how well this works yet, but we need to set the alpha to w_omask
2008-05-24 18:12:26 +10:00
Corbin Simpson
9ab7a2df03
r5xx: Clean up some compiler warnings.
2008-05-23 00:18:14 -07:00
Corbin Simpson
30e61500e1
r5xx: Move dumb_shader.
...
Was getting ticked having to scroll around it, lawl.
2008-05-23 00:18:14 -07:00
Corbin Simpson
34010bcc91
r5xx: Add OPCODE_DST.
...
Works completely, swizzles and everything.
2008-05-23 00:18:14 -07:00
Corbin Simpson
d4e93864b8
r5xx: More trig work.
...
SCS now works. COS/SIN have slight issues still.
2008-05-23 00:18:14 -07:00
Dave Airlie
a01816da59
r500: bump state atom size up for fp and fp constants
2008-05-22 17:09:58 +10:00
Corbin Simpson
4f9dcdc35b
r5xx: Fixed LRP.
...
Works perfectly. It's a complex one, though, so it might fail in weird ways...
2008-05-21 23:35:43 -07:00
Corbin Simpson
0dfbe9cdd7
r5xx: Change debug info for readability.
...
It's weird seeing the compiled program before the assembly, that's all.
2008-05-21 23:33:13 -07:00
Corbin Simpson
d06f4edb14
r5xx: Initial (broken) OPCODE_LRP.
...
Will compile, run, and not eat your kids, but the math is wrong.
2008-05-21 13:51:32 -07:00
Corbin Simpson
1e2907f170
r5xx: Add OPCODE_POW.
...
Necessary for Google Earth, among other things.
2008-05-21 08:24:28 -07:00
Dave Airlie
bb57c30a53
r500: print out opcode string
2008-05-21 16:00:18 +10:00
Dave Airlie
b453b0e2e1
r500: set the RS unit register for R500 not R300 dangnammit..
...
So this appears to be my BUG. damn it to hell.
also fix sec color to be more like spec says.
2008-05-21 12:14:42 +10:00
Dave Airlie
9ec2b1c83f
r500: finish main texture instruction decoding
2008-05-21 10:49:26 +10:00
Corbin Simpson
2bda1a9502
r5xx: Count refs so we don't have to guess on temp reg allocation.
...
As a bonus, we can now have multiple temp temps, by slot.
2008-05-20 09:47:50 -07:00
Corbin Simpson
94994b13c5
r5xx: Fixup SOP insts.
...
Use the correct swizzle for alpha/SOP stuff.
2008-05-19 23:56:53 -07:00
Corbin Simpson
78fa506059
r5xx: New fix for COS/SIN/SCS.
...
Not perfect yet, but getting better.
2008-05-19 23:56:53 -07:00
Dave Airlie
f0d76d526b
r300/r500: fixup some of the register write sizes
2008-05-20 16:30:36 +10:00
Dave Airlie
2005de48f9
r300: some ctrl-m's wierd.
2008-05-20 16:02:19 +10:00
Dave Airlie
282cdc8b5c
r300/r500: fix RS col fmt bits
2008-05-20 15:59:56 +10:00
Corbin Simpson
476248befe
r5xx: Fixup emit_tex, add debugging info, enable temp temps.
...
emit_tex now chases itself with an OUT if needed.
Added airlied's dump_program, with some fixes.
2008-05-19 11:06:41 -07:00
Dave Airlie
03b3fed8f1
r500: add more input srcs
2008-05-19 21:58:28 +10:00
Dave Airlie
ac315792bf
r500: fix swz gets and some returns
2008-05-19 21:40:40 +10:00
Dave Airlie
60b8e1f524
r500: add mask debugging
2008-05-19 21:11:55 +10:00
Dave Airlie
cddab021e3
r500: add fragment program debug dumper
2008-05-19 20:24:09 +10:00
Corbin Simpson
c60bdcf8a8
r5xx: Fix magic offsets for output fifo write masks.
...
Well, this sure explains a lot.
2008-05-19 00:00:08 -07:00