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:
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user