Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Igor_Igor
Beginner
133 Views

Win32 build error

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
133 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);
*/
}

 

Igor_Igor
Beginner
133 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

SvenW_Intel
Moderator
133 Views

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

Reply