Commit Graph

72 Commits

Author SHA1 Message Date
Marek Olšák 6f498a7eff r300g: add back-face color VS outputs
Required for two-sided lighting. BTW we are approaching softpipe-level
quality. ;)
2010-01-06 12:49:16 -08:00
Marek Olšák 26f67a272b r300g: disable the rasterization of WPOS if it's unused by the FS 2010-01-06 12:49:15 -08:00
Marek Olšák bf60eb3fec r300g: add WPOS 2010-01-06 12:49:15 -08:00
Zack Rusin b0575151b6 gs: fix drivers so they work with geometry shaders 2009-12-25 05:52:17 -05:00
Marek Olšák c6b450033d r300g: fix routing of vertex streams if TCL is bypassed
Generating mipmaps finally works, among other things. Yay!
2009-12-09 13:38:11 -08:00
Corbin Simpson c99fb991a3 r300g: Clean up previous commit.
If *I* can't read it, there's a strong possibility others can't,
either.
2009-12-06 23:34:53 -08:00
Marek Olšák 7091afed78 r300g: enhance ZTOP conditions 2009-12-06 23:34:53 -08:00
Marek Olšák cb90235135 r300g: clean up derived states
The state setups which aren't derived anymore have been moved to the VS
and FS objects.
2009-12-01 01:20:26 -08:00
Marek Olšák 6f05eba020 r300g: VS->FS attribute routing rework
Now it always correctly pairs up VS and FS even if the semantics and indices
of VS outputs and FS inputs don't match.
2009-12-01 01:20:26 -08:00
Marek Olšák 44c0aaf990 r300g: do not reallocate r300_vertex_info and r300_rs_block all the time 2009-11-21 14:52:26 -08:00
Marek Olšák 3a2cd66af8 r300g: clean up vs/fs tabs
Instead of vs_tab, we use vs_output_tab and it's local now. fs_tab hasn't
been used anywhere, so I removed it and r300_update_fs_tab too.
2009-11-21 14:52:26 -08:00
Marek Olšák 435c495549 r300g: silence warnings 2009-11-20 18:06:21 -08:00
Marek Olšák 624a0cd9c1 r300g: fix typo in r300_reg.h to prevent the RS unit from doing random things
And reorder fragment shader inputs so that the colors are before texcoords,
as is allocated by the shader compiler. This commit makes VS->FS attribute
routing work on R500.
2009-11-20 18:05:21 -08:00
Marek Olšák 4e1236e602 r300g: fix updating a vertex format
We must update PSC when we change the vertex format, e.g. vertex colors
from RGBA to BGRA.
2009-11-20 18:04:06 -08:00
Corbin Simpson 1c181a7eff r300g: Begin separating HW TCL and SW TCL state and setup.
This patch removes draw_context entirely from the HW TCL path and cleans up
a few other things along the way. Hopefully, nothing got broken.

Thanks to Marek Olšák for testing, review, and pointing out my bugs. :3
2009-11-20 17:48:10 -08:00
Corbin Simpson 6a3eb1f91b r300g: Use MAX3 and MIN3. 2009-11-20 14:10:45 -08:00
Corbin Simpson fe89863808 r300g: Protect against possibly missing Draw pointer.
Part of the SW TCL revival.
2009-11-08 14:53:29 -08:00
Maciej Cencora 3445f47697 r300g: VBOs WIP 2009-11-07 11:53:13 -08:00
Corbin Simpson ff9e1c0198 r300g: Cleanup PSC setup math a bit and stop using Draw formats. 2009-10-22 14:29:48 -07:00
Corbin Simpson 0a8cd4862c r300g: Update comments, function names in r300_state_inlines. 2009-10-21 23:26:02 -07:00
Corbin Simpson 6a448a525b r300g: Cleanup header includes. 2009-10-21 06:52:25 -07:00
Corbin Simpson 5a0598f235 r300g: Don't use the hashtable internally.
As osiris pointed out, glxgears slowly gets slower for some reason
when it's enabled, and it's not helping at the moment, so just turn
it off.
2009-10-21 06:52:24 -07:00
Corbin Simpson b589e39809 r300g: Examine vertex attribute type on HW TCL too. 2009-10-21 06:52:23 -07:00
Corbin Simpson e5f1f6a0be r300g: Demonstratory kludge to unbreak glxgears.
We *must* recalculate something in vformat every rebind; let's see
if we can't narrow it down a bit.
2009-10-19 14:43:33 -07:00
Corbin Simpson 16a06fea73 r300g: Fix up a bunch of warnings. 2009-10-18 16:09:01 -07:00
Corbin Simpson d2e29b502e r300g: Add another ZTOP condition.
I don't even know if texkill works right now.
2009-10-18 10:30:18 -07:00
Corbin Simpson 11056ca86f r300g: Use a dirty test to bring framerate back up.
This is just split out from the next commit, that's all.
2009-10-17 20:47:45 -07:00
Corbin Simpson 51173e4e53 r300g: Also have rs_block keyed to the current shader combo.
Eliminates part of the glxgears corruption here. Need to clean up PSC more,
to get rid of the rest of it.
2009-10-17 20:29:27 -07:00
Corbin Simpson ce9ae4a483 r300g: Fix u_hash_table rename. 2009-10-17 20:05:23 -07:00
Corbin Simpson fc8a156cfc r300g: Use a hash table to look up vertex info.
Need to move rs_block to this, too.

