| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
| |
Reported-by: Niels Ole Salscheider <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Marek Olšák <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
| |
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 <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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 <[email protected]>, 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 <[email protected]>
|
|
|
|
|
|
|
| |
The BGNLOOP and ENDLOOP instructions are now being used correctly, which
makes break and continue possible. The deadcode pass has been modified to
handle breaks, and the compiler is more careful about which loops are
unrolled.
|
|
|
|
|
|
| |
This stops us advertising lots of ms visuals we can't actually use.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=29372
|
|
|
|
|
|
|
| |
If texture coordinates come from the vertex shader, there are always
4 components in the rasterizer input packet, but if the coordinates
are stuffed (like for point sprites), there are only 2 or 3 components
(based on GB_ENABLE) and if we rasterize more, it locks up.
|
|
|
|
|
| |
Getting tiling right has always been tricky.
There are so many subtle details...
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This fixes fdo bug #29286.
|
|
|
|
|
|
|
| |
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements,
pipe_context::draw_arrays_instanced,
pipe_context::draw_elements_instanced,
pipe_context::draw_range_elements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some drivers define a generic function that is called by all drawing
functions. To implement draw_vbo for such drivers, either draw_vbo
calls the generic function or the prototype of the generic function is
changed to match draw_vbo.
Other drivers have no such generic function. draw_vbo is implemented by
calling either draw_arrays and draw_elements.
For most drivers, set_index_buffer does not mark the state dirty for
tracking. Instead, the index buffer state is emitted whenever draw_vbo
is called, just like the case with draw_elements. It surely can be
improved.
|
|
|
|
|
|
| |
isn't a problem yet, but have issues in hiz branch.
Signed-off-by: Dave Airlie <[email protected]>
|