Git Product home page Git Product logo

radeonrays_sdk's People

Contributors

beasterio avatar bstefanizzi avatar d808065 avatar dariaamd avatar deanoc avatar denisbirukov avatar ericwa avatar gboisse avatar gjacquenot avatar ikryukov avatar imerso avatar kaocc avatar mazzzu avatar ntimmons avatar scschaefer avatar skwerner avatar srinivasuluch avatar tobine avatar yozhijk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

radeonrays_sdk's Issues

Firerays 'Application Error'

I cloned this repository, download AMD APP SDK and, used all libs and header files given by AMD APP SDK. When i tried to run the program this error ocurred "The application was unable to start correctly". Can you help me?

My CPU is: Intel(R) Core(TM) i5-3230M
GPU is NVIDIA Geforce 610M
VS2015

Windows build error:C2143

I use Visual Studio 2012 Pro to compile FireRays. I got following error:
1> CLWProgram.cpp
1>d:\firerays_sdk-master\clw\CLWContext.h(76): error C2143: syntax error : missing ',' before '...' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(76): error C2061: syntax error : identifier 'Types' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(77): error C2143: syntax error : missing ',' before '...' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(77): error C2061: syntax error : identifier 'Types' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(78): error C2143: syntax error : missing ',' before '...' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(78): error C2061: syntax error : identifier 'Types' (CLWParallelPrimitives.cpp)
1>d:\firerays_sdk-master\clw\CLWContext.h(150): error C2143: syntax error : missing ',' before '...' (CLWParallelPrimitives.cpp)

Any idea what's causing errors?

Segmentation fault on clCreateContext()

master at ca660eb
Core dump
c.zip

(gdb) run
....
Thread 1 "App64D" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007fffd1ccd09f in ?? () from /usr/lib/libamdocl64.so
#2  0x00007fffd1bc3944 in ?? () from /usr/lib/libamdocl64.so
#3  0x00007fffd1bc3a59 in ?? () from /usr/lib/libamdocl64.so
#4  0x00007fffd1bcf38b in ?? () from /usr/lib/libamdocl64.so
#5  0x00007fffd1b9484e in clCreateContext () from /usr/lib/libamdocl64.so
#6  0x000000000043b0f8 in CLWContext::Create (devices=std::vector of length 1, capacity 1 = {...}, props=props@entry=0x7fffffffd5b0) at CLWContext.cpp:40
#7  0x000000000043b281 in CLWContext::Create (device=..., props=props@entry=0x7fffffffd5b0) at CLWContext.cpp:193
#8  0x000000000042394e in ConfigManager::CreateConfigs (mode=ConfigManager::kUseSingleGpu, interop=true, configs=std::vector of length 0, capacity 0, 
    initial_num_bounces=5) at config_manager.cpp:109
#9  0x0000000000427d39 in InitCl () at main.cpp:267
#10 0x0000000000406b5e in main (argc=1, argv=0x7fffffffd958) at main.cpp:808
(gdb) quit
A debugging session is active.
    Inferior 1 [process 17295] will be killed.
Quit anyway? (y or n) y

clinfo output:
clinfo.txt

Segfault in InitCl () at main.cpp:262

All 58 tests with ../Bin/Debug/x64/UnitTest64D passed but

(gdb) run -p ../Resources/bmw/ -f ../Resources/bmw/i8.obj
Starting program: /media/Compressed/Drivers_bios/src/dev/FireRays_SDK/Bin/Debug/x64/App64D -p ../Resources/bmw/ -f ../Resources/bmw/i8.obj
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffdb7e5700 (LWP 2400)]
[New Thread 0x7fffd5efc700 (LWP 2401)]

Thread 1 "App64D" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007fffce56209f in ?? () from /usr/lib/libamdocl64.so
#2  0x00007fffce458944 in ?? () from /usr/lib/libamdocl64.so
#3  0x00007fffce458a59 in ?? () from /usr/lib/libamdocl64.so
#4  0x00007fffce46438b in ?? () from /usr/lib/libamdocl64.so
#5  0x00007fffce42984e in clCreateContext () from /usr/lib/libamdocl64.so
#6  0x0000000000433e38 in CLWContext::Create (devices=std::vector of length 1, capacity 1 = {...}, props=props@entry=0x7fffffffd5d0) at CLWContext.cpp:40
#7  0x0000000000433fc1 in CLWContext::Create (device=..., props=props@entry=0x7fffffffd5d0) at CLWContext.cpp:193
#8  0x000000000040743e in ConfigManager::CreateConfigs (mode=ConfigManager::kUseSingleGpu, interop=true, configs=std::vector of length 0, capacity 0)
    at config_manager.cpp:108
