Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
624184f
Reduce Wave preprocess overhead and update DXC pointer
AnastaZIuk Mar 22, 2026
555684d
Advance DXC to latest unroll-devshFixes
AnastaZIuk Mar 22, 2026
03ad12b
Restore default include search path for builtin HLSL
AnastaZIuk Mar 23, 2026
ac0289d
Advance DXC to latest unroll-devshFixes
AnastaZIuk Mar 23, 2026
8e3c301
Promote NSC channel ac0289dda98b1046000873b0b3ffedb06356be53 (#1028)
github-actions[bot] Mar 23, 2026
fe4a528
Update examples_tests to local unroll
AnastaZIuk Mar 23, 2026
441dcb2
Merge remote-tracking branch 'origin/master' into unroll-local-sync
AnastaZIuk Mar 23, 2026
f195565
Update EX31 examples pointer
AnastaZIuk Mar 23, 2026
697cfcf
Wire path tracer pipeline cache
AnastaZIuk Mar 23, 2026
fad9d56
Update path tracer examples pointer
AnastaZIuk Mar 23, 2026
a0b65da
Add SPIR-V trimmer fast path
AnastaZIuk Mar 23, 2026
9515bdd
Update path tracer examples pointer
AnastaZIuk Mar 23, 2026
939de4f
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
dd5180b
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
8d3e66d
Trim manifest whitespace and update examples pointer
AnastaZIuk Mar 24, 2026
cba6113
Clean up shader review leftovers
AnastaZIuk Mar 24, 2026
476a5bf
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
d986945
Cache validated SPIR-V hashes
AnastaZIuk Mar 24, 2026
5ecde9a
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
1ede3de
Tighten final shader cleanup
AnastaZIuk Mar 24, 2026
758f7c8
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
8745660
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
94a501f
Mark generated NSC headers correctly
AnastaZIuk Mar 24, 2026
b1f28c0
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
4b444b6
Revert "Mark generated NSC headers correctly"
AnastaZIuk Mar 24, 2026
f4b0aed
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
01794c5
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
4a0c2e2
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
02f04db
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
3ae2b26
Update path tracer examples pointer
AnastaZIuk Mar 24, 2026
fcae991
Update path tracer examples pointer
AnastaZIuk Mar 25, 2026
c8af81b
Update path tracer examples pointer
AnastaZIuk Mar 25, 2026
3541a9d
Update path tracer examples pointer
AnastaZIuk Mar 25, 2026
8723771
Validate SPIR-V once per blob
AnastaZIuk Mar 25, 2026
52ae40b
Update EX31 examples pointer
AnastaZIuk Mar 25, 2026
6476500
Update EX31 examples pointer
AnastaZIuk Mar 25, 2026
f5f036e
Update EX31 examples pointer
AnastaZIuk Mar 25, 2026
e545d37
Update EX31 examples pointer
AnastaZIuk Mar 25, 2026
5aa95f1
Address shader compiler review feedback locally
AnastaZIuk Mar 26, 2026
40e1e1e
Checkpoint local EX31 review state
AnastaZIuk Mar 26, 2026
daf1fe3
Add include session cache plumbing
AnastaZIuk Mar 26, 2026
9912390
Update EX31 examples pointer locally
AnastaZIuk Mar 26, 2026
a75f581
Update EX31 examples pointer locally
AnastaZIuk Mar 26, 2026
4aa78fd
Classify toolchain include roots
AnastaZIuk Mar 26, 2026
15b80eb
Split include session cache reads and writes
AnastaZIuk Mar 26, 2026
cfaac9c
Stop exporting generated keys header as source
AnastaZIuk Mar 26, 2026
3cf364b
Promote NSC channel cfaac9c36e0d169e44dc75d4a774703b3c94782d
github-actions[bot] Mar 26, 2026
8b1f77d
Merge pull request #1030 from Devsh-Graphics-Programming/ci/nsc-promo…
AnastaZIuk Mar 26, 2026
54153e6
Merge remote-tracking branch 'origin/master' into unroll-local-sync
AnastaZIuk Mar 26, 2026
6dc6485
Update examples_tests after master merge
AnastaZIuk Mar 26, 2026
262a8b7
Merge remote-tracking branch 'origin/master' into unroll-local-sync
AnastaZIuk Mar 26, 2026
27a4d6f
Roll DXC to devshFixes
AnastaZIuk Mar 27, 2026
77ad5e0
Promote NSC channel 27a4d6f68b9e1757fbeb86181d179c27251f81c9
github-actions[bot] Mar 27, 2026
6ee8dbc
Merge pull request #1031 from Devsh-Graphics-Programming/ci/nsc-promo…
AnastaZIuk Mar 27, 2026
77a6801
Update DXC pointer to unroll-devshFixes
AnastaZIuk Mar 28, 2026
589ca09
Update DXC pointer to unroll-devshFixes
AnastaZIuk Mar 28, 2026
125efc4
Promote NSC channel 589ca093e67eaf79cdfe090b8cb5068a96e20d2c
github-actions[bot] Mar 29, 2026
c1e50ce
Merge pull request #1032 from Devsh-Graphics-Programming/ci/nsc-promo…
AnastaZIuk Mar 29, 2026
08e87a0
Use O1experimental in debug and rwdi
AnastaZIuk Mar 29, 2026
6683a20
Scope O1experimental to EX31
AnastaZIuk Mar 29, 2026
0e04e4f
Promote NSC channel 6683a20d668f1207e822c2efedba901e4ae11028
github-actions[bot] Mar 29, 2026
da0cf1b
Merge pull request #1033 from Devsh-Graphics-Programming/ci/nsc-promo…
AnastaZIuk Mar 29, 2026
2617eb2
Update DXC unroll-devshFixes pointer
AnastaZIuk Mar 29, 2026
4b76234
Refresh DXC unroll-devshFixes pointer
AnastaZIuk Mar 29, 2026
0d19dfa
Refresh DXC unroll-devshFixes pointer
AnastaZIuk Mar 29, 2026
29bda52
Enable O1experimental by default for NSC rules
AnastaZIuk Mar 29, 2026
d39ba00
Promote NSC channel 29bda527be490f8214e937ae33bbffd438cce6e6
github-actions[bot] Mar 29, 2026
9164943
Merge pull request #1034 from Devsh-Graphics-Programming/ci/nsc-promo…
AnastaZIuk Mar 29, 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
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
[submodule "3rdparty/dxc/dxc"]
path = 3rdparty/dxc/dxc
url = git@github.com:Devsh-Graphics-Programming/DirectXShaderCompiler.git
branch = devshFixes
branch = unroll-devshFixes
[submodule "3rdparty/imgui"]
path = 3rdparty/imgui
url = git@github.com:Devsh-Graphics-Programming/imgui.git
Expand Down
2 changes: 1 addition & 1 deletion 3rdparty/dxc/dxc
Submodule dxc updated 353 files
36 changes: 21 additions & 15 deletions cmake/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -1191,6 +1191,7 @@ option(NSC_DEBUG_EDIF_LINE_BIT "Add \"-fspv-debug=line\" to NSC Debug CLI" OFF)
option(NSC_DEBUG_EDIF_TOOL_BIT "Add \"-fspv-debug=tool\" to NSC Debug CLI" ON)
option(NSC_DEBUG_EDIF_NON_SEMANTIC_BIT "Add \"-fspv-debug=vulkan-with-source\" to NSC Debug CLI" OFF)
option(NSC_USE_DEPFILE "Generate depfiles for NSC custom commands" ON)
option(NBL_DISABLE_EXPERIMENTAL_OPTS "Disable -O1experimental for all NSC compile rules globally" OFF)

function(NBL_CREATE_NSC_COMPILE_RULES)
set(COMMENT "this code has been autogenerated with Nabla CMake NBL_CREATE_HLSL_COMPILE_RULES utility")
Expand Down Expand Up @@ -1230,10 +1231,7 @@ struct DeviceConfigCaps
-fspv-target-env=vulkan1.3
-Wshadow
-Wconversion
-Wno-local-type-template-args
$<$<CONFIG:Debug>:-O0>
$<$<CONFIG:Release>:-O3>
$<$<CONFIG:RelWithDebInfo>:-O3>
-Wno-local-type-template-args
)

if(NSC_DEBUG_EDIF_FILE_BIT)
Expand All @@ -1259,18 +1257,32 @@ struct DeviceConfigCaps
if(NOT NBL_EMBED_BUILTIN_RESOURCES)
list(APPEND REQUIRED_OPTIONS
-no-nbl-builtins
-I "${NBL_ROOT_PATH}/include"
-I "${NBL_ROOT_PATH}/3rdparty/dxc/dxc/external/SPIRV-Headers/include"
-I "${NBL_ROOT_PATH}/3rdparty/boost/superproject/libs/preprocessor/include"
-I "${NBL_ROOT_PATH_BINARY}/src/nbl/device/include"
-isystem "${NBL_ROOT_PATH}/include"
-isystem "${NBL_ROOT_PATH}/3rdparty/dxc/dxc/external/SPIRV-Headers/include"
-isystem "${NBL_ROOT_PATH}/3rdparty/boost/superproject/libs/preprocessor/include"
-isystem "${NBL_ROOT_PATH_BINARY}/src/nbl/device/include"
)
endif()

set(REQUIRED_SINGLE_ARGS TARGET BINARY_DIR OUTPUT_VAR INPUTS INCLUDE NAMESPACE MOUNT_POINT_DEFINE)
set(OPTIONAL_SINGLE_ARGS GLOB_DIR)
cmake_parse_arguments(IMPL "DISCARD_DEFAULT_GLOB" "${REQUIRED_SINGLE_ARGS};${OPTIONAL_SINGLE_ARGS};LINK_TO" "COMMON_OPTIONS;DEPENDS" ${ARGV})
cmake_parse_arguments(IMPL "DISCARD_DEFAULT_GLOB;DISABLE_EXPERIMENTAL_OPTS" "${REQUIRED_SINGLE_ARGS};${OPTIONAL_SINGLE_ARGS};LINK_TO" "COMMON_OPTIONS;DEPENDS" ${ARGV})
NBL_PARSE_REQUIRED(IMPL ${REQUIRED_SINGLE_ARGS})

if(NBL_DISABLE_EXPERIMENTAL_OPTS OR IMPL_DISABLE_EXPERIMENTAL_OPTS)
list(APPEND REQUIRED_OPTIONS
$<$<CONFIG:Debug>:-O0>
$<$<CONFIG:Release>:-O3>
$<$<CONFIG:RelWithDebInfo>:-O3>
)
else()
list(APPEND REQUIRED_OPTIONS
$<$<CONFIG:Debug>:-O1experimental>
$<$<CONFIG:Release>:-O3>
$<$<CONFIG:RelWithDebInfo>:-O1experimental>
)
endif()

set(IMPL_HLSL_GLOB "")
if(NOT IMPL_DISCARD_DEFAULT_GLOB)
set(GLOB_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
Expand Down Expand Up @@ -1306,12 +1318,6 @@ struct DeviceConfigCaps
TARGET ${IMPL_TARGET}
)

target_sources(${IMPL_TARGET} PUBLIC ${INCLUDE_FILE})
set_source_files_properties(${INCLUDE_FILE} PROPERTIES
HEADER_FILE_ONLY ON
VS_TOOL_OVERRIDE None
)

target_compile_definitions(${IMPL_TARGET} INTERFACE $<TARGET_PROPERTY:${IMPL_TARGET},NBL_MOUNT_POINT_DEFINES>)
target_include_directories(${IMPL_TARGET} INTERFACE ${INCLUDE_DIR})
set_target_properties(${IMPL_TARGET} PROPERTIES NBL_HEADER_GENERATED_RULE ON)
Expand Down
2 changes: 1 addition & 1 deletion examples_tests
Submodule examples_tests updated 38 files
+77 −22 31_HLSLPathTracer/CMakeLists.txt
+62 −0 31_HLSLPathTracer/app_resources/hlsl/compute.render.common.hlsl
+21 −0 31_HLSLPathTracer/app_resources/hlsl/compute.render.linear.entrypoints.hlsl
+21 −0 31_HLSLPathTracer/app_resources/hlsl/compute.render.persistent.entrypoints.hlsl
+158 −0 31_HLSLPathTracer/app_resources/hlsl/compute_render_scene_impl.hlsl
+9 −0 31_HLSLPathTracer/app_resources/hlsl/imgui.unified.hlsl
+30 −15 31_HLSLPathTracer/app_resources/hlsl/next_event_estimator.hlsl
+3 −4 31_HLSLPathTracer/app_resources/hlsl/present.frag.hlsl
+0 −222 31_HLSLPathTracer/app_resources/hlsl/render.comp.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/render_rwmc_common.hlsl
+2 −1 31_HLSLPathTracer/app_resources/hlsl/resolve.comp.hlsl
+1 −2 31_HLSLPathTracer/app_resources/hlsl/resolve_common.hlsl
+8 −0 31_HLSLPathTracer/app_resources/hlsl/rwmc_common.hlsl
+10 −3 31_HLSLPathTracer/app_resources/hlsl/scene_base.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.rectangle.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.linear.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.rectangle.rwmc.persistent.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.sphere.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.sphere.rwmc.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.triangle.linear.proxy.hlsl
+71 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.triangle.methods.shared.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.triangle.persistent.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.triangle.rwmc.linear.proxy.hlsl
+1 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.triangle.rwmc.persistent.proxy.hlsl
+72 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.compute.variant.shared.hlsl
+5 −0 31_HLSLPathTracer/app_resources/hlsl/spirv/pt.misc.proxy.hlsl
+26 −0 31_HLSLPathTracer/include/nbl/this_example/path_tracer_pipeline_state.hpp
+137 −0 31_HLSLPathTracer/include/nbl/this_example/path_tracer_ui.hpp
+40 −0 31_HLSLPathTracer/include/nbl/this_example/render_variant_config.hlsl
+28 −0 31_HLSLPathTracer/include/nbl/this_example/render_variant_enums.hlsl
+46 −0 31_HLSLPathTracer/include/nbl/this_example/render_variant_info.hpp
+98 −0 31_HLSLPathTracer/include/nbl/this_example/render_variant_strings.hpp
+1,352 −269 31_HLSLPathTracer/main.cpp
+3 −0 31_HLSLPathTracer/path_tracer.runtime.json.in
+35 −0 31_HLSLPathTracer/pt.cmake
+6 −0 31_HLSLPathTracer/pt.variant_ids.cmake
+1 −1 50.IESViewer/CMakeLists.txt
+278 −0 common/include/nbl/examples/common/CachedPipelineState.hpp
8 changes: 7 additions & 1 deletion include/nbl/asset/utils/ISPIRVEntryPointTrimmer.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@

