Skip to content

Commit 3a18b05

Browse files
author
kevyuu
committed
Move creation flags to IRayTracingPipeline
1 parent 7750418 commit 3a18b05

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

include/nbl/asset/IRayTracingPipeline.h

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,33 @@ class IRayTracingPipelineBase : public virtual core::IReferenceCounted
5353
template<typename PipelineLayoutType, typename ShaderType>
5454
class IRayTracingPipeline : public IPipeline<PipelineLayoutType>, public IRayTracingPipelineBase
5555
{
56+
using base_creation_params_t = IPipeline<PipelineLayoutType>::SCreationParams;
5657
public:
5758

5859
using SGeneralShaderGroupContainer = core::smart_refctd_dynamic_array<SGeneralShaderGroup>;
5960
using SHitShaderGroupContainer = core::smart_refctd_dynamic_array<SHitShaderGroup>;
6061

61-
struct SCreationParams : IPipeline<PipelineLayoutType>::SCreationParams
62+
struct SCreationParams : base_creation_params_t
6263
{
64+
public:
65+
#define base_flag(F) static_cast<uint64_t>(base_creation_params_t::FLAGS::F)
66+
enum class FLAGS : uint64_t
67+
{
68+
NONE = base_flag(NONE),
69+
DISABLE_OPTIMIZATIONS = base_flag(DISABLE_OPTIMIZATIONS),
70+
ALLOW_DERIVATIVES = base_flag(ALLOW_DERIVATIVES),
71+
FAIL_ON_PIPELINE_COMPILE_REQUIRED = base_flag(FAIL_ON_PIPELINE_COMPILE_REQUIRED),
72+
EARLY_RETURN_ON_FAILURE = base_flag(EARLY_RETURN_ON_FAILURE),
73+
SKIP_BUILT_IN_PRIMITIVES = 1<<12,
74+
SKIP_AABBS = 1<<13,
75+
NO_NULL_ANY_HIT_SHADERS = 1<<14,
76+
NO_NULL_CLOSEST_HIT_SHADERS = 1<<15,
77+
NO_NULL_MISS_SHADERS = 1<<16,
78+
NO_NULL_INTERSECTION_SHADERS = 1<<17,
79+
ALLOW_MOTION = 1<<20,
80+
};
81+
#undef base_flag
82+
6383
protected:
6484
using SpecInfo = ShaderType::SSpecInfo;
6585
template<typename ExtraLambda>

0 commit comments

Comments
 (0)