#9  0x0000000000419ba3 in InitCl () at main.cpp:262
#10 0x0000000000406a5e in main (argc=5, argv=0x7fffffffd978) at main.cpp:808
(gdb) quit

clinfo.txt

Add dll that uses VS 2013 redistributables

Current dll is compiled with VS2015 and requires the VS2015 redistributables. It would be useful to have a version compiled with VS2013 requiring the VS2013 redistributables. Alternatively please supply a static library.

Thanks

Light passes only 2 transparent materials

Currently it seems like no light can make it through 3rd transparent material in a row. At least as seen by camera. Attaching example image and obj file used. Windows use hardcoded glass material, the white wall on right is hardcoded carpaint and bally thingy is hardcoded light (emissive)

error

glass_test.zip

bvh.sah.usesplits and some other options not implemented?

This option is documented in firerays.h:

// option "bvh.sah.usesplits" values {0(default),1} (allow spatial splits for BVH)

But it seems to have no effect on benchmarks, and I can't find any uses of it with GetOptions in the source tree.

Same for "trisah", "overlaparea" and other options for bvh.sah.*

It would also be nice to have a way to print all available options as a query, or list the options that have been set. I like being able to set options as strings, but it's easy to misspell something and have it be silently ignored.

Threads not closing on Nvidia GPU's causing CLWException and Calc::ExceptionClw

There seems to be a problem when calling IntersectionApi::Delete with Nvidia cards. Threads don't seem to be deleted. When a large number of contexts are created and deleted, this causes an CLWException and Calc::Exception to be thrown. When tested on a Intel CPU OpenCL Device this doesn't occur.

Tested on:
Nvidia Geforce GT 710 368.69 and 368.39
Nvidia Geforce GTX 970m 365.10 and 368.69

Both systems have this problem.

ETA for Vulkan port?

I see from The Quest for the Ray Tracing API slides Radeon Rays has a Vulkan port..
is that coming soon?

error: redefinition of '__float4' as different kind of symbol

Setup:

  • OS X 10.11.5
  • FireRays built with ./Tools/premake/osx/premake5 --embed_kernels gmake and make config=debug_x64

I'm getting an exception when calling FireRays::IntersectionApi::Create(int) in my own application which is linked to libFireRays64d.dylib.

The exception thrown is at CLWProgram.cpp:100, i.e. the clBuildProgram call has failed.
This is the first error in the build log that gets printed to stdout:

<program source>:103:8: error: redefinition of '__float4' as different kind of symbol
float4 make_float4(float x, float y, float z, float w) 
       ^
/System/Library/Frameworks/OpenCL.framework/Versions/A/lib/clang/3.2/include/cl_kernel.h:3226:31: note: expanded from macro 'make_float4'
#define make_float4(A,B,C,D) (float4)((A),(B),(C),(D))
                              ^

This error should be impossible because the make_float4 definition in FireRays is guarded by#ifndef APPLE... so it looks like the buildopts passed to clBuildProgram (including -D APPLE) are being ignored for some reason.

As a guess, I tried changing -I. to -I . in the buildopts string at CLWProgram.cpp:75 and now theFireRays::IntersectionApi::Create() call succeeds!

"clCreateCommandQueue failed" error on OS X 10.11.5

When I try to run the "App" target of the Xcode project, I get an exception thrown on CLWCommandQueue.cpp:37, and the message "clCreateCommandQueue failed" prints before exiting.

The status returned by clCreateCommandQueue is -33, CL_INVALID_DEVICE.

Here is the results of printing platform in ConfigManager::CreateConfigs:

