Skip to content

newBuildSystem #852

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 552 commits into
base: newBuildSystem
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
552 commits
Select commit Hold shift + click to select a range
da3f711
Fail cmake generation if NBL_WITH_DOCKER is enabled and the host is n…
YasInvolved Jan 7, 2025
4681838
Changed NBL_WITH_DOCKER description
YasInvolved Jan 7, 2025
917fe13
Remove docker installer after installation
YasInvolved Jan 7, 2025
96b0cf8
start docker daemon right away after installation, handle errors
YasInvolved Jan 7, 2025
1feabed
png loader: fix grayscale/alpha images bug
alichraghi Jan 8, 2025
eedf04a
IApplicationFramework update
AnastaZIuk Jan 8, 2025
2fb8252
Removed float64_t partial specializations
Przemog1 Jan 8, 2025
89fc73b
png loader: don't convert grayscale images to rgb
alichraghi Jan 8, 2025
116f377
Updated NSC readme
YasInvolved Jan 8, 2025
7924071
Merge pull request #815 from Devsh-Graphics-Programming/yas_nsc_readm…
AnastaZIuk Jan 8, 2025
96efff4
fix frisvad mat, lp_norm loop
keptsecret Jan 9, 2025
e77ae53
TextRendering.cpp small change + update examples
Erfan-Ahmadi Jan 9, 2025
04e7c26
update 3rdparty/dxc/dxc submodule
AnastaZIuk Jan 9, 2025
4b1926b
Update README.md
AnastaZIuk Jan 10, 2025
4c0536f
Integrated concepts into intrinsics.hlsl functions and fixed some emu…
Przemog1 Jan 10, 2025
76fbce1
Merge branch 'maths_for_bxdfs_hlsl' of https://github.com/Devsh-Graph…
Przemog1 Jan 10, 2025
6401e53
Addressed PR review comments
Fletterio Jan 10, 2025
d19b206
check docker daemon status
YasInvolved Jan 11, 2025
848d4a5
calldocker helper macro
YasInvolved Jan 11, 2025
6de984e
create docker_default network if it doesn't exist
YasInvolved Jan 11, 2025
987a5de
Merge pull request #810 from Devsh-Graphics-Programming/bad_capabilit…
devshgraphicsprogramming Jan 13, 2025
fdb7904
Move some HLSL stuff to CPP-shared
Fletterio Jan 13, 2025
4463278
Merge branch 'master' into more_fft_utils
Fletterio Jan 13, 2025
6b8714d
Moved readme over
Fletterio Jan 14, 2025
18c3257
removed dupe xoroshiro.hlsl
keptsecret Jan 14, 2025
c0531fb
fix length_helper
keptsecret Jan 14, 2025
69ff8db
Saving work
Przemog1 Jan 14, 2025
19990e4
Merge branch 'maths_for_bxdfs_hlsl' of https://github.com/Devsh-Graph…
Przemog1 Jan 14, 2025
b598b40
Resolved conflicts, merged master
Przemog1 Jan 14, 2025
d0ed313
Seeing iof this fixes Markdown issue in gh readme
Fletterio Jan 14, 2025
d4dc129
No line break sin latex math for gh readmes
Fletterio Jan 14, 2025
6edab6d
Even worse, no two $ math mode in latex readme
Fletterio Jan 14, 2025
036c7dd
Going insane at GH readme not parding this well
Fletterio Jan 14, 2025
e8f46dd
Fixed
Fletterio Jan 14, 2025
d999bbd
moved helper macros to cmake/common.cmake, added slightly more verbos…
YasInvolved Jan 14, 2025
1bc700f
Saving work
Przemog1 Jan 15, 2025
d7a9e13
don't compile HLSL `assert` without `NBL_DEBUG`
Jan 15, 2025
d6f83d4
-1 and +1 mismatched, causing indexing of scratch accessor to start a…
Jan 15, 2025
da80234
Merge remote-tracking branch 'remotes/origin/more_fft_utils'
Jan 16, 2025
0e4aef8
post merge submodule update
Jan 16, 2025
6fa23b1
change one thing in FFT Bloom
Jan 16, 2025
cc7a95d
Refactored tgmath helpers
Przemog1 Jan 16, 2025
bd99399
Refactored tgmath helpers
Przemog1 Jan 16, 2025
bdc0e9e
Removed constraints from `tgmath.hlsl` and `intrinsics.hlsl` functions
Przemog1 Jan 17, 2025
d886e46
Refactored `findMSB` and `findLSB`
Przemog1 Jan 17, 2025
8c0707a
Fixes and stuff
Przemog1 Jan 17, 2025
4faa882
Refactored `lerp`
Przemog1 Jan 17, 2025
eee9904
Update accessor concepts
Fletterio Jan 17, 2025
83db408
move E_TEXTURE_CLAMP into hlsl headers
alichraghi Jan 17, 2025
88a3752
Updated examples_tests
Przemog1 Jan 18, 2025
6a60ac4
Resolved conflicts, merged master
Przemog1 Jan 18, 2025
19973ac
box_blur: move into here from example code
alichraghi Jan 18, 2025
5518e01
Address all PR comments
Fletterio Jan 20, 2025
0c2ed82
Moved `bitReverseAs` to `intrinsics.hlsl`
Przemog1 Jan 20, 2025
468f21c
Added `extent` template specialization for vectors
Przemog1 Jan 20, 2025
0f8bcac
Merge pull request #818 from Devsh-Graphics-Programming/more_fft_utils
devshgraphicsprogramming Jan 21, 2025
a752c31
Code cleanup
Przemog1 Jan 21, 2025
2ef3019
Updated examples_tests
Przemog1 Jan 21, 2025
2e52107
FFT readme update
Fletterio Jan 21, 2025
ae5dbad
Update examples submodule ptr
Fletterio Jan 21, 2025
d2adf17
prefix_sum_blur: address reviews
alichraghi Jan 22, 2025
78d304c
Updated examples_tests
Przemog1 Jan 22, 2025
dcfc25b
Improved tgmath vector specializations
Przemog1 Jan 22, 2025
2782d8d
FFT readme update and accessor concept change to remove memory barriers
Fletterio Jan 22, 2025
eccc6e9
Fixes
Przemog1 Jan 22, 2025
a46b9b0
FFT readme update
Fletterio Jan 22, 2025
b65dc7f
box_sampler: rework ETC_REPEAT
alichraghi Jan 23, 2025
6f74af2
box_sampler: simplify ETC_MIRROR
alichraghi Jan 24, 2025
75ffca1
blake3: add reset()
alichraghi Jan 24, 2025
43323a6
Merge pull request #822 from Devsh-Graphics-Programming/ali_blake_reset
AnastaZIuk Jan 24, 2025
b1f2827
box_sampler: update ETC_REPEAT
alichraghi Jan 24, 2025
45d97fd
Merge pull request #819 from Devsh-Graphics-Programming/ali_blur3
devshgraphicsprogramming Jan 24, 2025
bacb479
post Prefix Sum Bloom merge submodule update
Jan 24, 2025
cb8c98b
Fixes
Przemog1 Jan 25, 2025
8dd6918
Fixes
Przemog1 Jan 25, 2025
f4b2626
Update submodule pointer
Fletterio Jan 25, 2025
0c9dfca
Merge branch 'master' into ali_lib_shader
alichraghi Jan 27, 2025
ead1199
Implemented `frac` and `modf`
Przemog1 Jan 27, 2025
c423316
don't beat the dead horse
alichraghi Jan 27, 2025
ad87186
Updated examples
Przemog1 Jan 28, 2025
cb2ae3f
Updated examples_tests
Przemog1 Jan 28, 2025
8bdc6c8
First commit
Fletterio Jan 29, 2025
f176060
Updated examples_tests
Przemog1 Jan 29, 2025
9c1a22f
IGPUShader: add `setShaderStage` method
alichraghi Jan 29, 2025
c95d042
Fixes
Przemog1 Jan 29, 2025
b103ae1
Checkpoint: growable linked list (untested)
Fletterio Jan 29, 2025
2c90578
Adds resizable cache (untested)
Fletterio Jan 29, 2025
f1962e5
Add new resizable lrucache
Fletterio Jan 29, 2025
eab471d
Simplify API by building a single doublylinkedlist
Fletterio Jan 30, 2025
2f781b8
Added more tgmath functions
Przemog1 Jan 30, 2025
1e05ae4
video: update profiles
alichraghi Jan 30, 2025
3d3d31f
Added more intrinsics.hlsl functions
Przemog1 Jan 30, 2025
9d8de81
Erf fix
Przemog1 Jan 31, 2025
68ca358
video: remove bad report and exclude android from core profile
alichraghi Jan 31, 2025
4786926
Merge pull request #824 from Devsh-Graphics-Programming/ali_profiles
devshgraphicsprogramming Jan 31, 2025
43b271d
Refactored AUTO_SPECIALIZE_TRIVIAL_CASE_HELPER macro
Przemog1 Jan 31, 2025
535c5f2
Cad example compiles again
Przemog1 Jan 31, 2025
7cec5bf
Fixes data leak in old cache impl as well
Fletterio Jan 31, 2025
eac5159
Fix false positive aspect mask error raising
Crisspl Feb 2, 2025
72bd107
Merge pull request #826 from Crisspl/quick-fix
devshgraphicsprogramming Feb 2, 2025
75d5e6b
Fix
Przemog1 Feb 3, 2025
2b1701a
Resolved conflicts, merged master
Przemog1 Feb 3, 2025
81e7214
Implemented modfStruct and frexpStruct
Przemog1 Feb 3, 2025
9eec70c
video: adjust device_limits/features to the updated profiles
alichraghi Feb 3, 2025
c8cf8f4
video: correct limits/features values
alichraghi Feb 4, 2025
fb5ec5d
Moved `output_structs.hlsl`
Przemog1 Feb 4, 2025
c946db5
Implemented pack and unpack functions
Przemog1 Feb 4, 2025
c1021c8
Moved *struct functions to `tgmath.hlsl`
Przemog1 Feb 4, 2025
85875e5
Moved `tgmath_impl.hlsl`
Przemog1 Feb 4, 2025
25ef700
cmake: no longer dies when NBL_SANITIZE_ADDRESS is ON
alichraghi Feb 5, 2025
d8e5751
video: free command buffers when destroyed
alichraghi Feb 5, 2025
8b67720
Merge pull request #830 from Devsh-Graphics-Programming/ali_cmd
devshgraphicsprogramming Feb 5, 2025
7e471b4
video: fix remaining limits/features/checks
alichraghi Feb 5, 2025
5a86bd3
Fixed allocator move constructor bug
Fletterio Feb 6, 2025
0c91969
Correction
Przemog1 Feb 6, 2025
8d92ed2
Fixed matrix multiplication
Przemog1 Feb 6, 2025
821a5ed
Updated examples_tests
Przemog1 Feb 6, 2025
644c1db
Merge branch 'cpp_compat_intrinsic_functions' into new_tgmath
Przemog1 Feb 6, 2025
6ff4a4e
Fixed ef64 cast
Przemog1 Feb 7, 2025
17c9dfb
Merge pull request #831 from Devsh-Graphics-Programming/emulated_floa…
Przemog1 Feb 7, 2025
a841e4e
entry for new readme
AnastaZIuk Feb 7, 2025
64e6bff
Merge branch 'readme' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Feb 7, 2025
ff07cd7
Update Vulkan headers to latest and examples_tests too
Feb 7, 2025
f75cb77
Merge branch 'master' into ali_dl
alichraghi Feb 7, 2025
6959216
video: check for maintenance5 and graphics_pipline_library
alichraghi Feb 7, 2025
72ae6a0
Squash: Create nabla-glow.svg with inline Nabla logo & animated glow …
AnastaZIuk Feb 7, 2025
1e4d160
Update README.md
k3kosz Feb 8, 2025
ae9fb9f
Update README.md
k3kosz Feb 8, 2025
ac430e0
Update README.md
AnastaZIuk Feb 8, 2025
834d7c1
Update README.md
AnastaZIuk Feb 8, 2025
1f16cf7
Update README.md
k3kosz Feb 9, 2025
237fbc1
Added trig functions
Przemog1 Feb 10, 2025
d05ba95
Changes to allocators talked over with Matt
Fletterio Feb 10, 2025
47c727e
README Erfan's Tasks (#834)
Erfan-Ahmadi Feb 11, 2025
16168fb
Update README.md
AnastaZIuk Feb 11, 2025
459c208
Update README.md, toc
AnastaZIuk Feb 11, 2025
f58e484
Update README.md
AnastaZIuk Feb 11, 2025
668eff7
Merge pull request #833 from Devsh-Graphics-Programming/readme
AnastaZIuk Feb 11, 2025
c13eda6
Update README.md
AnastaZIuk Feb 11, 2025
ed2401d
Update README.md
AnastaZIuk Feb 11, 2025
2cbb803
Update README.md
AnastaZIuk Feb 11, 2025
530e3f6
Corrections
Przemog1 Feb 11, 2025
b38ebe3
Updated examples
Przemog1 Feb 11, 2025
6efd7e9
update examples_tests
Erfan-Ahmadi Feb 12, 2025
3483e74
update examples
Erfan-Ahmadi Feb 19, 2025
74a59fb
ILogicalDevice: add createShader and remove IGPUShader->setShaderStage()
alichraghi Feb 19, 2025
16c5d3f
Merge branch 'master' into ali_lib_shader
alichraghi Feb 19, 2025
798705c
ILogicalDevice: indent switch cases
alichraghi Feb 20, 2025
60cf8a0
ILogicalDevice: move SPIR-V content type check to compileShader
alichraghi Feb 20, 2025
2bc145c
update examples
Erfan-Ahmadi Feb 21, 2025
02cacd2
ILogicalDevice: check for `compileShader` result
alichraghi Feb 21, 2025
43adb6b
Merge pull request #754 from Devsh-Graphics-Programming/ali_lib_shader
devshgraphicsprogramming Feb 21, 2025
105a553
post merge submodule pointer update
Feb 21, 2025
b8945c9
Saving work
Przemog1 Feb 21, 2025
a1034bb
Resolved conflicts, merged master
Przemog1 Feb 21, 2025
cf3e18d
Corrections
Przemog1 Feb 21, 2025
2b861ea
Fix
Przemog1 Feb 22, 2025
7195728
Fixed example 62
Przemog1 Feb 22, 2025
9a50c4d
update DXC to our "fixed" version, also make sure everyone is using `…
Feb 24, 2025
cc03dc9
Fixed example 28
Przemog1 Feb 24, 2025
87f627b
Updated examples
Przemog1 Feb 24, 2025
70f0abb
Fixed emulated float
Przemog1 Feb 24, 2025
f7c4846
Merge pull request #821 from Devsh-Graphics-Programming/new_tgmath
devshgraphicsprogramming Feb 24, 2025
a099fa1
post merge examples_tests submodule update
Feb 24, 2025
dcbff65
Fix address allocator's move constructors
Fletterio Feb 24, 2025
e3981d9
Merge branch 'master' into resizable_cache
Fletterio Feb 24, 2025
e9f2b22
Resolved conflicts, merged master
Przemog1 Feb 25, 2025
ab16769
Updated examples
Przemog1 Feb 25, 2025
ae281be
Merge pull request #841 from Devsh-Graphics-Programming/new_tgmath
Przemog1 Feb 25, 2025
84efa72
fix an issue with NBL_NSC_INSTALL_EXECUTABLES_TEST, add `create-produ…
AnastaZIuk Feb 26, 2025
995f666
Merge branch 'yas_with_docker_option' of github.com:Devsh-Graphics-Pr…
AnastaZIuk Feb 26, 2025
5bebeb7
post-yas pull updates, redirect docker's macro output to DOCKER_OUTPU…
AnastaZIuk Feb 26, 2025
74b37e2
Merge pull request #816 from Devsh-Graphics-Programming/workgroup_sca…
devshgraphicsprogramming Feb 26, 2025
38312cf
Merge pull request #813 from Devsh-Graphics-Programming/ali_png
devshgraphicsprogramming Feb 26, 2025
93b2626
Merge remote-tracking branch 'origin/master' into ali_dl
alichraghi Feb 27, 2025
2dd0e43
fix prev commit not adding ShaderCoreProperties2AMD to pNextChain
alichraghi Feb 27, 2025
880e6c2
correctly enable maintenance5/graphicsPipelineLibrary features
alichraghi Feb 27, 2025
76af008
update create-production-compiler-explorer target, label final NSC pr…
AnastaZIuk Feb 27, 2025
0d09911
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla
AnastaZIuk Feb 27, 2025
c82edf3
Fixed some hlsl functions
Przemog1 Feb 27, 2025
584327e
added docker to submodules/update.cmake /Arek
YasInvolved Feb 27, 2025
b473f95
Fix
Przemog1 Feb 27, 2025
ca7a610
Merge pull request #843 from Devsh-Graphics-Programming/yas_nsc_final…
AnastaZIuk Feb 28, 2025
c31fe06
create hlsl-basic-compile-payload.json & use endpoint checks to produ…
AnastaZIuk Feb 28, 2025
ae96222
Corrections
Przemog1 Feb 28, 2025
4f98026
Merge pull request #842 from Devsh-Graphics-Programming/hlsl_func_fixes
devshgraphicsprogramming Mar 2, 2025
a64de74
video: hoist vulkan12Properties scope
alichraghi Mar 3, 2025
6e15e45
Fixed float16_t concepts
Przemog1 Mar 3, 2025
2ae81f4
`is_scalar_v` and `is_floating_point_v` now are true for `float16_t`
Przemog1 Mar 4, 2025
8445511
Merge pull request #844 from Devsh-Graphics-Programming/hlsl_func_fixes
devshgraphicsprogramming Mar 4, 2025
4a83d2a
video: add comment for why the assert exists
alichraghi Mar 4, 2025
e37af57
video: dont require shaderInputAttachmentArrayNonUniformIndexing
alichraghi Mar 4, 2025
3f292b7
Merge pull request #829 from Devsh-Graphics-Programming/ali_dl
devshgraphicsprogramming Mar 4, 2025
2f21555
revert shader denorm changes
keptsecret Mar 5, 2025
0b7452c
added back missing shader denorm, rounding mode stuff
keptsecret Mar 5, 2025
d0d3c40
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla …
Przemog1 Mar 5, 2025
fca1dee
Merge branch 'revert-some-device-limits' of github.com:Devsh-Graphics…
Przemog1 Mar 5, 2025
ed50b15
added missing property check
keptsecret Mar 6, 2025
e0ceb25
only check 16bit float control if 16bit floats can be used
devshgraphicsprogramming Mar 6, 2025
10c3cbb
dont expose `shaderSignedZeroInfNanPreserveFloat16` but don't require…
devshgraphicsprogramming Mar 6, 2025
c15b84e
Merge pull request #846 from Devsh-Graphics-Programming/revert-some-d…
devshgraphicsprogramming Mar 6, 2025
9f935ef
do not use `core::bitflag` or non HLSL stuff for the default values o…
Mar 6, 2025
c9b6c0e
Merge pull request #847 from Devsh-Graphics-Programming/master
devshgraphicsprogramming Mar 6, 2025
5b6c705
Merge branch 'dxc_spirv_references' of github.com:Devsh-Graphics-Prog…
Przemog1 Mar 6, 2025
8eaf3ff
fix some corner cases causing crashes in `CHLSLCompiler`
Mar 6, 2025
c06e398
Merge branch 'dxc_spirv_references' of github.com:Devsh-Graphics-Prog…
Przemog1 Mar 6, 2025
4136f7d
Updated CMakeLists
Przemog1 Mar 6, 2025
947475f
Merge pull request #848 from Devsh-Graphics-Programming/dxc_spirv_ref…
Przemog1 Mar 6, 2025
7152fdd
get fixes to DXC's OpDecorate and OpMemberDecorate
Mar 6, 2025
4e87727
allow our HLSL compiler to target a different SPIR-V version than 1.6…
Mar 6, 2025
9caf185
start some bakward compatibility SPIR-V capability macros
Mar 6, 2025
0d93567
Revised some PR review comments, pending bug related to constructors …
Fletterio Mar 6, 2025
0a92d23
Added `fragment_shader_barycentric.hlsl`
Przemog1 Mar 6, 2025
62b4be3
Merge pull request #849 from Devsh-Graphics-Programming/full_inline_s…
devshgraphicsprogramming Mar 6, 2025
4de03b9
draft of backport to uint32_t2
Mar 6, 2025
2e6bffa
Added OpIAddCarry and OpISubBorrow intrinsics
Przemog1 Mar 6, 2025
eba922c
it actually works for access chains!
Mar 6, 2025
c093c4d
- Fix memory leaks in new Cache
Fletterio Mar 6, 2025
9a1c347
don't bitcast when doing OpAccessChain
Mar 6, 2025
02f18a2
everything but the macros are ready
Mar 6, 2025
a297411
correct small bugs in `nbl::hlsl:::mpl`
Mar 6, 2025
ac82f19
https://github.com/microsoft/DirectXShaderCompiler/issues/7184 workar…
Mar 6, 2025
f762722
Merge pull request #851 from Devsh-Graphics-Programming/spirv_intrinsics
devshgraphicsprogramming Mar 7, 2025
09c0483
make addCarry and subBorrow from SPIR-V follow our naming convention
Mar 7, 2025
60df17b
HLSL STL cleanup crusade
Mar 7, 2025
664c129
fix `is_spirv_type`
Mar 7, 2025
f3a6981
fix bda_accessor.hlsl
Mar 7, 2025
79a40be
get boost to generate struct declarations
Mar 7, 2025
a8ff88f
fix up NBL_HLSL_DEFINE_STRUCT to allow for methods, make some notes a…
Mar 7, 2025
a67f92a
alignment_of can no longer be an alias on the C++ side
Mar 7, 2025
b140e26
fix final little things after testing with real world usage
Mar 7, 2025
15c6be7
pull master into newBuildSystem
YasInvolved Mar 8, 2025
5dd44f6
pre-merge submodule pointer update
Mar 10, 2025
72fcc93
forgot to add a new HLSL header to the builtin list
Mar 10, 2025
683f622
Merge pull request #850 from Devsh-Graphics-Programming/full_inline_s…
devshgraphicsprogramming Mar 10, 2025
a634252
Use allocator_traits destructor, refactor address allocator storage c…
Fletterio Mar 10, 2025
a495dae
Merge branch 'newBuildSystem' of github.com:Devsh-Graphics-Programmin…
YasInvolved Mar 11, 2025
df80854
generate define.h during configuration time
YasInvolved Mar 11, 2025
8af6037
removed TODO
YasInvolved Mar 11, 2025
095cd5e
update examples
Erfan-Ahmadi Mar 13, 2025
db64841
update examples
Erfan-Ahmadi Mar 13, 2025
0ecda6a
Merge branch 'resizable_cache'
Erfan-Ahmadi Mar 13, 2025
ba99432
hardcode nabla source instead of using glob_recurse
YasInvolved Mar 14, 2025
8f46b80
update branch
YasInvolved Mar 14, 2025
b1f02c5
new preprocessor workaround
YasInvolved Mar 18, 2025
d558889
added target that generates build_info.zip for issue reports
YasInvolved Mar 20, 2025
99909ab
move system_info target to cmake/buildinfo/buildinfo.cmake
YasInvolved Mar 27, 2025
551f3c7
improved data collection in system_info target
YasInvolved Mar 27, 2025
2b62f2a
use correct paths, stop deleting some of dependencies
YasInvolved Mar 27, 2025
3a94d58
change system_info target name to build_info
YasInvolved Mar 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,6 @@
[submodule "3rdparty/libdeflate"]
path = 3rdparty/libdeflate
url = [email protected]:Devsh-Graphics-Programming/libdeflate.git
[submodule "docker/compiler-explorer"]
path = docker/compiler-explorer
url = [email protected]:Devsh-Graphics-Programming/Compiler-Explorer-Docker.git
Empty file modified 3rdparty/CMakeLists.txt
100755 → 100644
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
Binary file not shown.
68 changes: 68 additions & 0 deletions 3rdparty/ngfx/ngfx.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
option(NBL_BUILD_WITH_NGFX "Enable NGFX build" OFF)

