Skip to content

Commit 533bfee

Browse files
committed
Revert commits 0009e41..17bbad3 inclusive
These commits try bumping the version up to 4.0, but they lack any kind of changelog, and most importantly, lack the sources. Author just removed sources, dumped some binaries leaving to at least one major regression, and somehow that got through These changes clearly haven't got any peer review and shouldn've have been applied in the first place. Let's just revert them. Fixes: GPUOpen-LibrariesAndSDKs#206 Fixes: GPUOpen-LibrariesAndSDKs#207 Signed-off-by: Konstantin Kharlamov <[email protected]>
1 parent 0009e41 commit 533bfee

40 files changed

+161
-20272
lines changed

.gitignore

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*.vcxproj
2+
App/App.vcxproj.user
23
*.filters
34
*.obj
45
*.tlog
@@ -11,12 +12,29 @@
1112
*.cache
1213
*.idb
1314
*.user
15+
Bin/Debug/x64/App64D.exe
16+
Bin/Release/x64/App64.exe
1417
*.dll
1518
*.exe
1619
*.opendb
1720
*.db
1821
*.sln
1922
*.d
23+
2024
*.o
25+
2126
*.a
22-
*.so
27+
28+
*.so
29+
30+
App/Makefile
31+
32+
Bin/Release/x64/
33+
34+
CLW/Makefile
35+
36+
Calc/Makefile
37+
38+
Gtest/Makefile
39+
40+
Makefile

README.md

Lines changed: 142 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,156 @@
1-
# RadeonRays 4.0
1+
# Important
2+
Sample renderer has been moved from RadeonRays repo into a separate one here: [Baikal](https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRender-Baikal)
23

3-
## Important
4+
# Summary
5+
Radeon Rays is ray intersection acceleration library provided by AMD which makes the most of the hardware and allows for efficient ray queries. Three backends support a range of use cases.
46

5-
RadeonRays 2.0 SDK (OpenCL) has been moved to 'legacy-2.0' branch.
7+
# Description
8+
Radeon Rays has three backends,
9+
- OpenCL
10+
- Vulkan
11+
- Embree
612

7-
## Summary
13+
OpenCL uses GPUs and CPUs that support at least OpenCL 1.2
14+
Vulkan supports GPUs with Vulkan 1.0 or greater
15+
Embree uses Intels Optimized CPU ray casting software for x86 and x64 devices
816

9-
RadeonRays is a ray intersection acceleration library for heterogeneous hardware and software systems. AMD developed RadeonRays to help developers make the most of GPU, APUs and CPUs, and to eliminate the need to maintain hardware-dependent code.
17+
The source tree consist of the following subdirectories:
1018

11-
The library offers a well-defined C API for scene building and performing asynchronous ray intersection queries.
19+
- Radeon Rays: library binaries
1220

13-
RadeonRays is not limited to AMD hardware, a specific operating system or graphics framework. The library helps assure compatibility and best performance across a wide range of hardware platforms.
21+
- App: Standalone sample/application featuring Radeon Rays OpenCL to implement a path tracer.
1422

15-
## Backends
23+
# Preliminaries
24+
## System requirements
25+
The library is cross-platform and the following compilers are supported:
1626

17-
The library supports the following graphics and GPGPU frameworks as its backends:
27+
- Visual Studio 2015
1828

