Age | Commit message (Collapse) | Author |
|
And associated cleanups.
|
|
|
|
r300compiler doesn't handle half swizzles for vert shaders, which don't
have them. So, for now, disable them.
|
|
|
|
When the secondary color is used, the primary color must always be rasterized
regardless of whether it is used or not.
|
|
Required for two-sided lighting. BTW we are approaching softpipe-level
quality. ;)
|
|
It might have caused hardlocks when TCL was bypassed, not sure.
|
|
|
|
|
|
Conflicts:
src/mesa/state_tracker/st_draw.c
|
|
several drivers which chose to ignore edgeflags might require some more work,
while edgeflags never worked there they might now crash.
|
|
Generating mipmaps finally works, among other things. Yay!
|
|
No need to parse TGSI tokens since it's easier to walk through shader
semantics.
Also fog coordinates now work reliably.
|
|
The state setups which aren't derived anymore have been moved to the VS
and FS objects.
|
|
Cleared out my git stash.
|
|
|
|
So I didn't touch r300compiler, but r300g now compiles after having
declarations and code untangled. As nha so gently points out, we shouldn't
have to do this just to comply with MSVC compilers.
|
|
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
|
|
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
|
|
|
|
Also trust that Gallium will not give us TGSI that miscounts shader consts.
This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
|
|
Remove the need to have a pointer in this struct by just including
the immediate data inline. Having a pointer in the struct introduces
complications like needing to alloc/free the data pointed to, uncertainty
about who owns the data, etc. There doesn't seem to be a need for it,
and it is unlikely to make much difference plus or minus to performance.
Added some asserts as we now will trip up on immediates with more
than four elements. There were actually already quite a few such asserts,
but the >4 case could be used in the future to specify indexable immediate
ranges, such as lookup tables.
|
|
Appart from separating r3xx/r5xx fragment shaders, a more consistent
naming scheme has been applied. From now on:
r300 = all chips
r3xx = R300/R400 only
r5xx = R500 only
This way r300_fragment_shader is the master struct, and the structs
r3xx_fragment_shader and r5xx_fragment_shader inherits it.
|