# NOTE: on windows default installation path is:
# "C:/Program Files/NVIDIA Corporation/Nsight Graphics <version>/SDKs/NsightGraphicsSDK" <- define as "NGFX_SDK" environment variable
# then you can pick SDK version with "NGFX_SDK_VERSION" cache variable (CMake GUI list supported)

if(NBL_BUILD_WITH_NGFX)
if(NOT DEFINED NGFX_SDK)
if(NOT DEFINED ENV{NGFX_SDK})
message(FATAL_ERROR "\"NGFX_SDK\" environment variable must be defined to build with NBL_BUILD_WITH_NGFX enabled!")
endif()
set(NGFX_SDK "$ENV{NGFX_SDK}")
endif()
cmake_path(NORMAL_PATH NGFX_SDK OUTPUT_VARIABLE NGFX_SDK)

if(NOT EXISTS "${NGFX_SDK}")
message(FATAL_ERROR "Found \"NGFX_SDK\" environment variable but it is invalid, env:NGFX_SDK=\"${NGFX_SDK}\" doesn't exist!")
endif()

file(GLOB ENTRIES "${NGFX_SDK}/*")

set(NGFX_VERSIONS "")
foreach(ENTRY ${ENTRIES})
if(IS_DIRECTORY ${ENTRY})
list(APPEND NGFX_VERSIONS ${ENTRY})
endif()
endforeach()

