- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page