- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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 kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
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?

- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite