Age | Commit message (Collapse) | Author |
|
This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.
|
|
This only uploads the [min_index, max_index] range instead of [0, userbuf size],
which greatly speeds up user buffer uploads.
This is also a prerequisite for atomizing vertex arrays in st/mesa.
|
|
|
|
Based on a patch from Drill <drill87@gmail.com>.
NOTE: This is a candidate for the 7.10 branch.
|
|
|
|
This also removes DBG_STATS (the stats can be obtained with valgrind instead).
|
|
|
|
|
|
The other drivers need to be updated to do this, too.
|
|
|
|
|
|
Fixes glsl-vs-point-size, although I meant to fix glsl-novertexdata.
Since swrast fails glsl-novertexdata too, I guess it's a core issue.
|
|
|
|
Removing another function duplication in u_blitter.
|
|
|
|
we were destroying the mm before unrefing all the objects, so segfault.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
Signed-off-by: Marek Olšák <maraeo@gmail.com>
|
|
This changes r300_destroy_context() so it can be called
on a partially-initialized context, and uses it when
r300_create_context() hits a fatal error.
This makes sure r300_create_context() doesn't leak memory
or neglect to call r300_update_num_contexts() when it fails.
Signed-off-by: Marek Olšák <maraeo@gmail.com>
|
|
This fixes a potential bug if (has_hyperz) is false
(it would still init the atom as if has_hyperz were true).
Signed-off-by: Marek Olšák <maraeo@gmail.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 problem is destroy_context is almost NEVER called.
The only test for destroy_context I know is compiz.
Reported by Vinson Lee.
FDO bug #29150.
|
|
|
|
The improvement in Tremulous: 68.9 fps -> 71.1 fps.
|
|
|
|
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
|
|
With an ordinary quad, the pixels on the main diagonal are computed
and stored twice, which is somewhat inefficient and might not work well
with specialized clear codepaths.
|
|
And other minor fixups.
|
|
|
|
|
|
|
|
Ooops. This should possibly fix some bugs...
|
|
|
|
|
|
Now the question is whether we are allowed to ignore gl_rasterization_rules and
pipe_rasterizer_state::multisample. The former is invariant anyway and
I think the latter would need re-emitting the AA state which is quite costly,
considering that it implicitly flushes the whole pipeline (all AA regs
in the AA state are *unpipelined*).
|
|
|
|
|
|
Unlike other invariant states, this one must be emitted after VAP flush.
|
|
|
|
|
|
|
|
|
|
FDO bug #28652,
|
|
|
|
Early Z test (=ZTOP) must be disabled before a query is started,
otherwise the GPU is dead. The order of emitted registers matters more
than you might think.
This fixes hardlocks in sauerbraten.
|
|
The previous implementation had issues with queries spanning over several
command streams as well as using a very large number of queries.
This fixes flickering in Enemy Territory: Quake Wars. The driver now renders
everything correctly in this game and the graphics is awesome.
|
|
|
|
|