Also, I'm getting massive amounts of flicker for some reason; I bet we've gotta
re-re-examine PSC and friends. :C
2009-10-16 08:43:02 -07:00
Corbin Simpson a82fc97c64 r300g: Move ZTOP to its own state atom.
It may seem pointless, but this avoids a fair amount of predicted CSO pain.
2009-10-14 20:06:38 -07:00
Corbin Simpson fd63f89e95 r300g: Move ztop to derived state.
Need to get it into its own atom instead of piggybacking on DSA.
2009-10-14 03:09:41 -07:00
Corbin Simpson f13e507798 r300g: Compiler warning cleanup. 2009-10-14 01:58:18 -07:00
Cooper Yuan 99e1745af9 r300g: fix r300g cause GPU hang issue.
why there are two input position semantic tags is that ureg doesn't
set vs input semantic due to commit: 6d8dbd3d1e

so use vs input index instead of semantic name.
2009-09-28 17:55:38 +08:00
Maciej Cencora 540039887a r300g: fix erroneous condition 2009-09-27 22:44:29 +02:00
Maciej Cencora 98f6bea168 r300g: don't force vertex position for HW TCL path
It could be generated by vertex shader.
2009-09-27 22:44:28 +02:00
Maciej Cencora bedc6b7bdf r300g: add some assertions
Not sure why we are getting a shader with two inputs with position semantic, but we don't know how to handle it correctly so it's better to stop the app than lock the machine.
2009-09-27 22:44:28 +02:00
Dave Airlie d85fe842b8 r300g: fix r300 rs path 2009-09-28 06:42:25 +10:00
Dave Airlie b1252c7a34 r300g: rewrite RS state setup.
Not 100% sure this is correct, but its more correct than what was here previous
however it may require changes in the input routing for the frag shader.
2009-09-28 06:28:32 +10:00
Dave Airlie 225c3375fd r300g: silence compiler warning 2009-09-28 06:28:31 +10:00
Nicolai Hähnle 1ddb22675c r300g: Fix a number of warnings
Seriously guys....
2009-09-06 15:14:22 +02:00
Nicolai Hähnle 4b01e6f614 r300g: Debug flags infrastructure
So that debugging is no longer a full-spam-or-nothing approach, you are now
supposed to set the RADEON_DEBUG environment flag just like for classic Mesa.

The available debug flags are different, however. Just running an OpenGL
application with RADEON_DEBUG set to an arbitrary string will print out
helpful information.

Everything must be compiled with -DDEBUG for any of this to work
2009-09-06 15:03:52 +02:00
Cooper Yuan 7ee4f32dcd r300g: Set the vector address in the input memory for bypass_vs_clip_and_viewport case 2009-08-24 13:56:23 +08:00
Nicolai Hähnle d0c398a8e2 r300g: Use radeon compiler for fragment programs
This is entirely untested on R500, and needs more testing on R300.
2009-07-30 23:55:12 +02:00
Nicolai Hähnle 188f8c6792 r300g: Use r300compiler for vertex shaders 2009-07-30 23:45:18 +02:00
Corbin Simpson 1fa023ae48 r300-gallium: Slightly hacky fix for glxgears-style TCL. 2009-06-01 12:04:29 -07:00
Corbin Simpson d67fb5ea1d r300-gallium: Prevent assert when fogcoords are present.
Seems like this file is the source of all bad logic. (Pun intended.)
2009-05-20 16:05:11 -07:00
Corbin Simpson e9f8b7f1b9 r300-gallium: Cleanup PSC for HW TCL.
Still dies in assert, but at least it's not my assert anymore. :3
2009-05-11 09:57:57 -07:00
Corbin Simpson a5f68b40cb r300-gallium: Point size is at OVM position 15, not 1.
Or so sayeth osiris, and he would know. :3
2009-04-15 15:10:23 -07:00
Corbin Simpson 9340c994b7 r300-gallium: Split up vertex format tallying for HW and SW TCL.
This makes things draw (again) with HW TCL. Yay?
2009-04-10 18:35:58 -07:00