19-
- DirectX 12
20-
- Metal
21-
- Vulkan
29+
- Xcode 4 and later
30+
31+
- GCC 4.8 and later
32+
33+
- CMake 3.8 and later
34+
35+
- Python (for --embed_kernels option only)
36+
37+
- [Anvil](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil) for Vulkan backend only
38+
39+
- [Embree](https://github.com/embree/embree) for Embree backend only
40+
41+
- AMD OpenCL APP SDK 2.0+ is also required for the standalone app build.
42+
43+
## Set up OpenCL
44+
Set environmental variable. GPU_MAX_ALLOC_PERCENT = 100. This is necessary to allocate a large buffers.
45+
46+
## Set up Vulkan
47+
Anvil is set as a submodule and will be downloaded by using `git submodule update --init --recursive` from the command line.
48+
Some gui clients (github app for example) may do this automatically for you
49+
50+
## Multiple Backends
51+
You can either choose a particular backend (OpenCL, Vulkan or Embree) or compile any combination of them and pick at run-time. By default OpenCL only will be compiled in (see Options below to enable other backends).
52+
At runtime OpenCL devices will appear first, then Vulkan devices (if enabled) with the Embree device last (if enabled).
53+
54+
If the default behaviour is not what you want, an API call `IntersectionApi::SetPlatform( backend )` takes a backend argument bitfield allows you to specify exactly which backends device will be enumurated.
55+
56+
## Build
57+
58+
### Windows
59+
- Create Visual Studio 2015 Solution
60+
61+
`cmake -G "Visual Studio 14 2015 Win64"`
62+
63+
### OSX
64+
- Install Homebrew
65+
66+
`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`
67+
68+
- Install OpenImageIO
69+
70+
`brew install homebrew/science/openimageio`
71+
72+
- Make build folder and generate make files
73+
74+
`mkdir build`
75+
76+
`cd build`
77+
78+
`cmake -DCMAKE_BUILD_TYPE=<Release or Debug> ..`
79+
80+
`make`
81+
82+
### Linux
83+
on Ubuntu:
84+
install complimentary libraries:
85+
86+
`sudo apt-get install g++`
87+
88+
install build dependencies:
89+
90+
`sudo apt-get install libopenimageio-dev libglew-dev freeglut3-dev`
91+
92+
Also make sure you have the `opencl-dev` headers installed. Then create the Makefile:
93+
94+
`mkdir build`
95+
96+
`cd build`
97+
98+
`cmake -DCMAKE_BUILD_TYPE=<Release ro Debug> ..`
99+
100+
`make`
101+
102+
### Options
103+
Available premake options:
104+
- `RR_USE_EMBREE` will enable the embree backend. Embree device will be the last one in IntersectionApi device list.
105+
example of usage :
106+
`cmake -DCMAKE_BUILD_TYPE=<Release ro Debug> -DRR_USE_EMBREE=ON ..`
107+
108+
- `RR_USE_OPENCL` will enable the OpenCL backend. If no other option is provided, this is the default
109+
110+
- `RR_SHARED_CALC` will build Calc (Compute Abstraction Layer) as a shared object. This means RadeonRays library does not directly depend on OpenCL and can be used on the systems where OpenCL is not available (with Embree backend).
111+
112+
## Run unit tests
113+
They need to be run from the <Radeon Rays_SDK path>/UnitTest path.
114+
CMake should be runned with the `RR_SAFE_MATH` option.
115+
116+
# Hardware support
117+
118+
The library has been tested on the following hardware and OSes:
119+
120+
## Linux
121+
- Ubuntu Linux 14.04
122+
- AMD FirePro driver 15.201: W9100, W8100, W9000, W7000, W7100, S9300x2, W5100
123+
- AMD Radeon driver 15.302: R9 Nano, R9 Fury X, R9 290
124+
- NVIDIA driver 352.79: GeForce GTX970, Titan X
125+
126+
## Windows
127+
- Windows 7/8.1/10
128+
- AMD FirePro driver 15.201: W9100, W8100, W9000, W7000, W7100, S9300x2, W5100
129+
- AMD Radeon driver 16.4: R9 Nano, R9 Fury X, R9 290, Pro Duo
130+
- NVIDIA driver 364.72: GeForce GTX970, Titan X
131+
132+
## OSX
133+
- OSX El Capitan 10.11.4
134+
- Mac Pro (Late 2013) AMD FirePro D500 x2
135+
- Macbook Pro Retina 13" (Early 2013) Intel HD 4300
136+
- Macbook 12" (Early 2015) Intel HD 5300
137+
138+
---
139+
# Known Issues
140+
## Vulkan
22141

23-
## System Requirements
142+
- Currently the public Anvil has a [bug](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil/issues/3) that causes a crash on exit. Its already been fixed in an internal branch which will which will move to public when its cooked and ready. For now just comment out the free of the layout manager in Anvil::BasePipelineManager::Pipeline::release_vulkan_objects()
24143

25-
RadeonRays requires a PC with the following software and hardware:
144+
## Windows
26145

27-
- DirectX12: a 64-bit version of Windows® 10, and a GPU and drivers that supports DirectX12 features
28-
- Metal: a 64-bit version of MacOS® X 10.15 or later, and a discrete GPU that supports the MPS acceleration structure
29-
- Vulkan: a 64-bit version of Windows® 10 or Linux, and a GPU and drivers that support Vulkan version 1.2
146+
## OSX
30147

31-
## Documentation
148+
## Linux
32149

33-
[Documentation page](https://radeon-pro.github.io/RadeonProRenderDocs/rr/about.html)
150+
- If <CL/cl.h> is missing try to specify OpenCL SDK location.
151+
- If your are experiencing problems creating your CL context with a default config chances are CL-GL interop is broken on your system, try running the sample app with -interop 0 command line option (expect performance drop).
152+
153+
AMD:
154+
`export $AMDAPPSDKROOT=<SDK_PATH>`
155+
NVIDIA:
156+
`export $CUDA_PATH=<SDK_PATH>`

radeonrays/bin/WinPixEventRuntime.dll

-36.2 KB
Binary file not shown.

radeonrays/bin/dxcompiler.dll

-14.7 MB
Binary file not shown.

radeonrays/bin/fmt.dll

-157 KB
Binary file not shown.

radeonrays/bin/libradeonrays.dylib

-634 KB
Binary file not shown.

radeonrays/bin/radeonrays.dll

-2.21 MB
Binary file not shown.

0 commit comments

Comments
 (0)