#include "nbl/system/ILogger.h"

#include <mutex>

namespace nbl::asset
{

class ISPIRVEntryPointTrimmer final : public core::IReferenceCounted
class NBL_API2 ISPIRVEntryPointTrimmer final : public core::IReferenceCounted
{
public:
ISPIRVEntryPointTrimmer();
Expand Down Expand Up @@ -46,6 +48,8 @@ class ISPIRVEntryPointTrimmer final : public core::IReferenceCounted
};

Result trim(const ICPUBuffer* spirvBuffer, const core::set<EntryPoint>& entryPoints, system::logger_opt_ptr logger = nullptr) const;
bool ensureValidated(const ICPUBuffer* spirvBuffer, system::logger_opt_ptr logger = nullptr) const;
void markValidated(const ICPUBuffer* spirvBuffer) const;

inline core::smart_refctd_ptr<const IShader> trim(const IShader* shader, const core::set<EntryPoint>& entryPoints, system::logger_opt_ptr logger = nullptr) const
{
Expand All @@ -72,6 +76,8 @@ class ISPIRVEntryPointTrimmer final : public core::IReferenceCounted

private:
core::smart_refctd_ptr<ISPIRVOptimizer> m_optimizer;
mutable std::mutex m_validationCacheMutex;
mutable core::unordered_set<core::blake3_hash_t> m_validatedSpirvHashes;
};

}
Expand Down
92 changes: 84 additions & 8 deletions include/nbl/asset/utils/IShaderCompiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
#include "nbl/builtin/hlsl/enums.hlsl"

#include <functional>
#include <mutex>
#include <unordered_set>

namespace nbl::asset
{
Expand All @@ -26,6 +28,25 @@ class NBL_API2 IShaderCompiler : public core::IReferenceCounted
public:
IShaderCompiler(core::smart_refctd_ptr<system::ISystem>&& system);

enum class IncludeRootOrigin : uint8_t
{
User,
Builtin,
Generated
};

enum class HeaderClass : uint8_t
{
User,
System
};

struct IncludeClassification
{
IncludeRootOrigin origin = IncludeRootOrigin::User;
HeaderClass headerClass = HeaderClass::User;
};

class NBL_API2 IIncludeLoader : public core::IReferenceCounted
{
public:
Expand All @@ -34,12 +55,13 @@ class NBL_API2 IShaderCompiler : public core::IReferenceCounted
system::path absolutePath = {};
std::string contents = {};
core::blake3_hash_t hash = {}; // TODO: we're not yet using IFile::getPrecomputedHash(), so for builtins we can maybe use that in the future
IncludeClassification classification = {};
// Could be used in the future for early rejection of cache hit
//nbl::system::IFileBase::time_point_t lastWriteTime = {};

explicit inline operator bool() const {return !absolutePath.empty();}
};
virtual found_t getInclude(const system::path& searchPath, const std::string& includeName) const = 0;
virtual found_t getInclude(const system::path& searchPath, const std::string& includeName, bool needHash = true) const = 0;
};

class NBL_API2 IIncludeGenerator : public core::IReferenceCounted
Expand All @@ -65,7 +87,7 @@ class NBL_API2 IShaderCompiler : public core::IReferenceCounted
public:
CFileSystemIncludeLoader(core::smart_refctd_ptr<system::ISystem>&& system);

IIncludeLoader::found_t getInclude(const system::path& searchPath, const std::string& includeName) const override;
IIncludeLoader::found_t getInclude(const system::path& searchPath, const std::string& includeName, bool needHash = true) const override;