(lldb) print platforms
(std::__1::vector<CLWPlatform, std::__1::allocator<CLWPlatform> >) $2 = size=1 {
  [0] = {
    ReferenceCounter<_cl_platform_id *, int (*)(_cl_platform_id *), int (*)(_cl_platform_id *)> = (object_ = 0x000000007fff0000)
    name_ = "Apple"
    profile_ = "FULL_PROFILE"
    version_ = "OpenCL 1.2 (Apr 26 2016 00:05:53)"
    vendor_ = "Apple"
    extensions_ = ""
    devices_ = size=2 {
      [0] = {
        ReferenceCounter<_cl_device_id *, cl_int (*)(_cl_device_id *), cl_int (*)(_cl_device_id *)> = (object_ = 0x0000000001024400)
        name_ = "HD Graphics 4000"
        vendor_ = "Intel"
        version_ = "OpenCL 1.2 "
        profile_ = "FULL_PROFILE"
        extensions_ = "cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_image2d_from_buffer cl_khr_gl_depth_images cl_khr_depth_images cl_khr_3d_image_writes "
        type_ = 4
        localMemSize_ = 65536
        globalMemSize_ = 1610612736
        maxAllocSize_ = 402653184
        localMemType_ = 1
        maxWorkGroupSize_ = 512
        minAlignSize_ = 128
      }
      [1] = {
        ReferenceCounter<_cl_device_id *, cl_int (*)(_cl_device_id *), cl_int (*)(_cl_device_id *)> = (object_ = 0x0000000001022700)
        name_ = "GeForce GT 650M"
        vendor_ = "NVIDIA"
        version_ = "OpenCL 1.2 "
        profile_ = "FULL_PROFILE"
        extensions_ = "cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_APPLE_fp64_basic_ops cl_khr_fp64 cl_khr_3d_image_writes cl_khr_depth_images cl_khr_gl_depth_images cl_khr_gl_msaa_sharing cl_khr_image2d_from_buffer cl_APPLE_ycbcr_422 cl_APPLE_rgb_422 "
        type_ = 4
        localMemSize_ = 49152
        globalMemSize_ = 1073741824
        maxAllocSize_ = 268435456
        localMemType_ = 1
        maxWorkGroupSize_ = 1024
        minAlignSize_ = 128
      }
    }
    type_ = 4
  }
}

Only device 0, "Intel HD Graphics 4000" is failing to create a command queue. If I adjust ConfigManager::CreateConfigs to start with device 1, the nvidia card, the command queue creation succeeds.

Maybe the CLWContext::Create calls in ConfigManager::CreateConfigs should be done in a try {} catch {} block so if an exception happens, the loop over devices just continues to try the next device?

license

I'm sorry if this is not the right place to ask, I just can't find anything around, I posted on AMD community forums but still no signs.

I am currently testing the FireRays library, the FireRays page states that "FireRays can be easily ditributed", but I cannot understand from the license file if the Library can be used in commercial closed-source applciations.

At first the license grants permission to use the Library to "create Derivative Works only for internal use", but later states that it also grants permission to "ditribute and sublicense ... the Object Code of the library solely as incorporated in Licensee Software to customers and end-users (collectively, Distribution Channel).. for use on AMD processors.."

