iris: Use converted depth in clear_depth_stencil
Until recently, the depth value from glClearBufferfv wasn't clamped. Before then, this patch enabled the driver to fail the clearbuffer-depth piglit test with INTEL_DEBUG=nofc. This is because convert_depth_value relies on the assumption that the depth value is clamped. Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7410>
This commit is contained in:
parent
667813431c
commit
0fe2d49ccd
|
@ -464,11 +464,8 @@ fast_clear_depth(struct iris_context *ice,
|
|||
const struct pipe_box *box,
|
||||
float depth)
|
||||
{
|
||||
struct pipe_resource *p_res = (void *) res;
|
||||
struct iris_batch *batch = &ice->batches[IRIS_BATCH_RENDER];
|
||||
|
||||
depth = convert_depth_value(p_res->format, depth);
|
||||
|
||||
bool update_clear_depth = false;
|
||||
|
||||
/* If we're clearing to a new clear value, then we need to resolve any clear
|
||||
|
@ -690,7 +687,7 @@ iris_clear(struct pipe_context *ctx,
|
|||
clear_depth_stencil(ice, psurf->texture, psurf->u.tex.level, &box, true,
|
||||
buffers & PIPE_CLEAR_DEPTH,
|
||||
buffers & PIPE_CLEAR_STENCIL,
|
||||
depth, stencil);
|
||||
convert_depth_value(psurf->format, depth), stencil);
|
||||
}
|
||||
|
||||
if (buffers & PIPE_CLEAR_COLOR) {
|
||||
|
@ -837,7 +834,7 @@ iris_clear_depth_stencil(struct pipe_context *ctx,
|
|||
clear_depth_stencil(ice, psurf->texture, psurf->u.tex.level, &box,
|
||||
render_condition_enabled,
|
||||
flags & PIPE_CLEAR_DEPTH, flags & PIPE_CLEAR_STENCIL,
|
||||
depth, stencil);
|
||||
convert_depth_value(psurf->format, depth), stencil);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue