Age | Commit message (Collapse) | Author |
|
Next thing to fix: progs/tests/mipgen.
|
|
Simple stuff still works, but not sure about some of the more complex things.
|
|
Something called "validate" should return FALSE on failure, not TRUE.
|
|
|
|
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.
|
|
Flagged by the DRM command stream checker. This allows the driver to work on
non-R500 cards.
|
|
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
|
|
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
|
|
|
|
Seriously.
|
|
These will come back in someday, when we can properly use them.
|
|
They have to cross into each other's registers.
|
|
(cherry picked from commit 88c01a15da5639dd68a6a0133724994cb66f1316)
|
|
As reported and initially tested by MrCooper.
|
|
Also just noticed that demos/copypix walks around the overlapping blit rules.
Bad, bad Mesa. :3
|
|
This makes demos/copypix better-looking. Horizontal dimensions are right now.
|
|
|
|
Allow Z24S8 to be a true texture.
|
|
|
|
tests/texcompress2 doesn't work, but tests/texcmp does (more or less.)
|
|
What bugs me is that the YUV444 format somehow worked properly. :3
|
|
|
|
Will fix with better constant refactoring later.
|
|
|
|
|
|
|
|
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.
|
|
Um. So, yeah. Two massive WTF moments here. The first one is that, somehow,
I never actually hooked up vertex shader emission, so the only time that the
VAP gets set up is during surface_copy/surface_fill. That's why acidgears
was happening.
The second one is that, somehow, once I actually hooked it up, glxgears just
magically worked. Without any actual, real testing, I somehow accidentally
made the shader compiler work. Go figure.
|
|
SW TCL: tri-clip works, tri-userclip works
HW TCL: tri-clip fails, tri-userclip works
That is a 200% improvement over the previous situation. Woot.
|
|
|
|
Makes tri-userclip work with HW TCL.
|
|
|
|
|
|
Most of it is no longer interesting.
|
|
Still doesn't draw right, but at least it's the right numbers now.
Thanks to taiu in #dri-devel.
|
|
Trivial but annoying.
|
|
Still not showing me why my stuff's failing, but getting there.
|
|
Doesn't work. WTF.
|
|
|
|
This was originally taken from i915 and it shows.
Basically most the stuff in r300_render.c was never needed and
shouldn't have worked in the first place
|
|
|
|
On a side note, why is RADEON_MAX_BOS 24? Should ask airlied about that.
|
|
I feel so unclean.
|
|
Goddammit. This cannot be the "easy way." :C
|
|
|
|
Seems like this file is the source of all bad logic. (Pun intended.)
|
|
Less briefly... Shaders need to be recompiled if their constantbuf
offsets have changed. However, since we only change them from shaders if
immediates need to be emitted, we shouldn't bother if the shader doesn't
use immediates.
|
|
Still not correct, but really I don't care.
|
|
|