freedreno/a6xx: Don't use 2d blit path for f16

This seems to canonicalize NaNs when the source format is a 16-bit
floating point format, likely because it implicitly converts to 32b.

Fixes OpenCL-CTS:

  ./test_basic imagearraycopy
  ./test_basic imagearraycopy3d

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589>
This commit is contained in:
Rob Clark
2025-06-16 14:45:54 -07:00
committed by Marge Bot
parent 86a8eda644
commit df55ea8c51
@@ -186,6 +186,13 @@ can_do_blit(const struct pipe_blit_info *info)
fail_if(!ok_format(info->src.format));
fail_if(!ok_format(info->dst.format));
/* using the 2d path seems to canonicalize NaNs when the source format
* is a 16-bit floating point format, likely because it implicitly
* converts to 32 bits.
*/
fail_if(util_format_is_float16(info->src.format) &&
util_format_is_float16(info->dst.format));
assert(!util_format_is_compressed(info->src.format));
assert(!util_format_is_compressed(info->dst.format));