Skip to content

Commit 18158b8

Browse files
committed
AMD RPS SDK Open Beta 1.1 Maintenance Release
1 parent 3118340 commit 18158b8

22 files changed

+958
-60
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ build:
1515
stage: build
1616
script:
1717
- 'del /q ".\external\catch2\scripts\updateDocumentToC.py"'
18-
- 'cmake -S ./ -B ./build -G "Visual Studio 16 2019" -A x64 -DRpsEnableVulkanTests=OFF'
18+
- 'cmake -S ./ -B ./build -G "Visual Studio 16 2019" -A x64 -DBUILD_INSTALLER=TRUE -DRpsEnableVulkanTests=OFF'
1919
- 'cmake --build ./build --config Debug --parallel'
2020
- 'cmake --build ./build --config Release --parallel'
2121
artifacts:

CMakeLists.txt

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@
77

88
cmake_minimum_required(VERSION 3.12.1)
99

10+
# setting cache variables and options should never overwrite normal variables;
11+
# otherwise, user settings set before including rps as a subdirectory can be overwritten.
12+
cmake_policy(SET CMP0126 NEW)
13+
cmake_policy(SET CMP0077 NEW)
14+
1015
option( RpsBuildTests "Enable unit test targets" ON )
1116
option( RpsBuildTools "Enable tool targets" ON )
1217
option( RpsBuildExamples "Enable example targets" ON )
1318
option( RpsEnableVulkan "Enable Vulkan backend" ON )
1419
option( RpsEnableImGui "Enable ImGui" ON)
1520
option( RpsEnableDXAgilitySDK "Enable DX12 Agility SDK" OFF )
21+
option( RpsPackagingIncludeStaticLibs "Include prebuilt static libs during packaging" OFF )
1622
option( RpsEnableDefaultDeviceImpl "Enable default allocator & printer support" ON )
1723

1824
if ( "${CMAKE_GENERATOR_PLATFORM}" STREQUAL "" )
@@ -228,16 +234,18 @@ function( CopyShaders TargetName ShaderFiles SrcFolder )
228234
endforeach()
229235
endfunction()
230236

231-
FindSpirvTools( SPIRV_DXCOMPILER_DLL )
232-
CheckFindFile( SPIRV_DXCOMPILER_DLL ${SPIRV_DXCOMPILER_DLL} )
237+
if ( RpsEnableVulkan )
238+
FindSpirvTools( SPIRV_DXCOMPILER_DLL )
239+
CheckFindFile( SPIRV_DXCOMPILER_DLL ${SPIRV_DXCOMPILER_DLL} )
233240

234-
function( CopySpirvDXC TargetName )
235-
add_custom_command(
236-
TARGET ${TargetName} POST_BUILD
237-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
238-
${SPIRV_DXCOMPILER_DLL}
239-
$<TARGET_FILE_DIR:${TargetName}>/spirv_dxc/dxcompiler.dll)
240-
endfunction()
241+
function( CopySpirvDXC TargetName )
242+
add_custom_command(
243+
TARGET ${TargetName} POST_BUILD
244+
COMMAND ${CMAKE_COMMAND} -E copy_if_different
245+
${SPIRV_DXCOMPILER_DLL}
246+
$<TARGET_FILE_DIR:${TargetName}>/spirv_dxc/dxcompiler.dll)
247+
endfunction()
248+
endif()
241249

242250
if ( WIN32 )
243251

@@ -466,3 +474,7 @@ endif ( )
466474
if ( RpsBuildTools )
467475
add_subdirectory( tools )
468476
endif ( )
477+
478+
if ( RpsBuildExamples )
479+
add_subdirectory( examples )
480+
endif ( )

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ After a successful build:
8787
8888
- By default, the RPSL Explorer binaries can be located at `./build/tools/rpsl_explorer/<config_name>/`. Run `rpsl_explorer.exe` and open an RPSL file to start hacking!
8989
90+
## Getting Started
91+
92+
If you are new to RPS, we recommend reading through our tutorial which you can find at [./docs/tutorial](./docs/tutorial) in this repository and at [https://gpuopen.com/learn/rps-tutorial](https://gpuopen.com/learn/rps-tutorial) on GPUOpen.
93+
94+
After this, you should be well equipped to browse the [test samples](./tests) and let RPS drive the frame graph logic of your own 3D application.
95+
9096
## Documentation
9197
9298
The main sources of documentation for the RPS public APIs are inlined Doxygen-style comments, which can be built into
@@ -96,6 +102,10 @@ HTML documents if Doxygen is installed (tested with Doxygen version 1.9.2):
96102
doxygen
97103
```
98104

105+
## Getting Help
106+
107+
If you are facing any problems that you cannot solve by checking out the documentation or the samples, do not worry. You can contact us by [raising GitHub issues](https://github.com/GPUOpen-LibrariesAndSDKs/RenderPipelineShaders/issues), [@GPUOpen](https://twitter.com/GPUOpen) on Twitter, [@GPUOpen@mastodon.gamedev.place](@[email protected]) on Mastodon and by using [this invitation link](https://discord.gg/sZhDJ2rDa9), you can join our Discord server and chat with the RPS team directly.
108+
99109
## Integration
100110

101111
If the parent project uses CMake, RPS can be added as a subdirectory, e.g.:

ReleaseNotes.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Release Notes
2+
3+
## Version 1.1 (maintenance)
4+
5+
### Bug Fixes
6+
7+
* Add missing execute permissions for rpsl compiler binaries.
8+
* Fixes for symbol exports for dynamically linked rpsl modules.
9+
* Fixes for RPSL explorer file path issues.
10+
* Fixes for RPSL explorer file change notifications.
11+
* Fixes for a number of CMake issues.
12+
13+
## Version 1.1
14+
15+
### Features
16+
17+
* Linux support for the base library and the RPSL compiler.
18+
* Support for dynamically loading Vulkan functions.
19+
* Support for latest stable Agility SDK 1.608.3.
20+
* Automatic marking of the discard flags to accesses.
21+
22+
### Bug Fixes
23+
24+
* Fix prioritization of queues for node scheduling.
25+
* Fixes for MinGW support.
26+
* Fixes for D3D12 heap creation.
27+
* Fixes for ImGui Settings parsing.
28+
* Fixes for latest ImGui version.
29+
* Fixes for dynamic render graphs.
30+
* Fixes for dynamic node declarations.
31+
* Fixes for multithreading with dynamically declared nodes.
32+
33+
### Other
34+
35+
* A comprehensive tutorial to get started with RPS.
36+
* Improved documentation.
37+
38+
39+
## Version 1.0 (maintenance)
40+
41+
### Bug Fixes
42+
43+
* Fixes for D3D11 UAV arg unwrapper.
44+
45+
### Other
46+
47+
* Update Vulkan version requirements.
48+
* Include setup hints for first time usage.
49+
* Improve documentation.
50+
51+
### Other
52+
53+
## Version 1.0
54+
55+
* Initial release. Please check out [GPUOpen](https://gpuopen.com/learn/rps_1_0/) for more info.

examples/hello_triangle.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,12 @@ class HelloTriangle : public RpsAfxD3D12Renderer
217217

218218
uint32_t argDataCount = 1;
219219

220+
float time = 0.f;
221+
220222
if (c_bBreathing)
221223
{
222224
argDataCount = 2;
223-
float time = float(RpsAfxCpuTimer::SecondsSinceEpoch().count());
225+
time = float(RpsAfxCpuTimer::SecondsSinceEpoch().count());
224226
argData[1] = &time;
225227
}
226228

7.04 KB
Binary file not shown.

0 commit comments

Comments
 (0)