Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
578 commits
Select commit Hold shift + click to select a range
ed3352a
Implemented relative approx compare
Przemog1 Dec 17, 2025
669bdb2
Updated examples
Przemog1 Dec 17, 2025
e714c24
RandomSampler can give floats now, ranged and [0, 1), also update exa…
karimsayedre Dec 17, 2025
6741c75
update examples submodules
karimsayedre Dec 17, 2025
92545a5
update examples submodule
karimsayedre Dec 17, 2025
5aee002
roll constructor params into own struct, fix assert in validation
keptsecret Dec 18, 2025
a1bd026
adds a check against double mounting same archive
keptsecret Dec 18, 2025
c5f3f89
Updated examples
Przemog1 Dec 18, 2025
32de44d
Create docs for NSC prebuilds
AnastaZIuk Dec 18, 2025
0c17074
Merge branch 'master' into new_debug_draw
keptsecret Dec 19, 2025
fcee6ed
return false if the streaming buffer is too small
keptsecret Dec 19, 2025
2537049
Remove duplicate partial specialization for truncate and emulated_vec
Dec 19, 2025
34af0ec
Fixed bug in CStdoutLogger
Przemog1 Dec 19, 2025
3f5b2c3
Merge pull request #968 from Devsh-Graphics-Programming/hotfix_promot…
devshgraphicsprogramming Dec 19, 2025
cd7197a
Every ILogger::log call now uses string literal as its first argument
Przemog1 Dec 19, 2025
6295aa8
Updated examples
Przemog1 Dec 19, 2025
993032c
update examples submodule
karimsayedre Dec 20, 2025
6ab99fa
Updated DXC
Przemog1 Dec 20, 2025
85c3b5a
make CElementFilm work
Dec 21, 2025
ade7a8a
refactor CElementIntegrator
Dec 21, 2025
8cc4662
refactor CElementEmissionProfile and CElementRFilter, also spot we ne…
Dec 21, 2025
3d8358a
didn't notice that can't register two callbacks for same property nam…
Dec 21, 2025
cdd362b
some fixes to using/filling streaming buffer
keptsecret Dec 22, 2025
82f6f59
Merge branch 'master' into new_debug_draw
keptsecret Dec 22, 2025
4ae7d89
combined draw aabb shaders into unified, added precompile shaders to …
keptsecret Dec 22, 2025
57b9846
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla …
Przemog1 Dec 22, 2025
9d8c6e4
Updated examples
Przemog1 Dec 22, 2025
7c03255
fix transform handling and realize unit test cases can be wrong too
Dec 22, 2025
70eb689
can't believe I spent an hour on this
Dec 22, 2025
bbd8a2c
Merge pull request #967 from Devsh-Graphics-Programming/unified_testi…
Przemog1 Dec 22, 2025
0e38e80
fix lookat matrices
Dec 22, 2025
1a17718
MAke CElementShape parse, also add logger to processChildData
Dec 22, 2025
e29bb56
Adds a flag to NSC to support preprocessing shaders and storing the r…
Fletterio Dec 22, 2025
49ffbc6
implement `CElementTexture` and `CElementEmitter`, also refactor the …
Dec 22, 2025
9513614
restore ifdef for mounting builtin resources, minor fixes to mounting
keptsecret Dec 23, 2025
3f9007a
Merge branch 'master' into solid-angle-vis
karimsayedre Dec 23, 2025
ac51887
simplified usage of streaming buffer alignments, flush unused memory …
keptsecret Dec 23, 2025
5ebfc65
fix calculating remaining instances bytes
keptsecret Dec 23, 2025
38b305b
merge master, fix conflicts
keptsecret Dec 23, 2025
d5c49f5
include `thmath.hlsl` in `functions.hlsl`
karimsayedre Dec 23, 2025
6f4ef5b
check whether spirv exists
keptsecret Dec 23, 2025
bea9962
Update examples
Przemog1 Dec 23, 2025
1e8171c
try to fit as much as possible even when fail to allocate, go down by…
keptsecret Dec 23, 2025
9aee495
update docker/compiler-explorer submodule
AnastaZIuk Dec 23, 2025
c5c813b
update docker/compiler-explorer submodule
AnastaZIuk Dec 23, 2025
84a2e1e
Merge branch 'master' into new_debug_draw
keptsecret Dec 23, 2025
4fc80d8
CElementBSDF is done!
Dec 23, 2025
a70a863
update include paths for debug draw ext
AnastaZIuk Dec 23, 2025
4a14db7
update docker/compiler-explorer submodule
AnastaZIuk Dec 23, 2025
68e2e20
Merge pull request #970 from Devsh-Graphics-Programming/nsc_preproces…
AnastaZIuk Dec 23, 2025
1badc7a
fix mount logic for debug draw ext, perform tests on builtins on/off
AnastaZIuk Dec 23, 2025
f4ae878
Merge pull request #900 from Devsh-Graphics-Programming/new_debug_draw
AnastaZIuk Dec 23, 2025
ab505fe
fix bugs (most importantly <ref> handling)
Dec 23, 2025
078899f
fix all MitsubaLoader bugs which came up during parsing tests
Dec 24, 2025
846a383
oopsie pushed a dangling submodule pointer last commit
Dec 24, 2025
aad78bb
fix a small typo in CElementBSDF::MixtureBSDF
Dec 24, 2025
3e203b1
Fixed emulated vector template resolution ambiguity
Fletterio Dec 24, 2025
68ae0e3
Merge remote-tracking branch 'remotes/origin/master' into material_co…
Dec 24, 2025
2222e85
Merge pull request #972 from Devsh-Graphics-Programming/fix_emulated_…
devshgraphicsprogramming Dec 24, 2025
0243260
Merge pull request #971 from Devsh-Graphics-Programming/include-tgmat…
devshgraphicsprogramming Dec 24, 2025
80ed36a
pull master, resolve conflicts
AnastaZIuk Dec 27, 2025
d572645
Merge branch 'master' into obb_calculation_with_debug_draw
Dec 28, 2025
e7a0ef4
add IES texture eval overload, remove some old code, update examples_…
AnastaZIuk Dec 28, 2025
3e5f8d0
awful nsc tooling bug I didn't notice while merging https://github.co…
AnastaZIuk Dec 28, 2025
f45caec
awful nsc tooling bug I didn't notice while merging https://github.co…
AnastaZIuk Dec 28, 2025
f95f163
update examples_tests submodule
AnastaZIuk Dec 28, 2025
575136e
builtin sources & headers per configuration
AnastaZIuk Dec 28, 2025
9d99330
builtin sources & headers per configuration
AnastaZIuk Dec 28, 2025
2f5de5d
wipe installation rules of builtin resource headers, they are not inc…
AnastaZIuk Dec 29, 2025
374257c
wipe installation rules of builtin resource headers, they are not inc…
AnastaZIuk Dec 29, 2025
b2e73a4
Move obb into its own file
Dec 29, 2025
afb4558
Recover missing COBBGenerator.h file
Dec 29, 2025
c71762e
BUILD_INTERFACE for builtin auto-gen include search directories
AnastaZIuk Dec 29, 2025
6556ad6
BUILD_INTERFACE for builtin auto-gen include search directories
AnastaZIuk Dec 29, 2025
d5f7011
Refactor obb calculation and some fixes
Dec 29, 2025
32cbb36
Update CDrawAABB::computeOBBTransform to return float32_t3x4
Dec 29, 2025
3d61b44
pre-merge `examples_tests` submodule pointer update
Dec 29, 2025
b931a11
Merge pull request #937 from Devsh-Graphics-Programming/material_comp…
devshgraphicsprogramming Dec 29, 2025
d36cea3
Merge pull request #976 from Devsh-Graphics-Programming/nsc-fixes
AnastaZIuk Dec 29, 2025
7137295
fix check-runs creation for examples, take sha depending on context
AnastaZIuk Dec 29, 2025
3344a58
tiny adjustments to get a more complex example with Mitsuba Loader to…
Dec 29, 2025
6cb4956
`system::to_string` for `IAsset::E_TYPE`
Dec 30, 2025
af7574a
include `tgmath.hlsl` in `functions.hlsl`, update examples_tests
karimsayedre Dec 31, 2025
0e3ed28
add NBL_EMULATED_VECTOR_SCALAR_BITWISE_OPERATOR to allow scalar & emu…
AnastaZIuk Jan 2, 2026
29fdaa1
Merge pull request #978 from Devsh-Graphics-Programming/emulated_v_s_…
AnastaZIuk Jan 2, 2026
6101e5b
add support for depfiles & use with NSC
AnastaZIuk Jan 2, 2026
b0a6f90
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Jan 2, 2026
682ba00
fix certain issues and update docs
AnastaZIuk Jan 2, 2026
f04d3a3
update nsc rules, `-Wno-local-type-template-args` in REQUIRED_OPTIONS
AnastaZIuk Jan 2, 2026
d66fc33
finalize depfile & NSC rules updates
AnastaZIuk Jan 3, 2026
f4d5fde
fix depfile generation
AnastaZIuk Jan 4, 2026
67b9a40
add new flags to IFileBase, CSystemWin32 & polish NSC code
AnastaZIuk Jan 4, 2026
00a613d
cmake: show config name in NSC comment
AnastaZIuk Jan 5, 2026
dc13c45
ECF_SHARE_READ_WRITE for backwards compatibility
AnastaZIuk Jan 5, 2026
0afe712
Merge pull request #979 from Devsh-Graphics-Programming/depfiles
AnastaZIuk Jan 5, 2026
9b008be
post-merge examples_tests submodule update
AnastaZIuk Jan 5, 2026
35e78b9
merge master, fix conflicts
keptsecret Jan 5, 2026
232fc7b
Refactored CArchiveLoaderZIP
Przemog1 Jan 5, 2026
a8bc4e4
Removed old code
Przemog1 Jan 5, 2026
2f33aa0
some fixes to quaternions
keptsecret Jan 6, 2026
be4630b
Fix sqDist calculation
Jan 6, 2026
00affbc
Delete reimplemented code
Jan 6, 2026
d79c703
Remove reimplemented code
Jan 6, 2026
9f18a1f
Fix indentation
Jan 6, 2026
27aad5c
Added `SRasterizationParams` to the full screen triangle pipeline cre…
karimsayedre Jan 6, 2026
a22d46a
implement quaternion slerp (might need optimizing?)
keptsecret Jan 7, 2026
f71cca1
minor optimization to slerp
keptsecret Jan 7, 2026
c39c78a
fix create from rotation matrix
keptsecret Jan 7, 2026
0b180c8
force constructor type with requires to avoid dxc implicit conversions
keptsecret Jan 7, 2026
de1b0d1
fixes to transformVector and other minor fixes
keptsecret Jan 7, 2026
92f8040
Fixed zip local header data descriptors
Przemog1 Jan 7, 2026
960a9f2
Updated examples
Przemog1 Jan 7, 2026
a76f40c
Change calculateOBB interface to use template
Jan 7, 2026
2adc7f4
Add inline specifier
Jan 7, 2026
d23cde3
Change obb to use matrix as member
Jan 7, 2026
02f5bfe
Remove CDrawAABB::getTransformFromOBB
Jan 8, 2026
96ef95d
added matrix runtime traits for checking orthogonality, uniform scale
keptsecret Jan 8, 2026
e775eac
Fixed preprocessor bug which caused incorrect handling of the -D option
Przemog1 Jan 8, 2026
c53d237
Updated examples_tests
Przemog1 Jan 8, 2026
f71b8f6
Merge pull request #985 from Devsh-Graphics-Programming/updated_examples
Przemog1 Jan 8, 2026
df94ffe
changed unormconstant template params to include float
keptsecret Jan 9, 2026
2c1a99d
separate pre and post decode scramble into different structs, no unor…
keptsecret Jan 9, 2026
8894dd1
change quantized sequence to set/get with bitfieldInsert/Extract, als…
keptsecret Jan 9, 2026
639f464
added create functions that should not preserve existing bits
keptsecret Jan 9, 2026
6043514
fix asan
AnastaZIuk Jan 9, 2026
3b82984
NBL_WAVE_STRING_RESOLVER_TU_DEBUG_OPTIMISATION off when NBL_SANITIZE_…
AnastaZIuk Jan 12, 2026
634260f
NBL_DEBUG_RTC_ENABLED default OFF and implies NBL_WAVE_STRING_RESOLVE…
AnastaZIuk Jan 12, 2026
ca322c8
Merge branch 'master' into new_quaternion_hlsl
keptsecret Jan 13, 2026
a0acd35
matrix runtime traits stores uniform scale squared, changed calculati…
keptsecret Jan 13, 2026
d1c4a89
added more static_casts and new partial spec for flipIfRHSNegative
keptsecret Jan 13, 2026
e8a6488
account for no scale in transform vector
keptsecret Jan 13, 2026
15dc925
Merge branch 'master' into nsc_macro_def_fix
AnastaZIuk Jan 13, 2026
6f8b0f0
update examples_tests submodule
AnastaZIuk Jan 13, 2026
bcb5276
Merge branch 'master' into obb_calculation_with_debug_draw
AnastaZIuk Jan 13, 2026
2e497cb
polish bounds checks for EOCD, central & local headers, slightly safe…
AnastaZIuk Jan 13, 2026
f11aca1
update openexr submodule with oneliner fix (started to hit some shit …
AnastaZIuk Jan 13, 2026
71d3e5f
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Jan 13, 2026
1883ea2
Merge pull request #981 from Devsh-Graphics-Programming/new_zip_archi…
AnastaZIuk Jan 13, 2026
c07365f
more comment info for pitch yaw roll, removed normalize truncated quat
keptsecret Jan 14, 2026
2aa275e
create from matrix restore scale correctly
keptsecret Jan 14, 2026
0e74738
Fix bug
Jan 14, 2026
34d231e
Merge remote-tracking branch 'origin/obb_calculation_with_debug_draw'…
Jan 14, 2026
cd78818
Merge branch 'master' into obb_calculation_with_debug_draw
kevyuu Jan 14, 2026
153ba1a
Fix bug regarding LargeBaseTriangle computation
Jan 14, 2026
cb71a4b
Add some comment regarding references and credit to the original auth…
Jan 14, 2026
03cb423
Fix bug regarding finding the furthest point from base triangle
Jan 14, 2026
0dc95ef
Add some comment
Jan 14, 2026
6d1cfb2
Add epsilon as argument for computeOBB
Jan 14, 2026
626b802
Merge remote-tracking branch 'origin/obb_calculation_with_debug_draw'…
Jan 14, 2026
b5daf19
Remove old commented code regarding obb calculation
Jan 14, 2026
ccdf991
update examples_tests submodule
AnastaZIuk Jan 14, 2026
b589759
update examples_tests submodule
AnastaZIuk Jan 14, 2026
1c14615
Merge pull request #975 from Devsh-Graphics-Programming/obb_calculati…
AnastaZIuk Jan 14, 2026
3869cb1
minor bug fixes to quaternions
keptsecret Jan 15, 2026
6853ca3
Merge branch 'master' into new_quaternion_hlsl
keptsecret Jan 15, 2026
d3958e5
add some operators to hlsl::matrix in C++
Jan 15, 2026
a602fba
add some operators to hlsl::matrix in C++
Jan 15, 2026
4aa2368
factor out uniform scale from mat before convert
keptsecret Jan 15, 2026
5f02325
new vector comparison by orientation
keptsecret Jan 15, 2026
11f7f2e
return nan quaternion if uniform scale is 0
keptsecret Jan 15, 2026
266cd71
account for negative orientation, added check for 0 length vectors
keptsecret Jan 16, 2026
ce371c7
fixes create from matrix by using correct row-column indexing
keptsecret Jan 16, 2026
c8df31a
fix glm not liking unary - on swizzle
keptsecret Jan 16, 2026
f4b0b43
do quaternion inverse not as member function
keptsecret Jan 16, 2026
5c53ae5
added a vector length compare
keptsecret Jan 16, 2026
a9ad07e
Merge pull request #960 from Devsh-Graphics-Programming/new_quaternio…
AnastaZIuk Jan 16, 2026
3dbe301
update examples_tests submodule post merge
AnastaZIuk Jan 16, 2026
a6f4b67
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla
AnastaZIuk Jan 16, 2026
5940872
Resolved conflicts, merged master
Przemog1 Jan 17, 2026
f2a4c48
Fixed quaternion to matrix cast
Przemog1 Jan 17, 2026
eb77184
Updated examples
Przemog1 Jan 17, 2026
1e13e63
fix create from matrix indexing, construct matrix transpose
keptsecret Jan 19, 2026
0e95d6f
Merge branch 'master' into changes_to_quantized_sequence
keptsecret Jan 19, 2026
e014eee
added braces to silence warning
keptsecret Jan 19, 2026
85d169e
make decode a quantized sequence member instead
keptsecret Jan 19, 2026
64fb4d6
added create factory for all quantized sequences, added encode method…
keptsecret Jan 19, 2026
82c6c10
Resolved conflicts, merged quaternion_matrix_transpose_fix
Przemog1 Jan 19, 2026
a98bcf5
Removed scalar matrix multiplication, too much hustle to make it work
Przemog1 Jan 19, 2026
ed47eb8
Fixed quaternions
Przemog1 Jan 19, 2026
0ed9241
Updated examples
Przemog1 Jan 19, 2026
9d645cd
Fixed a weird bug
Przemog1 Jan 19, 2026
dee183b
Updated examples
Przemog1 Jan 19, 2026
f75557d
Merge pull request #950 from Devsh-Graphics-Programming/remove_core_m…
Przemog1 Jan 19, 2026
b4982a6
Merge branch 'master' into changes_to_quantized_sequence
keptsecret Jan 20, 2026
1223e88
fixes to removal of core::matrix
keptsecret Jan 20, 2026
cd67d94
removed sequence partial spec data too big, minor fixes
keptsecret Jan 20, 2026
e3adac0
update examples_tests
karimsayedre Jan 21, 2026
bc1477b
Merge branch 'master' into nsc_macro_def_fix
AnastaZIuk Jan 21, 2026
9ddc954
minor improvements and bugfixes
Jan 23, 2026
08a83fd
Merge master
AnastaZIuk Jan 25, 2026
94696a0
fix minor bugs
Jan 26, 2026
04e6638
fix commandpool reset handling (being false failed)
Jan 26, 2026
4320efc
point at working example 40
Jan 26, 2026
70d4208
Merge remote-tracking branch 'remotes/origin/master' into new_pt
Jan 26, 2026
7753681
improve the SBT api for RT pipeline
Jan 27, 2026
2685e21
precompile fri ext
AnastaZIuk Jan 27, 2026
a8ce292
Merge branch 'new_pt' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Jan 27, 2026
3a5d058
update examples_tests submodule
AnastaZIuk Jan 27, 2026
6d8b42d
update examples_tests submodule
AnastaZIuk Jan 27, 2026
37be95b
pick important encoding fix from IES branch fixing (I hope) CI HLSL b…
AnastaZIuk Jan 27, 2026
7fc9ec3
fix a super silly bug
Jan 27, 2026
74f56a2
fix a bug in creating multiple raytracing pipelines in one
Jan 27, 2026
e8c18fb
fix the bug Erfan spotted
Jan 27, 2026
d227546
update examples_tests submodule
Jan 27, 2026
5b83328
fix bitfieldInsert usage, truncate data
keptsecret Jan 28, 2026
57b1b3d
change some type alias names to make more sense
keptsecret Jan 28, 2026
c035063
added option for encode fullwidth or not
keptsecret Jan 28, 2026
0984617
update examples to include tests
keptsecret Jan 28, 2026
5b73aae
partial specs for bitfield insert and extract for 16 bit types
keptsecret Jan 29, 2026
b63fa26
fixes bitfieldInsert, account for sign in bitfieldExtract
keptsecret Jan 29, 2026
e1de225
minor fixes to uint16_t2 dim 4
keptsecret Jan 29, 2026
2b08a15
refactor fri ext, lib + archive based with separate precompiled .spv,…
AnastaZIuk Jan 29, 2026
25b4aba
remove old trash
AnastaZIuk Jan 29, 2026
00c5379
enforce fullwidth if dim == storage dim
keptsecret Jan 29, 2026
ab5e771
latest example
keptsecret Jan 29, 2026
a5f431d
latest example 2
keptsecret Jan 29, 2026
a51e270
update examples_tests
AnastaZIuk Jan 29, 2026
bbcfabd
pull new_pt & resolve conflicts
AnastaZIuk Jan 29, 2026
20aa5ab
fixes to bitfield insert/extract requires
keptsecret Jan 30, 2026
36965e1
latest example
keptsecret Jan 30, 2026
8a5e648
Merge pull request #987 from Devsh-Graphics-Programming/changes_to_qu…
AnastaZIuk Jan 30, 2026
cfab6f3
start implementing ICPUScene !
Jan 30, 2026
c92dc42
Merge remote-tracking branch 'remotes/origin/fri_precomp_new_pt' into…
Jan 30, 2026
4978b36
make the example submodule point at the correct thing
Jan 30, 2026
4e093f8
mark TODOs for @AnastaZIuk to coordinate
Jan 31, 2026
a39059c
do the ICPUScene filling code with instances (everything but materials)
Jan 31, 2026
fdfb4d4
Merge remote-tracking branch 'remotes/origin/master' into new_pt
Jan 31, 2026
925023e
adjust to comments
AnastaZIuk Jan 31, 2026
4fdfb15
Merge branch 'master' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Jan 31, 2026
4c0da88
adjust to comments
AnastaZIuk Jan 31, 2026
e895a3f
post merge submodule update
Jan 31, 2026
8cbfa75
Merge pull request #992 from Devsh-Graphics-Programming/new_pt
devshgraphicsprogramming Jan 31, 2026
6da9c0b
Merge branch 'master' into nsc_macro_def_fix
AnastaZIuk Feb 1, 2026
73f8f5a
cleanup
AnastaZIuk Feb 1, 2026
0270548
cleanup
AnastaZIuk Feb 1, 2026
ca783f8
address comments
AnastaZIuk Feb 1, 2026
5bb8c6a
Merge pull request #984 from Devsh-Graphics-Programming/nsc_macro_def…
AnastaZIuk Feb 1, 2026
47bfd04
Merge branch 'master' into mCleanup
AnastaZIuk Feb 2, 2026
9b3891b
pull master, resolve conflicts (+ adjust)
AnastaZIuk Feb 2, 2026
e3a57df
update examples_tests submodule pointer
AnastaZIuk Feb 2, 2026
c327eb9
adjust to comments
AnastaZIuk Feb 2, 2026
b1ef469
more cleanup
AnastaZIuk Feb 2, 2026
d41ab5b
Merge pull request #994 from Devsh-Graphics-Programming/mCleanup
devshgraphicsprogramming Feb 5, 2026
4e3b22f
Merge remote-tracking branch 'remotes/origin/ies'
Feb 5, 2026
37a18e6
submodule update
Feb 5, 2026
620ebe0
IES parser: avoid isspace assert on non-ASCII bytes
AnastaZIuk Feb 5, 2026
f5bba61
Merge pull request #996 from Devsh-Graphics-Programming/iesEncode
AnastaZIuk Feb 5, 2026
e0a23fc
change the signatures of IAssetLoader interm_get a little bit, and ma…
Feb 6, 2026
5096d9e
Merge branch 'master' into solid-angle-vis
karimsayedre Feb 17, 2026
68f5a49
fixes after merge, update examples submodule
karimsayedre Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build-nabla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,12 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-encoding: string
script: |
const headSha = context.payload.pull_request ? context.payload.pull_request.head.sha : context.sha;
const response = await github.rest.checks.create({
owner: context.repo.owner,
repo: context.repo.repo,
name: `Examples (${{ matrix.os }}, ${{ matrix.vendor }}-${{ matrix.tag }}, ${{ matrix.config }})`,
head_sha: context.sha,
head_sha: headSha,
status: 'in_progress'
});
return response.data.id;
Expand Down
6 changes: 2 additions & 4 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ if(CMAKE_TOOLCHAIN_FILE)
list(APPEND NBL_JPEG_CMAKE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
endif()

nbl_append_sanitize_address_cmake_options(NBL_JPEG_CMAKE_OPTIONS)

# TODO: might find an alternative library which supports add_subdirectory, untill then we need to switch to a workaround just like
# we do for DXC due to: https://github.com/libjpeg-turbo/libjpeg-turbo/blob/0b742742c873025e2a127918d4969238ace7ae5b/CMakeLists.txt#L69
execute_process(COMMAND "${CMAKE_COMMAND}" -S "${CMAKE_CURRENT_SOURCE_DIR}/libjpeg-turbo" -B "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo" -G "${CMAKE_GENERATOR}" ${NBL_JPEG_CMAKE_OPTIONS}
Expand Down Expand Up @@ -492,10 +494,6 @@ endif()
foreach(trgt IN LISTS NBL_3RDPARTY_TARGETS)
set_property(TARGET ${trgt} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>$<$<BOOL:${NBL_COMPILER_DYNAMIC_RUNTIME}>:DLL>")

if(MSVC AND NBL_SANITIZE_ADDRESS)
set_property(TARGET ${trgt} PROPERTY COMPILE_OPTIONS /fsanitize=address)
endif()

get_target_property(NBL_TARGET_TYPE ${trgt} TYPE)
if(NOT "${NBL_TARGET_TYPE}" STREQUAL "INTERFACE_LIBRARY")
# maybe explicit global mapping would be better, to discuss
Expand Down
6 changes: 5 additions & 1 deletion 3rdparty/dxc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ list(APPEND NBL_DXC_CMAKE_OPTIONS "-DDXC_SPIRV_TOOLS_DIR=${DXC_SPIRV_TOOLS_DIR}"
list(APPEND NBL_DXC_CMAKE_OPTIONS "-DDXC_SPIRV_HEADERS_DIR=${DXC_SPIRV_HEADERS_DIR}")
list(APPEND NBL_DXC_CMAKE_OPTIONS "-DDXC_ENABLE_ETW=OFF")

nbl_append_sanitize_address_cmake_options(NBL_DXC_CMAKE_OPTIONS)

if(NOT NBL_IS_MULTI_CONFIG)
list(APPEND NBL_DXC_CMAKE_OPTIONS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
endif()
Expand All @@ -54,7 +56,9 @@ endif()
#else()
# NBL_EXT_P_APPEND_COMPILE_OPTIONS(NBL_DXC_CMAKE_OPTIONS Release RelWithDebInfo Debug)
#endif()
#list(TRANSFORM NBL_DXC_CMAKE_OPTIONS REPLACE "/fp:fast" "/fp:precise")
if(MSVC AND NBL_SANITIZE_ADDRESS)
list(TRANSFORM NBL_DXC_CMAKE_OPTIONS REPLACE "/fp:fast" "/fp:precise")
endif()

if(WIN32)
if(NOT DEFINED HLSL_AUTOCRLF)
Expand Down
2 changes: 1 addition & 1 deletion 3rdparty/dxc/dxc
Submodule dxc updated 259 files
2 changes: 1 addition & 1 deletion 3rdparty/gli
Submodule gli updated 1 files
+1 −1 gli/core/format.inl
2 changes: 1 addition & 1 deletion 3rdparty/glm
Submodule glm updated 1153 files
2 changes: 1 addition & 1 deletion 3rdparty/openexr
Submodule openexr updated 1 files
+0 −2 cmake/CMakeLists.txt
10 changes: 8 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
# For conditions of distribution and use, see copyright notice in nabla.h.in or nabla.h
cmake_minimum_required(VERSION 3.31..4.2.0)

if(NOT DEFINED CMAKE_POLICY_VERSION_MINIMUM)
set(CMAKE_POLICY_VERSION_MINIMUM 3.31 CACHE STRING "Minimum policy version for third-party projects")
endif()

# TODO: Yas - once we deploy 4.x we will fire `cmake_policy(VERSION <min>[...<max>])` instead of manually picking policies
# https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html#policy-version
# also we should update deps which throw warnings about < 3.10 compatibility
Expand All @@ -28,7 +32,7 @@ include(ExternalProject)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/toolchains/android/build.cmake)

project(Nabla
VERSION 0.8.0.1
VERSION 0.9.0.0
HOMEPAGE_URL "https://www.devsh.eu/nabla"
LANGUAGES CXX C
)
Expand All @@ -46,6 +50,7 @@ option(NBL_STATIC_BUILD "" OFF) # ON for static builds, OFF for shared

option(NBL_COMPILER_DYNAMIC_RUNTIME "" ON)
option(NBL_SANITIZE_ADDRESS OFF)
option(NBL_DEBUG_RTC_ENABLED "Enable Runtime Checks for Debug builds" OFF)

set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT $<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>) # ignored on non xMSVC-ABI targets

Expand Down Expand Up @@ -173,8 +178,9 @@ option(NBL_BUILD_DPL "Enable DPL (Dynamic Parallelism Library)" OFF)
option(NBL_PCH "Enable pre-compiled header" ON)
option(NBL_FAST_MATH "Enable fast low-precision math" OFF) # the reason OFF is by default now is the var controling it at build time was set AFTER BuildConfigOptions was generated - resulting in the feature being always OFF regardless the value xD - so just for sanity, keeping the same behaviour by default
option(NBL_BUILD_EXAMPLES "Enable building examples" ON)
option(NBL_BUILD_MITSUBA_LOADER "Enable nbl::ext::MitsubaLoader?" OFF) # TODO: once it compies turn this ON by default!
option(NBL_BUILD_MITSUBA_LOADER "Enable nbl::ext::MitsubaLoader?" ON)
option(NBL_BUILD_IMGUI "Enable nbl::ext::ImGui?" ON)
option(NBL_BUILD_DEBUG_DRAW "Enable Nabla Debug Draw extension?" ON)

option(NBL_BUILD_OPTIX "Enable nbl::ext::OptiX?" OFF)
if(NBL_COMPILE_WITH_CUDA)
Expand Down
2 changes: 1 addition & 1 deletion CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"NBL_UPDATE_GIT_SUBMODULE": "OFF",
"NBL_COMPILE_WITH_CUDA": "OFF",
"NBL_BUILD_OPTIX": "OFF",
"NBL_BUILD_MITSUBA_LOADER": "OFF",
"NBL_BUILD_MITSUBA_LOADER": "ON",
"NBL_BUILD_RADEON_RAYS": "OFF",
"_NBL_COMPILE_WITH_OPEN_EXR_": "ON",
"NBL_EXPLICIT_MODULE_LOAD_LOG": "ON",
Expand Down
11 changes: 9 additions & 2 deletions cmake/adjust/flags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@ function(nbl_adjust_flags)

# global compile options
list(APPEND _D_NBL_COMPILE_OPTIONS_ ${NBL_COMPILE_OPTIONS})
list(APPEND _D_NBL_LINK_OPTIONS_ ${NBL_LINK_OPTIONS})

foreach(CONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${CONFIG}" CONFIG_U)
Expand Down Expand Up @@ -316,15 +317,21 @@ function(nbl_adjust_flags)

# global compile options
list(APPEND _D_NBL_COMPILE_OPTIONS_ ${NBL_COMPILE_OPTIONS})
list(APPEND _D_NBL_LINK_OPTIONS_ ${NBL_LINK_OPTIONS})
foreach(_NBL_OPTION_IMPL_ ${_NBL_OPTIONS_IMPL_})
string(REPLACE "NBL_MAP_" "" NBL_MAP_CONFIGURATION_FROM "NBL_${_NBL_OPTION_IMPL_}")
string(TOUPPER "${NBL_${_NBL_OPTION_IMPL_}}" NBL_MAP_CONFIGURATION_TO)
set(NBL_TO_CONFIG_COMPILE_OPTIONS ${NBL_${NBL_MAP_CONFIGURATION_TO}_COMPILE_OPTIONS})
set(NBL_TO_CONFIG_LINK_OPTIONS ${NBL_${NBL_MAP_CONFIGURATION_TO}_LINK_OPTIONS})

# per configuration compile options with mapping
list(APPEND _D_NBL_COMPILE_OPTIONS_ $<$<CONFIG:${NBL_MAP_CONFIGURATION_FROM}>:${NBL_TO_CONFIG_COMPILE_OPTIONS}>)
list(APPEND _D_NBL_LINK_OPTIONS_ $<$<CONFIG:${NBL_MAP_CONFIGURATION_FROM}>:${NBL_TO_CONFIG_LINK_OPTIONS}>)
endforeach()

set_directory_properties(PROPERTIES COMPILE_OPTIONS "${_D_NBL_COMPILE_OPTIONS_}")
set_directory_properties(PROPERTIES
COMPILE_OPTIONS "${_D_NBL_COMPILE_OPTIONS_}"
LINK_OPTIONS "${_D_NBL_LINK_OPTIONS_}"
)
endif()
endfunction()
endfunction()
6 changes: 3 additions & 3 deletions cmake/adjust/template/vendor/impl/Clang.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ else()
endif()

if(NBL_SANITIZE_ADDRESS)
NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS -fsanitize=address)
NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS -fsanitize=address LINK_OPTIONS -fsanitize=address)
endif()

if(NBL_SANITIZE_THREAD)
NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS -fsanitize=thread)
NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS -fsanitize=thread LINK_OPTIONS -fsanitize=thread)
endif()

NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG DEBUG COMPILE_OPTIONS
Expand All @@ -106,4 +106,4 @@ else()
-mno-incremental-linker-compatible # https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mincremental-linker-compatible
-DNDEBUG
)
endif()
endif()
16 changes: 10 additions & 6 deletions cmake/adjust/template/vendor/impl/frontend/MSVC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,24 @@ if(NBL_SANITIZE_ADDRESS)
NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} COMPILE_OPTIONS
/fsanitize=address # https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-170
)

NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG DEBUG COMPILE_OPTIONS
/RTC1 # https://learn.microsoft.com/en-us/cpp/build/reference/rtc-run-time-error-checks?view=msvc-170
)
endif()

NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG DEBUG COMPILE_OPTIONS
set(_NBL_MSVC_DEBUG_COMPILE_OPTIONS
/Ob0 # https://learn.microsoft.com/en-us/cpp/build/reference/ob-inline-function-expansion?view=msvc-170
/Od # https://learn.microsoft.com/en-us/cpp/build/reference/od-disable-debug?view=msvc-170
/Oy- # https://learn.microsoft.com/en-us/cpp/build/reference/oy-frame-pointer-omission?view=msvc-170
)
if(NBL_DEBUG_RTC_ENABLED AND NOT NBL_SANITIZE_ADDRESS)
list(APPEND _NBL_MSVC_DEBUG_COMPILE_OPTIONS /RTC1)
endif()

NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG DEBUG COMPILE_OPTIONS
${_NBL_MSVC_DEBUG_COMPILE_OPTIONS}

LINK_OPTIONS
/INCREMENTAL # https://learn.microsoft.com/en-us/cpp/build/reference/incremental-link-incrementally?view=msvc-170
)
unset(_NBL_MSVC_DEBUG_COMPILE_OPTIONS)

NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG RELEASE COMPILE_OPTIONS
/O2 # https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
Expand All @@ -63,4 +67,4 @@ NBL_REQUEST_COMPILE_OPTION_SUPPORT(LANG ${LANG} CONFIG RELWITHDEBINFO COMPILE_OP

LINK_OPTIONS
/INCREMENTAL # https://learn.microsoft.com/en-us/cpp/build/reference/incremental-link-incrementally?view=msvc-170
)
)
Loading
Loading