diff options
author | Danylo Piliaiev <[email protected]> | 2020-07-02 11:39:25 +0300 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-07-07 11:05:03 +0000 |
commit | 77844690be7ef8e6e2b24ff1acd85f908ec566f4 (patch) | |
tree | 7b8cdf293831f0cf8d92ebd6bdf10883c705e11e /src/gallium/drivers | |
parent | 026615c0f9ed99896b58532587d7a149b471b4de (diff) |
iris: Fix fast-clearing of depth via glClearTex(Sub)Image
If we clear depth only texture via glClearTex(Sub)Image it may cause:
../src/intel/blorp/blorp_genX_exec.h:1554: blorp_emit_surface_states: Assertion `params->depth.enabled || params->stencil.enabled' failed.
due to clear_depth_stencil calling blorp_clear_depth_stencil when
depth is already fast-cleared and there is no stencil.
Fixes piglit test: arb_clear_texture-depth
Fixes: 51638cf18a532510f9e1fd8f36207b56d38137b8
Signed-off-by: Danylo Piliaiev <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5770>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/iris/iris_clear.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_clear.c b/src/gallium/drivers/iris/iris_clear.c index 50936412b2d..2a78155f4e7 100644 --- a/src/gallium/drivers/iris/iris_clear.c +++ b/src/gallium/drivers/iris/iris_clear.c @@ -583,7 +583,7 @@ clear_depth_stencil(struct iris_context *ice, /* At this point, we might have fast cleared the depth buffer. So if there's * no stencil clear pending, return early. */ - if (!(clear_depth || clear_stencil)) { + if (!(clear_depth || (clear_stencil && stencil_res))) { return; } |