mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
freedreno/a6xx: disable LRZ for z32
f6131d4ec7had the side effect of enabling LRZ w/ 32b depth buffers. But there are some bugs with this, which aren't fully understood yet, so for now just skip LRZ w/ z32.. Fixes:f6131d4ec7freedreno/a6xx: Clear z32 and separate stencil with blitter Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
9595be67a9
commit
2773919f06
1 changed files with 13 additions and 1 deletions
|
|
@ -371,6 +371,18 @@ fd6_clear_lrz(struct fd_batch *batch, struct fd_resource *zsbuf, double depth)
|
|||
fd6_cache_flush(batch, ring);
|
||||
}
|
||||
|
||||
static bool is_z32(enum pipe_format format)
|
||||
{
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
|
||||
case PIPE_FORMAT_Z32_UNORM:
|
||||
case PIPE_FORMAT_Z32_FLOAT:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
fd6_clear(struct fd_context *ctx, unsigned buffers,
|
||||
const union pipe_color_union *color, double depth, unsigned stencil)
|
||||
|
|
@ -398,7 +410,7 @@ fd6_clear(struct fd_context *ctx, unsigned buffers,
|
|||
|
||||
if (has_depth && (buffers & PIPE_CLEAR_DEPTH)) {
|
||||
struct fd_resource *zsbuf = fd_resource(pfb->zsbuf->texture);
|
||||
if (zsbuf->lrz) {
|
||||
if (zsbuf->lrz && !is_z32(pfb->zsbuf->format)) {
|
||||
zsbuf->lrz_valid = true;
|
||||
fd6_clear_lrz(ctx->batch, zsbuf, depth);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue