Age | Commit message (Collapse) | Author |
|
It had no impact on correctness, though.
Reported by Vinson Lee.
|
|
|
|
Update all drivers to use draw_set_index_buffer,
draw_set_mapped_index_buffer, and draw_vbo. Remove
draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
|
|
Is this hackish or is this the correct way to use point_quad_rasterization?
Copied from nvfx.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes this GCC warning.
r300_render.c: In function 'r300_draw_flush_vbuf':
r300_render.c:988: warning: unused variable 'r300_render'
|
|
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>
|
|
Searched for them with:
git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D'
Behavior hasn't been changed.
|
|
To my knowledge, there is no way to flush zmask and thus write the clear
value.
This fixes zbuffer reads, among other things.
|
|
we were destroying the mm before unrefing all the objects, so segfault.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Reported-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
|
|
|
|
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 skips the blitter clear path entirely if the color is not cleared and
the depth+stencil is cleared with the ZMask.
|
|
z_fastfill -> dirty_zmask[level].
|
|
|
|
It doesn't work well with Hyper-Z, so put the burden on the state tracker.
|
|
This always restores the previous depth clear value after CBZB clear.
|
|
It breaks Regnum Online in that it renders random triangles
all over the screen.
https://bugs.freedesktop.org/show_bug.cgi?id=29518
|
|
This reverts commit de4784e36505316c2a5ab34cc5b371d17f38d3c5.
|
|
No need to enable depth test for clear.
|
|
|
|
This got lost during the rasterizer rewrite.
|
|
|
|
|
|
Single loops work, but nested loops do not.
|
|
|
|
ofs is in dwords, so need to shift it for registers.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Ooops, it wasn't supposed to be there.
|
|
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
|
|
|
|
Need to add a test for multi-hiz/zmask db in a single context.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
On my rv530 at least HiZ is causing rendering issues in gears.
|
|
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>
|