freedreno/ir3: fix incorrect conversion folding
Fixes dEQP-VK.glsl.builtin.function.pack_unpack.unpackhalf2x16_compute Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4708>
This commit is contained in:

committed by
Marge Bot

parent
dd49a40410
commit
73f7f73ef3
@@ -103,6 +103,13 @@ try_conversion_folding(struct ir3_instruction *conv)
|
|||||||
case OPC_SIGN_F:
|
case OPC_SIGN_F:
|
||||||
case OPC_ABSNEG_F:
|
case OPC_ABSNEG_F:
|
||||||
return;
|
return;
|
||||||
|
case OPC_MOV:
|
||||||
|
/* if src is a "cov" and type doesn't match, then it can't be folded
|
||||||
|
* for example cov.u32u16+cov.f16f32 can't be folded to cov.u32f32
|
||||||
|
*/
|
||||||
|
if (src->cat1.dst_type != src->cat1.src_type &&
|
||||||
|
conv->cat1.src_type != src->cat1.dst_type)
|
||||||
|
return;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user