diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 749508faed2..b6abf5fda18 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -2109,7 +2109,7 @@ to upconvert to 32b float internally? - + Z_READ_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER also set when Z_BOUNDS_ENABLE is set diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c index 68b59b65466..e63c12529a5 100644 --- a/src/freedreno/vulkan/tu_pipeline.c +++ b/src/freedreno/vulkan/tu_pipeline.c @@ -4123,7 +4123,7 @@ tu_pipeline_builder_parse_depth_stencil(struct tu_pipeline_builder *builder, A6XX_RB_DEPTH_CNTL_Z_READ_ENABLE; /* TODO: don't set for ALWAYS/NEVER */ if (builder->depth_clip_disable) - rb_depth_cntl |= A6XX_RB_DEPTH_CNTL_Z_CLIP_DISABLE; + rb_depth_cntl |= A6XX_RB_DEPTH_CNTL_Z_CLAMP_ENABLE; if (ds_info->depthWriteEnable) rb_depth_cntl |= A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c index d29db74e0d3..3ef63bdccc2 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c @@ -1000,11 +1000,11 @@ fd6_emit_non_ring(struct fd_ringbuffer *ring, struct fd6_emit *emit) assert_dt .vert = guardband_y)); } - /* The clamp ranges are only used when the rasterizer disables - * depth clip. + /* The clamp ranges are only used when the rasterizer wants depth + * clamping. */ if ((dirty & (FD_DIRTY_VIEWPORT | FD_DIRTY_RASTERIZER)) && - fd_depth_clip_disabled(ctx)) { + fd_depth_clamp_enabled(ctx)) { float zmin, zmax; util_viewport_zmin_zmax(&ctx->viewport, ctx->rasterizer->clip_halfz, &zmin, &zmax); @@ -1054,7 +1054,7 @@ fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit) state = fd6_zsa_state( ctx, util_format_is_pure_integer(pipe_surface_format(pfb->cbufs[0])), - fd_depth_clip_disabled(ctx)); + fd_depth_clamp_enabled(ctx)); fd_ringbuffer_ref(state); break; case FD6_GROUP_LRZ: diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_zsa.c b/src/gallium/drivers/freedreno/a6xx/fd6_zsa.c index 5f99822b790..132bc51a8b8 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_zsa.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_zsa.c @@ -216,8 +216,8 @@ fd6_zsa_state_create(struct pipe_context *pctx, OUT_PKT4(ring, REG_A6XX_RB_DEPTH_CNTL, 1); OUT_RING(ring, - so->rb_depth_cntl | COND(i & FD6_ZSA_DEPTH_CLIP_DISABLE, - A6XX_RB_DEPTH_CNTL_Z_CLIP_DISABLE)); + so->rb_depth_cntl | COND(i & FD6_ZSA_DEPTH_CLAMP, + A6XX_RB_DEPTH_CNTL_Z_CLAMP_ENABLE)); OUT_PKT4(ring, REG_A6XX_RB_STENCILMASK, 2); OUT_RING(ring, so->rb_stencilmask); diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_zsa.h b/src/gallium/drivers/freedreno/a6xx/fd6_zsa.h index aa0baa7a5c7..15be91e1bfe 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_zsa.h +++ b/src/gallium/drivers/freedreno/a6xx/fd6_zsa.h @@ -36,7 +36,7 @@ #include "fd6_context.h" #define FD6_ZSA_NO_ALPHA (1 << 0) -#define FD6_ZSA_DEPTH_CLIP_DISABLE (1 << 1) +#define FD6_ZSA_DEPTH_CLAMP (1 << 1) struct fd6_zsa_stateobj { struct pipe_depth_stencil_alpha_state base; @@ -68,7 +68,7 @@ fd6_zsa_state(struct fd_context *ctx, bool no_alpha, bool depth_clamp) assert_dt if (no_alpha) variant |= FD6_ZSA_NO_ALPHA; if (depth_clamp) - variant |= FD6_ZSA_DEPTH_CLIP_DISABLE; + variant |= FD6_ZSA_DEPTH_CLAMP; return fd6_zsa_stateobj(ctx->zsa)->stateobj[variant]; } diff --git a/src/gallium/drivers/freedreno/freedreno_state.h b/src/gallium/drivers/freedreno/freedreno_state.h index 4917ecf9a74..1890583b5a2 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.h +++ b/src/gallium/drivers/freedreno/freedreno_state.h @@ -55,7 +55,7 @@ fd_blend_enabled(struct fd_context *ctx, unsigned n) assert_dt } static inline bool -fd_depth_clip_disabled(struct fd_context *ctx) assert_dt +fd_depth_clamp_enabled(struct fd_context *ctx) assert_dt { return !(ctx->rasterizer->depth_clip_near && ctx->rasterizer->depth_clip_far);