 @@{ispc
 rtcIntersectEx(EXPR scene,EXPR context,EXPR query);
 =>
-rtcIntersect(scene,context,&query);
+rtcIntersectV(scene,context,&query);
 query.hit.Ng_x = -query.hit.Ng_x;  // FIXME: only correct for triangles,quads, and subdivision surfaces
 query.hit.Ng_y = -query.hit.Ng_y;
 query.hit.Ng_z = -query.hit.Ng_z;

{
  uniform RTCIntersectContext context;
  rtcInitIntersectContext(&context);
  rtcIntersect(scene,&context,&query);
  query.hit.Ng_x = -query.hit.Ng_x;  // FIXME: only correct for triangles,quads, and subdivision surfaces
  query.hit.Ng_y = -query.hit.Ng_y;
  query.hit.Ng_z = -query.hit.Ng_z;

@@{ispc
rtcOccluded1Ex(EXPR scene,EXPR context,EXPR ray);
=>
rtcOccludedV(scene,context,&ray);
COMMENT FIXME: ray is occluded when ray.tfar < 0.0f
}@@

