spirv: Fix SpvOpExpectKHR

This instruction behaves the same as *OpCopyObject* by making a copy of _Value_.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27265>
This commit is contained in:
Daniel Schürmann 2024-01-24 16:36:02 +01:00 committed by Marge Bot
parent 9b5ea35158
commit 5df7be8017

View file

@ -4383,6 +4383,7 @@ vtn_handle_composite(struct vtn_builder *b, SpvOp opcode,
break;
}
case SpvOpCopyObject:
case SpvOpExpectKHR:
vtn_copy_value(b, w[3], w[2]);
return;
@ -6462,18 +6463,18 @@ vtn_handle_body_instruction(struct vtn_builder *b, SpvOp opcode,
vtn_handle_integer_dot(b, opcode, w, count);
break;
case SpvOpBitcast:
vtn_handle_bitcast(b, w, count);
break;
/* TODO: One day, we should probably do something with this information
* For now, though, it's safe to implement them as no-ops.
* Needed for Rusticl sycl support.
*/
case SpvOpAssumeTrueKHR:
break;
case SpvOpExpectKHR:
break;
case SpvOpBitcast:
vtn_handle_bitcast(b, w, count);
break;
case SpvOpVectorExtractDynamic:
case SpvOpVectorInsertDynamic:
case SpvOpVectorShuffle: