Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPU(s)

Win32 build error

Igor_Igor
Beginner
434 Views

Hello

Building Embree 2.3.3 with MSVC 2012, Icc 14.0, ispc 1.8

 Compiling rtcore_ispc.ispc  ...

ISPC : LLVM error : Do not know how to split this operator's operand!

Not too much infortmative ;-) Tried to insert #error directive to localize error - no effect. What to do?

Thx

 

0 Kudos
3 Replies
Igor_Igor
Beginner
434 Views

Hi

I see the problem is with "sizeof(varying float) == 32", example

void rtcIntersect (RTCScene scene, varying RTCRay& ray)
{
  varying bool mask = __mask;
  unmasked {
    varying int imask = mask ? -1 : 0;
  }

  if (sizeof(varying float) == 16)                 // it's Ok
    ispcIntersect4(&imask,scene,&ray);
/*
  else if (sizeof(varying float) == 32)      //  error with this line
    ispcIntersect8(&imask,scene,&ray);
  else if (sizeof(varying float) == 64)    // Ok
    ispcIntersect16(&imask,scene,&ray);
*/
}

 

0 Kudos
Igor_Igor
Beginner
434 Views

Tried with ispc 1.7 - all is built fine and running.With Debug build render is tremendously slow - but it's MSVC problem

Thx

0 Kudos
SvenW_Intel
Moderator
434 Views

I just fixed this issue. The code should now also compile with ISPC v1.8.0 in Win32 mode.

0 Kudos
Reply