protected:
core::smart_refctd_ptr<system::ISystem> m_system;
Expand All @@ -74,37 +96,88 @@ class NBL_API2 IShaderCompiler : public core::IReferenceCounted
class NBL_API2 CIncludeFinder : public core::IReferenceCounted
{
public:
struct SSessionCache
{
struct Stats
{
uint64_t lookupFound = 0ull;
uint64_t lookupMissing = 0ull;
uint64_t lookupMiss = 0ull;
uint64_t storeFound = 0ull;
uint64_t storeMissing = 0ull;
};

enum class LookupResult : uint8_t
{
Miss,
Missing,
Found
};

explicit SSessionCache(const bool threadSafe = false) : threadSafe(threadSafe) {}

void clear();
LookupResult lookup(const std::string& key, IIncludeLoader::found_t& result) const;
void store(const std::string& key, IIncludeLoader::found_t result);
Stats snapshotStats() const;

bool threadSafe = false;

mutable std::mutex mutex;
mutable Stats stats;
core::unordered_map<std::string, IIncludeLoader::found_t> found;
core::unordered_set<std::string> missing;
};

CIncludeFinder(core::smart_refctd_ptr<system::ISystem>&& system);

// ! includes within <>
// @param requestingSourceDir: the directory where the incude was requested
// @param includeName: the string within <> of the include preprocessing directive
IIncludeLoader::found_t getIncludeStandard(const system::path& requestingSourceDir, const std::string& includeName) const;
IIncludeLoader::found_t getIncludeStandard(const system::path& requestingSourceDir, const std::string& includeName, bool needHash = true, SSessionCache* readSessionCache = nullptr, SSessionCache* writeSessionCache = nullptr) const;

// ! includes within ""
// @param requestingSourceDir: the directory where the incude was requested
// @param includeName: the string within "" of the include preprocessing directive
IIncludeLoader::found_t getIncludeRelative(const system::path& requestingSourceDir, const std::string& includeName) const;
IIncludeLoader::found_t getIncludeRelative(const system::path& requestingSourceDir, const std::string& includeName, bool needHash = true, SSessionCache* readSessionCache = nullptr, SSessionCache* writeSessionCache = nullptr) const;

inline core::smart_refctd_ptr<CFileSystemIncludeLoader> getDefaultFileSystemLoader() const { return m_defaultFileSystemLoader; }

void addSearchPath(const std::string& searchPath, const core::smart_refctd_ptr<IIncludeLoader>& loader);
void addSearchPath(const std::string& searchPath, const core::smart_refctd_ptr<IIncludeLoader>& loader, IncludeClassification classification = {});

void addGenerator(const core::smart_refctd_ptr<IIncludeGenerator>& generator);
void addGenerator(const core::smart_refctd_ptr<IIncludeGenerator>& generator, IncludeClassification classification = {IncludeRootOrigin::Generated,HeaderClass::System});

bool isKnownGlobalInclude(std::string_view includeName) const;
IIncludeLoader::found_t classifyFound(IIncludeLoader::found_t found) const;

protected:
IIncludeLoader::found_t trySearchPaths(const std::string& includeName) const;
IIncludeLoader::found_t trySearchPaths(const std::string& includeName, bool needHash) const;

IIncludeLoader::found_t tryIncludeGenerators(const std::string& includeName) const;
void registerHeaderRoot(std::string rootPath, IncludeClassification classification);

struct LoaderSearchPath
{
core::smart_refctd_ptr<IIncludeLoader> loader = nullptr;
std::string searchPath = {};
IncludeClassification classification = {};
};

struct GeneratorEntry
{
core::smart_refctd_ptr<IIncludeGenerator> generator = nullptr;
IncludeClassification classification = {IncludeRootOrigin::Generated,HeaderClass::System};
};

struct HeaderRoot
{
std::string path = {};
IncludeClassification classification = {};
};

std::vector<LoaderSearchPath> m_loaders;
std::vector<core::smart_refctd_ptr<IIncludeGenerator>> m_generators;
std::vector<GeneratorEntry> m_generators;
std::vector<HeaderRoot> m_headerRoots;
core::smart_refctd_ptr<CFileSystemIncludeLoader> m_defaultFileSystemLoader;
};

Expand Down Expand Up @@ -134,9 +207,12 @@ class NBL_API2 IShaderCompiler : public core::IReferenceCounted
std::string_view sourceIdentifier = "";
system::logger_opt_ptr logger = nullptr;
const CIncludeFinder* includeFinder = nullptr;
CIncludeFinder::SSessionCache* readIncludeSessionCache = nullptr;
CIncludeFinder::SSessionCache* writeIncludeSessionCache = nullptr;
std::span<const SMacroDefinition> extraDefines = {};
E_SPIRV_VERSION targetSpirvVersion = E_SPIRV_VERSION::ESV_1_6;
bool depfile = false;
bool preserveComments = false;
system::path depfilePath = {};
std::function<void(std::string_view)> onPartialOutputOnFailure = {};
};
Expand Down
2 changes: 0 additions & 2 deletions include/nbl/builtin/hlsl/bxdf/reflection/beckmann.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
#ifndef _NBL_BUILTIN_HLSL_BXDF_REFLECTION_BECKMANN_INCLUDED_
#define _NBL_BUILTIN_HLSL_BXDF_REFLECTION_BECKMANN_INCLUDED_

