The defines a clear semantic for how thickness of a bottom layer should be handled with Strata. This CL only pipes the data for the various parts. A following CL will add a thickness property on the root node.
#rb none
#jira none
#preflight 638672dd4004f73f62ea9600
#fyi sebastien.hillaire
[CL 23324261 by Charles deRousiers in ue5-main branch]
- Workaround issue with compiler optimization by using copy constructor.
#rb none
#preflight none
#fyi krzysztof.narkowicz
[CL 23313007 by tiago costa in ue5-main branch]
- add handling of #pragma directives in macro definitions
- add handling of #pragma message to create diagnostic outputs
- add and update comments in preprocessor.h
- unifying memory allocation mechanisms between stb_ds, stb_alloc and preprocessor - allow configuring all functions performing memory allocation/freeing via macros which should be specified via a header whose include path is specified via the STB_CONFIG macro (this will be included in stb_common.h if defined)
- don't pass an stb_arena to the include resolution callback; this is unnecessary complexity (implementation can handle its own memory allocation as long as the resulting strings have the appropriate lifetime) and indeed the arena used was global (and so not threadsafe)
- expose function allowing external modification of error modes so we can disable the error case for preprocessor directives not being at the start of a line (and so handle the case where we #define a macro whose value is a #pragma, or any other string possibly containing a # that we want to pass unmodified to the output i.e. the case of #define COMPILER_DEFINE #define which we use to keep #defines in the preprocessed code for handling by the platform compilers)
- fix leak of pp diagnostic messages
- remove internal caches for include resolution; they are problematic since (a) they aren't threadsafe, and (b) the caching of resolved filenames based on the include path found in source is inherently problematic (can potentially cause issues with same-named files in different folders included via relative paths)
- strip all code related to explicit file loading and lists of include paths; this has no purpose for our use case. note this makes the callbacks for file load/unload and include resolve mandatory, comments in preprocessor.h updated to reflect this.
- fix a few other memory leaks
#preflight 638611a9fa053c489a54b2ec
#rb Yuriy.ODonnell
[CL 23305324 by dan elksnitis in ue5-main branch]
- No longer necessary, since they were only used to find/create root signatures, which can be implemented directly in the adapter class.
- RHICreateBoundShaderState is never called.
Remove D3D12_SUPPORTS_PARALLEL_RHI_EXECUTE
- This is always true.
#rb Chris.Waters
#preflight 6384cd3afa053c489af10129
[CL 23300192 by luke thatcher in ue5-main branch]
Bumping D3D_SM5 and D3D_SM6 versions.
#jira none
#rb jason.nadro
#preflight 6384f5d2170bc34a935c960c
[CL 23298219 by christopher waters in ue5-main branch]