embree on vista and any processor

embree on vista and any processor

Hello,

first let me thank you for a great library. I am going to use it in my project, but there are two problems:

- I need to use it on Vista

- I need to use it on a bit older processors with SSE_2 support (also AMD)

Is there a chance that version 2.0 will automatically select code for given processor at runtime?

Now I can compile for sse 3.0 or 4.2 to get maximum speed but limiting program usage to latest processors,

or compile to SSE_2 and lose most of its power...

Also Vista support would be a big plus.

publicaciones de 3 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

Embree requires at least SSSE3, compiling the code for earlier SSE versions will fail. We will relax this requirement in the future, however, older CPUs will not see best performance. Embree does currently not support automatic code selection at runtime.

Could you please post the compile issue you have with Windows Vista?

OK, I commented:

//#define __SSE4_2__ 

in platform.h, now it works on processors since core 2 duo.

About Vista:

it does not work on vanila Vista (without service pack, and I did not test it with SP) when I compile it on Win8.

What I do:

changed #if (_WIN32_WINNT >= 0x0601) code to its #elseif that is:

size_t getNumberOfLogicalThreads()
{
  SYSTEM_INFO sysinfo;
  GetSystemInfo(&sysinfo);
  return sysinfo.dwNumberOfProcessors;
}

void setAffinity(HANDLE thread, ssize_t affinity)

{

 if (!SetThreadAffinityMask(thread, DWORD_PTR(uint64(1) << affinity)))
 throw std::runtime_error("cannot set thread affinity mask");
 if (SetThreadIdealProcessor(thread, (DWORD)affinity) == (DWORD)-1)
 throw std::runtime_error("cannot set thread ideal processor");
}

Now it works on Vista.

Another question about library usage, how should I annotate my commercial product?

"This program uses Embree Ray Tracing Kernels Licensed under the Apache License, Version 2.0

http://www.apache.org/licenses/LICENSE-2.0  " is it OK?

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya