 void EXPR RTCIntersectFuncN(const int* ID valid_in, void* ID geomUserPtr_in, const RTCIntersectContext* ID context_in, RTCRayN* ID ray_in, size_t ID N_in, size_t ID primID_in)
 {
 =>
-void RTCIntersectFuncN(const uniform RTCIntersectFunctionNArguments* uniform args) // FIXME: may also be RTCOccludedFunctionNArguments
+void RTCIntersectFuncN(const uniform RTCIntersectFunctionNArguments* uniform args) // EMBREE_FIXME: may also be RTCOccludedFunctionNArguments
 {
   const int* uniform valid_in = args->valid;
   void* uniform geomUserPtr_in = args->geomUserPtr;

  COMMENT RTCIntersectContext* context = args->context;
  COMMENT RTCRay8& ray_in = *(RTCRay8*) args->ray;
  RTCHit8* hit = (RTCHit8*) args->hit;
  #warning FIXME: use hit to access hit
  #warning FIXME: reject hit through *valid_in = 0 instead of ray_in.geomID = RTC_INVALID_GEOMETRY_ID;
  unsigned int N = args->N;
  assert(N == 8);
  if (none(valid)) return; // function may get called with zero mask

@@{
rtcSetSharedGeometryBuffer(EXPR geom,RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE, EXPR slot, EXPR format, EXPR ptr, EXPR offset, EXPR stride);
=>
rtcSetGeometryVertexAttributeCount(geom,slot+1); // EMBREE_FIXME: verify if this is correct
rtcSetSharedGeometryBuffer(geom,RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE, slot, format, ptr, offset, stride);
}@@

