spirv: Fix reaching unreachable for compare exchange on images
We were hitting the unreachable("Invalid image opcode") near the end of vtn_handle_image when parsing the SpvOpAtomicCompareExchange opcode. v2: Add stable CC. v3: Ignore SpvOpAtomicCompareExchangeWeak. It requires the Kernel capability which is not exposed in Vulkan, and spirv_to_nir is not used for OpenCL which does support it. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> CC: <mesa-stable@lists.freedesktop.org>
This commit is contained in:

committed by
Jason Ekstrand

parent
aaee0d1bbf
commit
b117f59710
@@ -2008,6 +2008,7 @@ vtn_handle_image(struct vtn_builder *b, SpvOp opcode,
|
||||
intrin->src[2] = nir_src_for_ssa(vtn_ssa_value(b, w[3])->def);
|
||||
break;
|
||||
|
||||
case SpvOpAtomicCompareExchange:
|
||||
case SpvOpAtomicIIncrement:
|
||||
case SpvOpAtomicIDecrement:
|
||||
case SpvOpAtomicExchange:
|
||||
|
Reference in New Issue
Block a user