so, just to be sure, may I use the Library (link an executable against the Library as shared/stati`c) in a closed-source, commercial application (possibly used by end-users on both AMD and non-AMD hardware) ?

thanks

Linux: link problems

Hi,

I'm developping a benchmark to compare FireRays and OptixPrime performance.
The benchmark compiles without problem with the old version of FireRays on linux, but with the new version I have some link problems:

[100%] Linking CXX executable /home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Binary/Release/FireRaysBenchmark
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::Finish(unsigned int) const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWCommandQueue'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWKernel::SetArg(unsigned int, ParameterHolder)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWKernel::SetArg(unsigned int, unsigned long, void*)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetVendor() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWEvent::~CLWEvent()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::~CLWContext()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetLocalMemSize() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWPlatform::CreateAllPlatforms(std::vector<CLWPlatform, std::allocator<CLWPlatform> >&)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWPlatform::GetDeviceCount() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWContext'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::GetDevice(unsigned int) const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::Create(CLWDevice, long*)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWParallelPrimitives::CLWParallelPrimitives(CLWContext)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetName() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWParallelPrimitives::SortRadix(unsigned int, CLWBuffer<char>, CLWBuffer<char>, CLWBuffer<char>, CLWBuffer<char>, int)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWProgram::~CLWProgram()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWProgram'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::Create(_cl_context*, _cl_device_id**, _cl_command_queue**, int)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::Launch1D(unsigned int, unsigned long, unsigned long, _cl_kernel*)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetMinAlignSize() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWEvent::Wait()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWContext::Flush(unsigned int) const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetGlobalMemSize() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWProgram::CreateFromFile(char const*, char const**, int, CLWContext)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWCommandQueue::~CLWCommandQueue()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWProgram::GetKernel(std::string const&) const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetType() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWPlatform::GetDevice(unsigned int) const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::~CLWDevice()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWParallelPrimitives::~CLWParallelPrimitives()'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWEvent'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetMaxAllocSize() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWEvent::GetCommandExecutionStatus() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWKernel'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetMaxWorkGroupSize() const'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWEvent::Create(_cl_event*)'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `vtable for CLWDevice'
/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Dependencies/FireRaysSDK/FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWProgram::CreateFromSource(char const*, unsigned long, CLWContext)'
collect2: error: ld returned 1 exit status
FireRaysBenchmark/CMakeFiles/FireRaysBenchmark.dir/build.make:99: recipe for target '/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Binary/Release/FireRaysBenchmark' failed
make[2]: *** [/home/rhoarau/Data/Works/Onera/RayTracingBenchmark/Binary/Release/FireRaysBenchmark] Error 1
CMakeFiles/Makefile2:85: recipe for target 'FireRaysBenchmark/CMakeFiles/FireRaysBenchmark.dir/all' failed
make[1]: *** [FireRaysBenchmark/CMakeFiles/FireRaysBenchmark.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

On windows there are no problems with the new version.
If I try to compile the sample shipped with the sdk, I need to add pthread (l37 in App.lua:
links {"OpenImageIO", "glut", "GLEW", "GL", "pthread"}) in dependencies but I have still link problems:

==== Building CLW (release_x64) ====
==== Building App (release_x64) ====
Linking App
../FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWProgram::GetKernel(std::string const&) const'
../FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetName() const'
../FireRays/lib/x64/libFireRays64.so: undefined reference to `CLWDevice::GetVendor() const'
collect2: error: ld returned 1 exit status
Makefile:91: recipe for target '../Bin/Release/x64/App64' failed
make[1]: *** [../Bin/Release/x64/App64] Error 1
Makefile:36: recipe for target 'App' failed
make: *** [App] Error 2

System: Manjaro Linux (Arch based distributions)
Graphics card: AMD HD7970
AMDAPP-SDK v3.0

Builds in Ubuntu 14.04.4 64 bit with proprietary N????? drivers if -lOpenCL added. Executable starts but exits immediately with message.

Still investigating but so far I found this:

In build instructions note that: There is no premake4... use premake5
Doing make ...
Note config option with name "release64" as instructed in README.md i.e. "make config=release64" does not exist. Possible options seem to be make "release_x64" or "debug_x64"

I needed to add -lOpenCL to line 25
LIBS += ../Bin/Debug/x64/libCLW64D.a -lFireRays64 -lOpenCL -lOpenImageIO -lglut -lGLEW -lGL
in file App/Makefile

Needed to add to LD_LIBRARY_PATH the directory /home16/robert/Code/FireRays_SDK/FireRays/lib/x64/ containing the file libFireRays64.so

Run ....
robert@kalymnos:/Code/FireRays_SDK$ ./Bin/Debug/x64/App64D
Cannot read the contents of a filerobert@kalymnos:
/Code/FireRays_SDK$

robert@kalymnos:~$ dpkg -l | grep -i opencl
ii clinfo 0.0.20130513-1 amd64 Query OpenCL system information
rc nvidia-libopencl1-340 340.96-0ubuntu0.14.04.1 amd64 NVIDIA OpenCL Driver and ICD Loader library
rc nvidia-opencl-icd-340 340.96-0ubuntu0.14.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-opencl-icd-352 352.79-0ubuntu1 amd64 NVIDIA OpenCL ICD
rc nvidia-opencl-icd-352-updates 352.63-0ubuntu0.14.04.1 amd64 NVIDIA OpenCL ICD
ii ocl-icd-libopencl1:amd64 2.1.3-4 amd64 Generic OpenCL ICD Loader
ii ocl-icd-opencl-dev:amd64 2.1.3-4 amd64 OpenCL development files
ii opencl-headers 1.2-2013.10.23-1 all OpenCL (Open Computing Language) header files
ii unity-scope-openclipart 0.1+13.10.20130723-0ubuntu1 all OpenClipArt scope for Unity

San Miguel issues

Hi,

I'm doing some short tests with different scene setups. Managed to load Crytek's Atrium Sponza and 3drender.com's Natural History Museum, but the SDK fails to handle San Miguel. (First you have to manually create normals for the mesh.) I'm using the AO pass.

Can the SDK support such huge files? Have you managed to load and render other big scene files? Thanks.

Linker error LNK1104 for when compiling app target in VS2015

I'm having trouble setting up the SDK on my windows machine; trying to compile the App target in VS2015 renders the following error:

Error : LNK1104 cannot open file 'OpenImageIOD.lib' App C:\Users\cons-elo\Source\Repos\RadeonRays_SDK\App\LINK

I'm also having trouble with tests - most of them fail with the error "unknown file: error: C++ exception with description "Cannot read the contents of a file" thrown in SetUp()."

Cheers,
Erik

Error while loading shared libraries: libOpenImageIO.so.1.3 observed on my Ubuntu16.04+AMD card plugged in

Tried running App on Ubuntu16.04, and I get below error. But the same worked fine on Ubuntu14.04

../Bin/Release/x64/App64: error while loading shared libraries: libOpenImageIO.so.1.3: cannot open shared object file: No such file or directory

The error still occurs even after installing the below dependencies.
sudo apt-get install libopenimageio-dev libglew-dev freeglut3-dev

Could you please let us know if I am missing something here?

\Thanks.

FireRays test app crashes when run in -config cpu mode

When I run in config cpu, I get a crash after rendering 1-3 passes of Update(). The call stack is completely invalid so I don't know what's causing the crash exactly. Running in gpu mode, I get a driver crash on my home machine (GTX 980, driver 368.69) but my work machine seems to run ok (GTX 680, driver 353.30)

OS X: should have /usr/local/lib in library search path

  • I installed OpenImageIO with homebrew as instructed in the README.md.
  • generated the xcode project with ./premake/osx/premake5 xcode4

When I build the "App" target in Xcode I get a linker error:

ld: warning: directory not found for option '-L../3rdParty/oiio16/lib/x64'
ld: library not found for -lOpenImageIO
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The build was fixed by adding /usr/local/lib to the "Library Search Paths" setting in Xcode

OS X - "Cannot read the contents of a file" exception

This exception is thrown in load_file_contents when trying to load "../FireRays/src/kernel/CL/bvh.cl".

It seems to be an issue of wrong working directory.

(lldb) print (char *)getwd(NULL)
(char *) $1 = 0x00000001078e7400 "/Users/ericwa/dev/FireRays_SDK/Bin/Debug/x64"

Editing the "App" scheme in Xcode to set a custom working directory of /Users/ericwa/dev/FireRays_SDK/Bin fixes the problem.

Documentation

I found the getting started topic in the white paper. Can be there is a more complete version(tutorials, api reference, good practices, etc)?

bundled Embree .dylib's out of date causing link error

Hi, I did a build with:

./Tools/premake/osx/premake5 --use_embree --embed_kernels gmake
make

and got the following error:

Linking FireRays
ld: warning: directory not found for option '-L/usr/lib64'
Undefined symbols for architecture x86_64:
  "_rtcDeleteDevice", referenced from:
      FireRays::EmbreeIntersectionDevice::~EmbreeIntersectionDevice() in embree_intersection_device.o
  "_rtcDeviceGetError", referenced from:
      FireRays::EmbreeIntersectionDevice::EmbreeIntersectionDevice() in embree_intersection_device.o
      FireRays::EmbreeIntersectionDevice::CheckEmbreeError() const in embree_intersection_device.o
  "_rtcDeviceNewScene", referenced from:
      FireRays::EmbreeIntersectionDevice::EmbreeIntersectionDevice() in embree_intersection_device.o
      FireRays::EmbreeIntersectionDevice::Preprocess(FireRays::World const&) in embree_intersection_device.o
      FireRays::EmbreeIntersectionDevice::GetEmbreeMesh(FireRays::Mesh const*) in embree_intersection_device.o
  "_rtcNewDevice", referenced from:
      FireRays::EmbreeIntersectionDevice::EmbreeIntersectionDevice() in embree_intersection_device.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../Bin/Debug/x64/libFireRays64D.dylib] Error 1
make: *** [FireRays] Error 2

rtcDeleteDevice is a newer API in embree, so it seems that the .dylib's in 3rdparty/embree/lib/x64/ are too old.
Replacing the .dylib's in 3rdparty/embree/lib/x64/ with the ones from https://github.com/embree/embree/releases/download/v2.10.0/embree-2.10.0.x86_64.macosx.tar.gz fixed the issue.

Any example would be nice

I'm already have found resources, but on main page there is no any info about mesh/texture format supported.

../Bin/Release/x64/App64 -p ../Resources/bmw/ -f i8.obj

Build on Ubuntu

Hi
I have managed to build and run the older code from the AMD website in Unbuntu 14.04.3 LTS by making my own App/Makefile some months ago. The app worked/works with cough NV???? HW and drivers obtained via apt-get. There is some glitchyness at startup but the window updates fine following mouse events. Impressive!

I noticed recent commits on github "official version" so I cloned the repo and had some issues:
git clone https://github.com/GPUOpen-LibrariesAndSDKs/FireRays_SDK.git
cd FireRays_SDK
// Not premake 4 as stated in the instructions
// Not executable..
chmod +x ./premake/linux64/premake5
./premake/linux64/premake5 gmake
// make does not work as instructed with "config=release64" so I did this instead
make
// Compilation seems ok but I am having link issues. I am showing the second make attempt which does the link step only:
robert@claire2:~/Dropbox/FireRays_SDK$ make
==== Building CLW (debug_x64) ====
==== Building App (debug_x64) ====
Linking App
/usr/bin/ld: cannot find -lFireRays64

The library name "FireRays/lib/x64/FireRays64.lib " does not observe the conventional Unices naming conventions i.e. libXXX.a/so. I am not familiar with premake and friends but I don't expect
App/Makefile: "LIBS += ../Bin/Debug/x64/libCLW64D.a -lFireRays64 -lOpenImageIO -lglut -lGLEW -lGL"
with -lFireRays64 seen above to work with your naming convention. So I have hacked the lines (debug and release) in App/Makefile to
LIBS += ../Bin/Release/x64/libCLW64.a ../FireRays/lib/x64/FireRays64.lib -lOpenCL -lOpenImageIO -lglut -lGLEW -lGL
which got rid of most but not all link problems.

make
==== Building CLW (debug_x64) ====
==== Building App (debug_x64) ====
Linking App
obj/x64/Debug/frrenderer.o: In function FrRenderer::FrRenderer(CLWContext, int)': /home/robert/Dropbox/FireRays_SDK/App/frrenderer.cpp:124: undefined reference toFireRays::IntersectionApiCL::CreateFromOpenClContext(int, cl_context, cl_device_id_, cl_command_queue_, int)'
obj/x64/Debug/frrenderer.o: In function FrRenderer::~FrRenderer()': /home/robert/Dropbox/FireRays_SDK/App/frrenderer.cpp:158: undefined reference toFireRays::IntersectionApi::Delete(FireRays::IntersectionApi_)'
collect2: error: ld returned 1 exit status
make[1]: *** [../Bin/Debug/x64/App64D] Error 1
make: *** [App] Error 2

Ubuntu 15.10 Compilation Fails

Hello there,

I wanted to compile the SDK and followed the README.

During this I encountered this Error

Linking RadeonRays
/usr/bin/ld: ../Bin/Release/x64/libCalc64.a(calc.o): relocation R_X86_64_32 against `.bss' can not     be used when making a shared object; recompile with -fPIC
../Bin/Release/x64/libCalc64.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:165: recipe for target '../Bin/Release/x64/libRadeonRays64.so' failed
make[1]: *** [../Bin/Release/x64/libRadeonRays64.so] Error 1
Makefile:54: recipe for target 'RadeonRays' failed
make: *** [RadeonRays] Error 2

I used ./Tools/premake/linux64/premake5 gmake to create the makefile

>> OpenCL backend enabled
Building configurations...
Running action 'gmake'...
Generated Makefile...
Generated RadeonRays/Makefile...
Generated Calc/Makefile...
Generated CLW/Makefile...
Generated App/Makefile...
Generated Gtest/Makefile...
Generated UnitTest/Makefile...
Done (162ms).

and maked with make config=release_x64 which then resulted in the error above.

My libraries/compiler are as following:

g++:
  Installed: 4:5.2.1-3ubuntu1
libopenimageio-dev:
  Installed: 1.6.10-0thomas~wily1
libglew-dev:
  Installed: 1.10.0-3
libglew-dev:
  Installed: 1.10.0-3
nvidia-opencl-dev:
  Installed: 6.5.14-2

Is this a known error and is there a workaround ?

OS X: Exception in `CLWProgram::CreateFromSource` about "<angled> includes"

I get this error log:

<program source>:26:10: error: '../FireRays/src/kernel/CL/common.cl' file not found with <angled> include; use "quotes" instead
#include <../FireRays/src/kernel/CL/common.cl>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         "../FireRays/src/kernel/CL/common.cl"
In file included from <program source>:26:
../FireRays/src/kernel/CL/common.cl:124:8: warning: no previous prototype for function 'transform_point'
float3 transform_point(float3 p, float4 m0, float4 m1, float4 m2, float4 m3)
       ^
../FireRays/src/kernel/CL/common.cl:133:8: warning: no previous prototype for function 'transform_vector'
float3 transform_vector(float3 p, float4 m0, float4 m1, float4 m2, float4 m3)
       ^
../FireRays/src/kernel/CL/common.cl:142:5: warning: no previous prototype for function 'transform_ray'
ray transform_ray(ray r, float4 m0, float4 m1, float4 m2, float4 m3)
    ^
../FireRays/src/kernel/CL/common.cl:152:8: warning: no previous prototype for function 'quaternion_mul'
float4 quaternion_mul(float4 q1, float4 q2)
       ^
../FireRays/src/kernel/CL/common.cl:162:8: warning: no previous prototype for function 'quaternion_conjugate'
float4 quaternion_conjugate(float4 q)
       ^
../FireRays/src/kernel/CL/common.cl:167:8: warning: no previous prototype for function 'quaternion_inverse'
float4 quaternion_inverse(float4 q)
       ^
../FireRays/src/kernel/CL/common.cl:181:6: warning: no previous prototype for function 'rotate_ray'
void rotate_ray(ray* r, float4 q)
     ^
../FireRays/src/kernel/CL/common.cl:193:5: warning: no previous prototype for function 'IntersectTriangle'
int IntersectTriangle(ray const* r, float3 v1, float3 v2, float3 v3, Intersection* isect)
    ^
../FireRays/src/kernel/CL/common.cl:217:5: warning: no previous prototype for function 'IntersectTriangleP'
int IntersectTriangleP(ray const* r, float3 v1, float3 v2, float3 v3)
    ^
../FireRays/src/kernel/CL/common.cl:239:5: warning: no previous prototype for function 'IntersectBox'
int IntersectBox(ray const* r, float3 invdir, bbox box, float maxt)
    ^
../FireRays/src/kernel/CL/common.cl:253:7: warning: no previous prototype for function 'IntersectBoxF'
float IntersectBoxF(ray const* r, float3 invdir, bbox box, float maxt)
      ^
../FireRays/src/kernel/CL/common.cl:267:5: warning: no previous prototype for function 'Ray_GetMask'
int Ray_GetMask(ray const* r)
    ^
../FireRays/src/kernel/CL/common.cl:272:5: warning: no previous prototype for function 'Ray_IsActive'
int Ray_IsActive(ray const* r)
    ^
../FireRays/src/kernel/CL/common.cl:277:7: warning: no previous prototype for function 'Ray_GetMaxT'
float Ray_GetMaxT(ray const* r)
      ^
../FireRays/src/kernel/CL/common.cl:282:7: warning: no previous prototype for function 'Ray_GetTime'
float Ray_GetTime(ray const* r)
      ^
<program source>:66:6: warning: no previous prototype for function 'IntersectLeafClosest'
bool IntersectLeafClosest(
     ^
<program source>:97:6: warning: no previous prototype for function 'IntersectLeafAny'
bool IntersectLeafAny(
     ^
<program source>:127:6: warning: no previous prototype for function 'IntersectSceneClosest'
bool IntersectSceneClosest(SceneData const* scenedata,  ray const* r, Intersection* isect)
     ^
<program source>:168:6: warning: no previous prototype for function 'IntersectSceneAny'
bool IntersectSceneAny(SceneData const* scenedata,  ray const* r)
     ^
<program source>:223:9: warning: unused variable 'global_id'
    int global_id  = get_global_id(0);
        ^
<program source>:287:9: warning: unused variable 'global_id'
    int global_id = get_global_id(0);
        ^
<program source>:345:9: warning: unused variable 'global_id'
    int global_id = get_global_id(0);
        ^
<program source>:408:9: warning: unused variable 'global_id'
    int global_id = get_global_id(0);
        ^
<program source>:465:9: warning: unused variable 'local_id'
    int local_id = get_local_id(0);
        ^
<program source>:508:9: warning: unused variable 'local_id'
    int local_id = get_local_id(0);
        ^

Changing the angled includes in bvh.cl to:

#include "../FireRays/src/kernel/CL/common.cl"

fixes the error.
This is the last issue I ran in to, the program runs now :-)
screen shot 2016-05-19 at 1 06 19 pm

Issues running premake on OS X

The README.md has:

./premake/osx/premake5 xcode4

but seems like the path should be:

./Tools/premake/osx/premake5 xcode4

Also, the premake5 executable needs the executable permission set, either in git, or by adding a chmod +x ./Tools/premake/osx/premake5 to the getting started instructions

Documentation on the shading techniques and materials?

Hi, I am not sure if this belongs here, but I don't know where else i could post it. I have been trying to understand the kinds of materials in the App. So far I believe that:

  • kLambert is diffuse
  • kIdealReflect is 0 roughness reflective
  • kMicrofacetXyz are reflective with some roughness controlled by ns
  • kIdealRefract is 0 roughness transparent
  • kFresnelBlend and kMix are used to mix 2 of the above
  • Is there any way to get refraction with some roughness?
  • I had no luck combining Lambert, Microfacet and IdealRefract. Is it possible?
  • In a scene that I tried to render, light directly from emissive material doesn't pass through a window. It does only after it bounces off other objects (light from hdr enviroment does too). Why is that? (For windows I use FresnelBlend of IdealRefract and MicrofacetGGX and for opaque objects FresnelBlend of Lambert and MicrofacetGGX. Even if camera sees the emissive material through the window, it is black..)

PS: Just noticed that a "glass mask" is being set during Preprocess. What is the purpose? (Setting it for my transparent material did not help with the emissive light)

Thanks

Can't build with OpenImageIO 1.7

On openSUSE. I know it's not an officially supported platform, but I'll report it nonetheless:

/usr/include/OpenImageIO/simd.h: In function 'OpenImageIO::v1_7::simd::mask4 OpenImageIO::v1_7::simd::operator!(const OpenImageIO::v1_7::simd::mask4&)':
/usr/include/OpenImageIO/simd.h:361:42: error: expression cannot be used as a function
         return _mm_xor_ps (a.m_vec, True());
                                          ^
Makefile:202: recipe for target 'obj/x64/Release/main.o' failed

OS X Build Failing

When I attempt to build with ./premake/osx/premake5 xcode4, I get the following output:

Error: [string "src/_premake_main.lua"]:45: module 'xcode' not found:
    no field package.preload['xcode']
    no file './xcode.lua'
    no file '/usr/local/share/lua/5.1/xcode.lua'
    no file '/usr/local/share/lua/5.1/xcode/init.lua'
    no file '/usr/local/lib/lua/5.1/xcode.lua'
    no file '/usr/local/lib/lua/5.1/xcode/init.lua'
    no file './xcode.so'
    no file '/usr/local/lib/lua/5.1/xcode.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'

Win, Nvidia 1070 and 970: clFinish : CL_INVALID_COMMAND_QUEUE (-36)

On windows 10, with nvidia 1070 and 970, demo app consistently fails with invalid command queue, usually in clFinish but some times in clEnqueueReadBuffer. It renders several iterations and then gets an error. I can see that queue is valid, if I query ref counter, it shows there is 6 or 7. GPU-Z shows 550-600Mb used in 1070, so it shouldn't run out of memory. Few times windows rebooted because of issues with drivers, may be kernels take too much time to compute and gpu doesn't respond in time?

Missing resources ?

Currently getting this error trying to run the app :

Can't load ../Resources/Textures/studio015.hdr image

There's confirmedly no actual /Textures/ Directory to be found in the Resource Directory.

Nondescript "clEnqueueFillBuffer failed" Error

Getting this error immediately when trying the App with no special settings.

GPU : NVidia GTX 550 Ti ( OpenCL 1.2 )

At first i thought this was the error-message from the CLWBuffer Code, but it's not - after some headscratching trying to edit this message with more information, and it seemingly never using the new code changes, it turned out the FireRays.dll also has this exact same error-message embedded.
So i guess this error is coming from inside FireRays.dll instead.

It would be nice to see a more descriptive error in this case, to know what exactly went wrong.
I guess once the full SDK code is available this becomes a non issue :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.