Age | Commit message (Collapse) | Author |
|
the current code reuses the same vbo over and over, however after a flush
we'd stall and wait for mapping on the vbo when we should just fire and forget.
On a gears test this brings me from ~620 to ~750 on my rv530 in swtcl mode.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
This implements fast Z clear, Z compression, and HiZ support for r300->r500
GPUs.
It also allows cbzb clears when fast Z clears are being used for the ZB.
It requires a kernel with hyper-z support.
Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints.
v2:
squashed zmask ram size fix]
squashed r300g/blitter: fix Z readback when compressed]
v3:
rebase around texture changes in master - .1 fix more bits
v4:
migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently
disabled HiZ when using OQ
flush z-cache before turning hyper-z off
update hyper-z state on dsa state change
store depthclearvalue across cbzb clears and replace it afterwards.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
The Draw flush inside r300_flush was the culprit.
Also, no need to flush Draw when changing a state since the flush is
already inside swtcl_draw_vbo.
|
|
fix vb/ib uploads
|
|
|
|
An initial implementation made by Dave Airlie.
For it to be used, a color-only clear must be invoked and exactly one
point-sampled render target must be set. The render target must be
macrotiled (for us to overcome alignment issues) and bpp must be either
16 or 32.
I can't see a difference in performance. :(
Conflicts:
src/gallium/drivers/r300/r300_blit.c
|
|
FDO bug #28563.
|
|
The fewer macros, the better.
|
|
|
|
|
|
|
|
See comments in the code.
|
|
|
|
|
|
It seems to me that the resource management code is the most blurry.
Also some of my notes about fastfill are wrong, removing them too.
|
|
|
|
|
|
|
|
Now SWTCL renders at least "something", we're close...
|
|
|
|
|
|
Conflicts:
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/util/Makefile
src/gallium/drivers/r300/r300_state_derived.c
|
|
It fixes almost all regressions introduced lately.
|
|
|
|
Split from the fastpath WIP.
|
|
|
|
|
|
Add support for begin/end in each CS so we don't get any other
processes rendering in between.
TODO:
blame other parts of driver for this not working like Z.
|
|
1: add rv530 support
- num z pipes cap
- add proper start/finish query options for rv530
2: convert to use linked list properly.
3: add flushing required check.
4: initial Z top disabling support.
TODO:
make it actually work on my rv530.
|
|
Also just noticed that demos/copypix walks around the overlapping blit rules.
Bad, bad Mesa. :3
|
|
This fixes some missing primitives which had been drawn right before the next glClear().
|
|
It's called "invariant" for a reason. :3
|
|
Haha, I always do this.
|