if(NOT NGFX_VERSIONS)
message(FATAL_ERROR "Could not find any NGFX SDK Version!")
endif()

list(TRANSFORM NGFX_VERSIONS REPLACE "${NGFX_SDK}/" "")
list(SORT NGFX_VERSIONS)
list(GET NGFX_VERSIONS -1 LATEST_NGFX_VERSION)

# on the cache variable init pick the latest version, then let user pick from list
set(NGFX_SDK_VERSION "${LATEST_NGFX_VERSION}" CACHE STRING "NGFX SDK Version")
set_property(CACHE NGFX_SDK_VERSION PROPERTY STRINGS ${NGFX_VERSIONS})

set(NGFX_SDK_VERSION "$CACHE{NGFX_SDK_VERSION}")
set(NGFX_SDK_BASE "${NGFX_SDK}/${NGFX_SDK_VERSION}")

# TODO: wanna support more *host* platforms? (*)
# NOTE: also I'm hardcoding windows x64 library requests till I know the answer for (*)
find_file(NBL_NGFX_INJECTION_HEADER NGFX_Injection.h PATHS ${NGFX_SDK_BASE}/include)
find_file(NBL_NGFX_INJECTION_DLL NGFX_Injection.dll PATHS ${NGFX_SDK_BASE}/lib/x64)
find_file(NBL_NGFX_INJECTION_IMPORT_LIBRARY NGFX_Injection.lib PATHS ${NGFX_SDK_BASE}/lib/x64)

