Dave Airlie [Tue, 20 May 2008 05:59:56 +0000 (15:59 +1000)]
r300/r500: fix RS col fmt bits
Corbin Simpson [Mon, 19 May 2008 18:01:00 +0000 (11:01 -0700)]
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.
Dave Airlie [Mon, 19 May 2008 11:58:28 +0000 (21:58 +1000)]
r500: add more input srcs
Dave Airlie [Mon, 19 May 2008 11:40:40 +0000 (21:40 +1000)]
r500: fix swz gets and some returns
Dave Airlie [Mon, 19 May 2008 11:11:55 +0000 (21:11 +1000)]
r500: add mask debugging
Dave Airlie [Mon, 19 May 2008 10:24:09 +0000 (20:24 +1000)]
r500: add fragment program debug dumper
Corbin Simpson [Mon, 19 May 2008 07:00:08 +0000 (00:00 -0700)]
r5xx: Fix magic offsets for output fifo write masks.
Well, this sure explains a lot.
Corbin Simpson [Mon, 19 May 2008 06:52:54 +0000 (23:52 -0700)]
r5xx: Swap sources for CMP.
Follows the same pattern as the op on r3xx/r4xx. Thanks airlied.
Corbin Simpson [Mon, 19 May 2008 06:35:07 +0000 (23:35 -0700)]
r5xx: Fix typo of epic proportions.
Corbin Simpson [Mon, 19 May 2008 05:38:28 +0000 (22:38 -0700)]
r5xx: ALU/OUT fixups.
Lots of small changes. Intentionally breaks some tex stuffs.
Dave Airlie [Sun, 18 May 2008 07:58:29 +0000 (17:58 +1000)]
r300: fixup US_OUT_FMT bits
Dave Airlie [Sun, 18 May 2008 05:24:38 +0000 (15:24 +1000)]
r500: you can have a single texcoord
Corbin Simpson [Sat, 17 May 2008 20:38:35 +0000 (13:38 -0700)]
r5xx: Add OPCODE_KIL.
Corbin Simpson [Sat, 17 May 2008 19:45:46 +0000 (12:45 -0700)]
r5xx: Added OPCODE_DPH.
Like DP4, but with one swizzle change.
Corbin Simpson [Sat, 17 May 2008 16:27:35 +0000 (09:27 -0700)]
r5xx: Fix FRC.
This makes tri-frc work.
(Remind me again why I'm allowed near a compiler, lawl.)
Corbin Simpson [Fri, 16 May 2008 18:46:26 +0000 (11:46 -0700)]
r5xx: Fix SCS.
Output instructions need to be marked OUT so they can write to the fifo.
Also, negation doesn't work with SWZ yet.
Corbin Simpson [Thu, 15 May 2008 17:51:52 +0000 (10:51 -0700)]
r5xx: Add OPCODE_SWZ.
It's so easy!
Corbin Simpson [Thu, 15 May 2008 17:29:38 +0000 (10:29 -0700)]
r5xx: Add OPCODE_SCS.
It's disabled, though, because it doesn't work. I'll figure it out later...
Corbin Simpson [Thu, 15 May 2008 07:49:32 +0000 (00:49 -0700)]
r5xx: Adding more opcodes.
EX2, FRC, LG2, SIN, RCP, and RSQ, if you care.
All of these except FRC are like COS. This pretty much rounds out the set of
opcodes which can be done in one ALU inst.
Corbin Simpson [Thu, 15 May 2008 07:18:08 +0000 (00:18 -0700)]
r5xx: First swing at OPCODE_COS.
Corbin Simpson [Thu, 15 May 2008 07:11:10 +0000 (00:11 -0700)]
r5xx: Unbreak MAX and MIN.
Both of them had faulty copypasta.
Dave Airlie [Sat, 17 May 2008 03:31:14 +0000 (13:31 +1000)]
r500: set fragprog end to correct place
Alex Deucher [Sat, 17 May 2008 00:40:47 +0000 (10:40 +1000)]
r300: SC register naming cleanup
Alex Deucher [Sat, 17 May 2008 00:27:11 +0000 (10:27 +1000)]
r500: write out the correct FP registers
Dave Airlie [Thu, 15 May 2008 10:38:41 +0000 (20:38 +1000)]
r500: default rsunit swizzle like fglrx
Dave Airlie [Thu, 15 May 2008 06:24:54 +0000 (16:24 +1000)]
r500: shift tex src properly
Dave Airlie [Thu, 15 May 2008 05:05:40 +0000 (15:05 +1000)]
r500: fixup r500 rs unit texture coordinate counting
Dave Airlie [Thu, 15 May 2008 04:54:51 +0000 (14:54 +1000)]
r500: remove some debugging
Dave Airlie [Thu, 15 May 2008 04:52:39 +0000 (14:52 +1000)]
r500: split output/pixel masks and emit in the correct places
Dave Airlie [Thu, 15 May 2008 04:51:50 +0000 (14:51 +1000)]
r3/500: emit RS state before VAP
Dave Airlie [Thu, 15 May 2008 03:48:31 +0000 (13:48 +1000)]
r500: fixup the program allocations to be the correct sizes
Dave Airlie [Thu, 15 May 2008 03:47:47 +0000 (13:47 +1000)]
r300: set screen so that context init can find out chip ids
Dave Airlie [Thu, 15 May 2008 03:24:01 +0000 (13:24 +1000)]
r500: add cmp support in theory
Dave Airlie [Thu, 15 May 2008 03:21:50 +0000 (13:21 +1000)]
r500: some trivial fixups to get tri working.
the counter was being used one instruction over the end
Dave Airlie [Thu, 15 May 2008 01:46:23 +0000 (11:46 +1000)]
r500: we just need to emit a colour for clear drop tex instruction
Alex Deucher [Tue, 13 May 2008 20:12:57 +0000 (16:12 -0400)]
R300: clean up GA registers
Alex Deucher [Tue, 13 May 2008 19:46:23 +0000 (15:46 -0400)]
R3xx: clean up ZB registers
Alex Deucher [Tue, 13 May 2008 18:32:30 +0000 (14:32 -0400)]
R300: clean up CB registers
Alex Deucher [Tue, 13 May 2008 18:02:29 +0000 (14:02 -0400)]
R300: clean up Fog registers
Alex Deucher [Tue, 13 May 2008 17:38:30 +0000 (13:38 -0400)]
R500: fixup r300EmitClearState() FP for r5xx
Alex Deucher [Tue, 13 May 2008 12:37:58 +0000 (08:37 -0400)]
R300: cleanup FS code and fill in missing details
Alex Deucher [Tue, 13 May 2008 10:09:55 +0000 (06:09 -0400)]
R3xx: more PVS cleanup
Alex Deucher [Mon, 12 May 2008 15:58:35 +0000 (11:58 -0400)]
Merge branch 'r500-support' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r500-support
Alex Deucher [Mon, 12 May 2008 15:57:08 +0000 (11:57 -0400)]
R500: add support for 4k textures
Dave Airlie [Wed, 7 May 2008 05:59:21 +0000 (15:59 +1000)]
r500: cleanup r500 RS setup
Dave Airlie [Wed, 7 May 2008 05:16:27 +0000 (15:16 +1000)]
r500: for rectangular textures set to unscaled coordinates.
Corbin Simpson [Wed, 7 May 2008 07:06:26 +0000 (00:06 -0700)]
r5xx: Fix FP inputs. (For good?)
FP inputs are now counted and mapped correctly, and temps
are allocated tightly and correctly.
Corbin Simpson [Wed, 7 May 2008 06:36:50 +0000 (23:36 -0700)]
r5xx: Fix false error with DP3/DP4.
DP3/DP4 only takes two arguments, but tried to load three, causing
a false fallback to the dumb shader.
Corbin Simpson [Wed, 7 May 2008 05:18:28 +0000 (22:18 -0700)]
r5xx: Index inputs and temps.
This is not the same as r3xx indexing. It only tries to protect inputs on
the pixel stack from getting clobbered by temps or texs.
Texs don't need special treatment since they read from special input regs
and write to the same temp regs as ALU/FC instructions.
Corbin Simpson [Wed, 7 May 2008 01:14:21 +0000 (18:14 -0700)]
r5xx: FP: Add OPCODE_TXB.
Tex lookup with biased LOD. Should magically work.
Corbin Simpson [Wed, 7 May 2008 00:21:30 +0000 (17:21 -0700)]
r5xx: FP: Make MOV/ABS look pretty.
We can't really do anything like emit_alu, so we're doing emit_mov instead.
Corbin Simpson [Tue, 6 May 2008 19:44:53 +0000 (12:44 -0700)]
r5xx: Emit an OUT instruction at the end of execution.
This should make TEX/TXP work right. (Note: "Should" is not "does.")
Corbin Simpson [Tue, 6 May 2008 19:42:40 +0000 (12:42 -0700)]
r5xx: We update max_temp_idx now, so no need to hard-code it.
This roughly doubles the speed of glxgears (GINAB) by allowing
more pixels to run concurrently.
Corbin Simpson [Tue, 6 May 2008 19:18:07 +0000 (12:18 -0700)]
r5xx: Fix typo.
Gotta be more careful with my cut'n'paste, lawl.
Corbin Simpson [Tue, 6 May 2008 18:57:24 +0000 (11:57 -0700)]
r5xx: Use max_temp_idx.
Dave Airlie [Mon, 5 May 2008 08:42:27 +0000 (18:42 +1000)]
r500: consolidate tex instructions
you cannot change a tex into an output so this means we have to actually
do another instruction after this one to mov if its an output
Dave Airlie [Mon, 5 May 2008 08:15:40 +0000 (18:15 +1000)]
r500: mov cleanup macros
Dave Airlie [Mon, 5 May 2008 08:05:59 +0000 (18:05 +1000)]
r500: make tri-param work
This makes constant work which are 32-bit on r500 unlike r300.
Switch MOV to using MAD no idea if we might have negative things MAX 0,-5 is
likely to do the wrong thing..
Dave Airlie [Mon, 5 May 2008 06:41:07 +0000 (16:41 +1000)]
r500: make sure we emit max temp atom.
We don't appear to update max_temp_idx yet anywhere though
Dave Airlie [Mon, 5 May 2008 13:49:50 +0000 (23:49 +1000)]
r300: fix swtcl texrect path properly.
We really need to update the shader state so the texrect parameters work.
This should fix compiz looking crappy on rs480 and rs690
Markus Amsler [Sat, 3 May 2008 16:55:45 +0000 (12:55 -0400)]
r300: Set correct VAP_CNTL per vertex program.
adapted from Markus' patch on bug 15386 with updates for non-TCL
and R500.
Corbin Simpson [Sat, 3 May 2008 16:09:57 +0000 (09:09 -0700)]
r5xx: Fix for loops.
Thanks to dli in IRC for pointing this out.
Corbin Simpson [Sat, 3 May 2008 16:08:07 +0000 (09:08 -0700)]
r5xx: Fix dumb shader.
For some reason, FGLRX doesn't actually set R500_US_INST_TEX.
Let us not make that same mistake.
Corbin Simpson [Sat, 3 May 2008 15:39:15 +0000 (08:39 -0700)]
Merge branch 'r500test' of git://people.freedesktop.org/~csimpson/mesa into r500-support
Dave Airlie [Sat, 3 May 2008 18:17:15 +0000 (04:17 +1000)]
r300: remove debugging code
Dave Airlie [Sat, 3 May 2008 18:13:56 +0000 (04:13 +1000)]
r300: setup vte according to inputs
Dave Airlie [Sat, 3 May 2008 12:08:11 +0000 (22:08 +1000)]
r300: update r300 rs unit for swtcl need to fix r500 most likely
Dave Airlie [Sat, 3 May 2008 11:31:47 +0000 (21:31 +1000)]
r300: recombine the vap input route 0 code and clean
This gets non-tcl cards working again on this branch..
at least texrect and glxgears
Dave Airlie [Sat, 3 May 2008 11:31:22 +0000 (21:31 +1000)]
r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
Corbin Simpson [Sat, 3 May 2008 03:49:13 +0000 (20:49 -0700)]
Merge branch 'r500-support' into r500test
Bringing the FPS code up-to-date.
Conflicts:
src/mesa/drivers/dri/r300/r300_emit.c
src/mesa/drivers/dri/r300/r300_ioctl.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r300_swtcl.c
src/mesa/drivers/dri/r300/r500_fragprog.c
src/mesa/drivers/dri/r300/r500_fragprog.h
Corbin Simpson [Fri, 2 May 2008 22:57:57 +0000 (15:57 -0700)]
Merge branch 'r345-cleanup' of git://people.freedesktop.org/~agd5f/mesa into r500test
Adding Alex's cleanup patches. This adds r5xx TCL! Whoo-hoo!
Conflicts:
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/radeon/radeon_chipset.h
src/mesa/drivers/dri/radeon/radeon_screen.c
Corbin Simpson [Fri, 2 May 2008 22:33:02 +0000 (15:33 -0700)]
Make radeon stuff build again.
Yet more evidence that I am incompetent with git.
Alex Deucher [Fri, 2 May 2008 19:20:28 +0000 (15:20 -0400)]
R300: fix rebase conflicts
Corbin Simpson [Fri, 2 May 2008 19:15:44 +0000 (12:15 -0700)]
Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r500test
Conflicts:
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/r300/r300_ioctl.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r500_fragprog.c
src/mesa/drivers/dri/r300/r500_fragprog.h
src/mesa/drivers/dri/radeon/radeon_chipset.h
src/mesa/drivers/dri/radeon/radeon_screen.c
Alex Deucher [Fri, 2 May 2008 17:56:56 +0000 (13:56 -0400)]
R3/4/5: fix TCL on r5xx, cleanup PVS code
Alex Deucher [Fri, 2 May 2008 17:03:48 +0000 (13:03 -0400)]
R300: fix VAP_OUTPUT_VTX_FMT_1 defines
Alex Deucher [Fri, 2 May 2008 16:48:39 +0000 (12:48 -0400)]
R300: cleanup VAP_CLIP_CNTL
Alex Deucher [Fri, 2 May 2008 16:29:40 +0000 (12:29 -0400)]
R300: clean up VAP_PROG_STREAM_CNTL* register usage
Alex Deucher [Fri, 2 May 2008 14:54:20 +0000 (10:54 -0400)]
Update comment
Alex Deucher [Fri, 2 May 2008 14:51:40 +0000 (10:51 -0400)]
R5xx: various updates
- fixup VAP_CNTL setup
- remove extra instruction in r5xx passthrough shader
- add notes about pipe config
Alex Deucher [Thu, 1 May 2008 20:02:58 +0000 (16:02 -0400)]
R5xx: Add R5xx pci ids
Dave Airlie [Wed, 16 Apr 2008 10:42:15 +0000 (20:42 +1000)]
fixup r500 bits for renaming
Dave Airlie [Sat, 22 Mar 2008 01:00:25 +0000 (11:00 +1000)]
r500: fixup fake shader to keep gears going
Dave Airlie [Sat, 22 Mar 2008 00:56:48 +0000 (10:56 +1000)]
r500: enable gb tiling for r5xx
Dave Airlie [Sat, 22 Mar 2008 00:55:32 +0000 (10:55 +1000)]
r500: fixup support for emitting fragment program to hardware.
Also fixup the constant emission
this breaks glxgears from what I can see but its another step to correctness
Dave Airlie [Fri, 21 Mar 2008 07:05:29 +0000 (17:05 +1000)]
r500: setup fragment program constant emission atom
Dave Airlie [Thu, 20 Mar 2008 04:34:04 +0000 (14:34 +1000)]
r300: add rv530 pci id for the t60p laptop
Dave Airlie [Thu, 20 Mar 2008 04:30:59 +0000 (14:30 +1000)]
r300: this code really shouldn't be here.
For R500 just ignore it for now while I do something interesting like
run glxgears.
Dave Airlie [Thu, 20 Mar 2008 04:21:10 +0000 (14:21 +1000)]
mesa: cleanup state emission and rs for r500
trivial clear app now renders
Dave Airlie [Thu, 20 Mar 2008 03:55:56 +0000 (13:55 +1000)]
r500 RS unit setup
Dave Airlie [Wed, 19 Mar 2008 06:29:11 +0000 (16:29 +1000)]
more r500 vs r300 kickin
Dave Airlie [Mon, 17 Mar 2008 11:09:49 +0000 (21:09 +1000)]
some basic r500 portage
Dave Airlie [Mon, 17 Mar 2008 09:05:15 +0000 (19:05 +1000)]
r500: fragprog
Eric Anholt [Fri, 2 May 2008 19:25:48 +0000 (12:25 -0700)]
[intel] Warnings fixes.
Eric Anholt [Fri, 2 May 2008 19:25:12 +0000 (12:25 -0700)]
[intel] Merge intel_ioctl.h. Not sure how this slipped by in the .c merge.
Corbin Simpson [Fri, 2 May 2008 17:15:10 +0000 (10:15 -0700)]
r5xx: Fragprog shader now handles TEX/TXP correctly.
Corbin Simpson [Thu, 1 May 2008 18:57:29 +0000 (11:57 -0700)]
Start of TEX/TXP support.
Still having problems with temps and consts, though...
Corbin Simpson [Wed, 30 Apr 2008 06:13:00 +0000 (23:13 -0700)]
Added OPCODE_ABS, slightly fixed ADD/SUB
Corbin Simpson [Tue, 29 Apr 2008 20:04:39 +0000 (13:04 -0700)]
Initial r5xx fragment program compiler support.
Includes fallback shader and a handful of working opcodes.
Corbin Simpson [Tue, 29 Apr 2008 20:03:32 +0000 (13:03 -0700)]
Add chip id 71D5 (RV530 M66) to radeon_chipset.h