*/
intrin->src[4] = nir_src_for_ssa(image.lod);
- if (opcode == SpvOpImageWrite) {
- nir_alu_type src_type =
- get_image_type(b, nir_get_nir_type_for_glsl_type(value->type), operands);
- nir_intrinsic_set_src_type(intrin, src_type);
- }
+ nir_alu_type src_type =
+ get_image_type(b, nir_get_nir_type_for_glsl_type(value->type), operands);
+ nir_intrinsic_set_src_type(intrin, src_type);
break;
}
vtn_push_nir_ssa(b, w[2], result);
}
- if (opcode == SpvOpImageRead || opcode == SpvOpImageSparseRead) {
+ if (opcode == SpvOpImageRead || opcode == SpvOpImageSparseRead ||
+ opcode == SpvOpAtomicLoad) {
nir_alu_type dest_type =
get_image_type(b, nir_get_nir_type_for_glsl_type(type->type), operands);
nir_intrinsic_set_dest_type(intrin, dest_type);