From ce845f44e9e8109b9daa74bc15f98063c35bc555 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Sat, 7 Mar 2020 15:40:15 +0100 Subject: [PATCH] Revert "panfrost: Z24 variants should be sampled as R32UI" Commit 0406ea485649 ("panfrost: Z24 variants should be sampled as R32UI") causes a regression when depth textures are sampled. It's still not clear how MALI_Z32 can work for for Z32 and Z24{S,X}8, but let's leave that question for later. Reported-by: Icecream95 Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- .gitlab-ci/deqp-panfrost-t860-fails.txt | 42 ------------------------- src/panfrost/encoder/pan_format.c | 10 +----- 2 files changed, 1 insertion(+), 51 deletions(-) diff --git a/.gitlab-ci/deqp-panfrost-t860-fails.txt b/.gitlab-ci/deqp-panfrost-t860-fails.txt index 090bce77b94..bbda91428fa 100644 --- a/.gitlab-ci/deqp-panfrost-t860-fails.txt +++ b/.gitlab-ci/deqp-panfrost-t860-fails.txt @@ -130,7 +130,6 @@ dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth_stencil dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_stencil dEQP-GLES3.functional.fbo.invalidate.sub.unbind_read_depth -dEQP-GLES3.functional.fbo.invalidate.sub.unbind_read_depth_stencil dEQP-GLES3.functional.fbo.invalidate.sub.unbind_read_stencil dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_color dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_depth @@ -141,7 +140,6 @@ dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_stencil dEQP-GLES3.functional.fbo.invalidate.whole.unbind_read_color dEQP-GLES3.functional.fbo.invalidate.whole.unbind_read_color_stencil -dEQP-GLES3.functional.fbo.invalidate.whole.unbind_read_stencil dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8 dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8 dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16 @@ -1051,25 +1049,19 @@ dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darray dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2darrayshadow_fragment -dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2darrayshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.texturelodoffset.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texturelodoffset.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_vertex -dEQP-GLES3.functional.shaders.texture_functions.textureoffset.sampler2dshadow_bias_fragment dEQP-GLES3.functional.shaders.texture_functions.textureoffset.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.textureoffset.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler2dshadow_fragment -dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler2dshadow_vertex -dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_fragment -dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_vertex -dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_bias_fragment dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_vertex dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_bias_fragment @@ -1078,8 +1070,6 @@ dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_vert dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2darrayshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2dshadow_bias_fragment dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2dshadow_fragment -dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2dshadow_vertex -dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_bias_fragment dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_fragment dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_vertex dEQP-GLES3.functional.state_query.integers.max_samples_getfloat @@ -1107,8 +1097,6 @@ dEQP-GLES3.functional.texture.format.sized.cube.depth_component24_pot dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d_array.linear.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear.less_or_equal_depth_component16 @@ -1118,74 +1106,58 @@ dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.greater_or_eq dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.less_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.greater_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.less_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.less_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d_array.nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest.less_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.less_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.greater_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest.less_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d.linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear.less_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d.linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.greater_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.less_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.greater_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.greater_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest.greater_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d.nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest.less_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d.nearest.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear.greater_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear.less_depth24_stencil8 @@ -1198,7 +1170,6 @@ dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.greater_or_equal_ dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.less_depth_component16 -dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear.greater_depth_component16 @@ -1206,45 +1177,35 @@ dEQP-GLES3.functional.texture.shadow.cube.linear.greater_or_equal_depth24_stenci dEQP-GLES3.functional.texture.shadow.cube.linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear.less_depth_component16 -dEQP-GLES3.functional.texture.shadow.cube.linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear.less_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.less_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.greater_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest.less_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.cube.nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest.less_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.cube.nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.greater_depth_component16 -dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.greater_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.greater_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.less_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.less_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear.less_or_equal_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.greater_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.greater_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.greater_or_equal_depth24_stencil8 -dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.greater_or_equal_depth_component16 -dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_depth_component16 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_or_equal_depth24_stencil8 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_or_equal_depth_component16 @@ -1258,15 +1219,12 @@ dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth_component dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth_component24 dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth24_stencil8_2d_array dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component16_2d_array -dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component24_2d_array dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth24_stencil8_2d_array dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component16_2d_array -dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_2d dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_cube dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth32f_stencil8_2d dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component16_2d -dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component16_cube dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_2d dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_cube dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth24_stencil8_2d_array diff --git a/src/panfrost/encoder/pan_format.c b/src/panfrost/encoder/pan_format.c index 205f722dd71..1b8cb4faef6 100644 --- a/src/panfrost/encoder/pan_format.c +++ b/src/panfrost/encoder/pan_format.c @@ -116,17 +116,9 @@ panfrost_find_format(const struct util_format_description *desc) return MALI_RGB10_A2I; case PIPE_FORMAT_Z32_UNORM: - return MALI_Z32_UNORM; - case PIPE_FORMAT_Z24X8_UNORM: case PIPE_FORMAT_Z24_UNORM_S8_UINT: - /* Midgard has no dedicated samplers for Z24S8 and Z24X8 - * formats, and the GPU expects the depth to be encoded in an - * IEEE 32-bit float. Turn all Z24_UNORM variants into R32UI - * and let the shader do the conversion using bfe+fmul - * instructions. - */ - return MALI_R32UI; + return MALI_Z32_UNORM; case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: /* Z32F = R32F to the hardware */ -- 2.30.2