#include "nbl/builtin/hlsl/bxdf/common.hlsl"
#include "nbl/builtin/hlsl/bxdf/bxdf_traits.hlsl"
#include "nbl/builtin/hlsl/sampling/cos_weighted_spheres.hlsl"
#include "nbl/builtin/hlsl/bxdf/ndf/beckmann.hlsl"
#include "nbl/builtin/hlsl/bxdf/base/cook_torrance_base.hlsl"

Expand Down
2 changes: 0 additions & 2 deletions include/nbl/builtin/hlsl/bxdf/reflection/ggx.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
#ifndef _NBL_BUILTIN_HLSL_BXDF_REFLECTION_GGX_INCLUDED_
#define _NBL_BUILTIN_HLSL_BXDF_REFLECTION_GGX_INCLUDED_

#include "nbl/builtin/hlsl/bxdf/common.hlsl"
#include "nbl/builtin/hlsl/bxdf/bxdf_traits.hlsl"
#include "nbl/builtin/hlsl/sampling/cos_weighted_spheres.hlsl"
#include "nbl/builtin/hlsl/bxdf/ndf/ggx.hlsl"
#include "nbl/builtin/hlsl/bxdf/base/cook_torrance_base.hlsl"

Expand Down
4 changes: 1 addition & 3 deletions include/nbl/builtin/hlsl/bxdf/transmission/beckmann.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
#ifndef _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_BECKMANN_INCLUDED_
#define _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_BECKMANN_INCLUDED_

#include "nbl/builtin/hlsl/bxdf/common.hlsl"
#include "nbl/builtin/hlsl/bxdf/bxdf_traits.hlsl"
#include "nbl/builtin/hlsl/sampling/cos_weighted_spheres.hlsl"
#include "nbl/builtin/hlsl/bxdf/reflection.hlsl"
#include "nbl/builtin/hlsl/bxdf/ndf/beckmann.hlsl"
#include "nbl/builtin/hlsl/bxdf/base/cook_torrance_base.hlsl"

namespace nbl
Expand Down
3 changes: 0 additions & 3 deletions include/nbl/builtin/hlsl/bxdf/transmission/ggx.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
#ifndef _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_GGX_INCLUDED_
#define _NBL_BUILTIN_HLSL_BXDF_TRANSMISSION_GGX_INCLUDED_

#include "nbl/builtin/hlsl/bxdf/common.hlsl"
#include "nbl/builtin/hlsl/bxdf/bxdf_traits.hlsl"
#include "nbl/builtin/hlsl/sampling/cos_weighted_spheres.hlsl"
#include "nbl/builtin/hlsl/bxdf/reflection.hlsl"
#include "nbl/builtin/hlsl/bxdf/base/cook_torrance_base.hlsl"

namespace nbl
Expand Down
1 change: 0 additions & 1 deletion include/nbl/builtin/hlsl/emulated/float64_t.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define _NBL_BUILTIN_HLSL_EMULATED_FLOAT64_T_HLSL_INCLUDED_

#include <nbl/builtin/hlsl/emulated/float64_t_impl.hlsl>
#include <nbl/builtin/hlsl/concepts/core.hlsl>

namespace nbl
{
Expand Down
7 changes: 5 additions & 2 deletions include/nbl/builtin/hlsl/member_test_macros.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
#define _NBL_BUILTIN_HLSL_MEMBER_TEST_MACROS_INCLUDED_

#include <nbl/builtin/hlsl/utility.hlsl>
#include <boost/preprocessor.hpp>
#include <boost/preprocessor/arithmetic/inc.hpp>
#include <boost/preprocessor/comparison/not_equal.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>

#ifdef __HLSL_VERSION

Expand Down Expand Up @@ -123,4 +126,4 @@ GENERATE_METHOD_TESTER(set)


#endif
#endif
#endif
Loading
Loading