if(NBL_NGFX_INJECTION_HEADER AND NBL_NGFX_INJECTION_DLL AND NBL_NGFX_INJECTION_IMPORT_LIBRARY)
message(STATUS "Enabled build with NVIDIA Nsight Graphics SDK ${NGFX_SDK_VERSION}\nlocated in: \"${NGFX_SDK_BASE}\"")
else()
message(STATUS "Could not enable build with NVIDIA Nsight Graphics SDK ${NGFX_SDK_VERSION} - invalid components!")
message(STATUS "Located in: \"${NGFX_SDK_BASE}\"")
message(STATUS "NBL_NGFX_INJECTION_HEADER=\"${NBL_NGFX_INJECTION_HEADER}\"")
message(STATUS "NBL_NGFX_INJECTION_DLL=\"${NBL_NGFX_INJECTION_DLL}\"")
message(STATUS "NBL_NGFX_INJECTION_IMPORT_LIBRARY=\"${NBL_NGFX_INJECTION_IMPORT_LIBRARY}\"")
message(FATAL_ERROR "You installation may be corupted, please fix it and re-run CMake or disable NBL_BUILD_WITH_NGFX!")
endif()

add_library(ngfx INTERFACE)
target_sources(ngfx INTERFACE "${NBL_NGFX_INJECTION_HEADER}")
target_include_directories(ngfx INTERFACE "${NGFX_SDK_BASE}/include")
target_link_libraries(ngfx INTERFACE "${NBL_NGFX_INJECTION_IMPORT_LIBRARY}")
target_link_options(ngfx INTERFACE "/DELAYLOAD:NGFX_Injection.dll")
target_compile_definitions(ngfx INTERFACE NGFX_INJECTION_DLL_DIR="${NGFX_SDK_BASE}/lib/x64")
target_compile_definitions(ngfx INTERFACE NGFX_VERSION="${NGFX_SDK_VERSION}")
endif()
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,6 @@ endif()

add_subdirectory(artifacts EXCLUDE_FROM_ALL) # TODO: remove/refactor, old

include(cpack/package)
include(cpack/package)

include(cmake/buildinfo/buildinfo.cmake)
Loading