Properties need to be batched updated as a single transaction, otherwise the modification of the first property would cause ApplyConfigurationToSelection() to be called immediately, invalidating the change.
#jira UE-170071
#rb ruslan.idrisov
#preflight 6377cc782a05dabce9488ee4
#rnx
[CL 23203889 by eric renaudhoude in ue5-main branch]
This include important HLSL fixes such as correct atan2 argument order, and the use of static const literals.
#jira UE-169404
#rb ruslan.idrisov, rod.bogart
#preflight 636e610d9e3bea80795cf9fb
[CL 23100815 by eric renaudhoude in ue5-main branch]
Inverted view transforms are now supported by our plugin when the option is enabled in the plugin settings, matching the library API.
#jira UE-164487
#rb ruslan.idrisov, rod.bogart
#preflight 6362d578ce676ae86864a1b5
#preflight 636bb14b843e6ac7941a337f
[CL 23053464 by eric renaudhoude in ue5-main branch]
- Remove shader platform specific info from uniform buffers, we can generate code with macros that translates to what each platform needs.
- With the per-platform differences removed, uniform buffer declarations (read: generated text) can be created once per shader parameter type that needs them instead of once per shader type's shader parameter type usage.
- FShaderType and FVertexFactoryType now hold a TSet of used uniform buffer names instead of a TMap that held potentially duplicated FStrings of uniform buffer defintions.
- Lists of uniform buffers are *potentially* different per platform, so the annoying CachedUniformBufferPlatform variables need to stick around for now.
- GenerateReferencedUniformBuffers renamed to GenerateReferencedUniformBufferNames and now populates a TSet instead of a TMap.
- ShaderType::AddReferencedUniformBufferIncludes renamed to ShaderType::AddUniformBufferIncludesToEnvironment which calls the shared UE::ShaderParameters::AddUniformBufferIncludesToEnvironment.
- CreateUniformBufferShaderDeclaration moved to UE::ShaderParameters::CreateUniformBufferShaderDeclaration and now returns its FString.
- CacheUniformBufferIncludes was removed since it was only populated values from CreateUniformBufferShaderDeclaration.
- Deprecated FShaderCompilerInput::SourceFilePrefix since nothing has populated it in 9 years.
#jira none
#rb dan.elksnitis, yuriy.odonnell
#preflight 63643e5ff233f06a127c11c1
[CL 22988611 by christopher waters in ue5-main branch]
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch
#preflight 63635997876630122adeab9f
#rb none
[CL 22958990 by henrik karlsson in ue5-main branch]
- Focused around moving GlobalBeginCompileShader and friends.
- ModifyCompilationEnvironment and ValidateCompiledResult now only compiled in Editor builds.
- Measured 0.5MB to 1.0MB elf size reduction depending on platform.
#jira none
#rb jason.nadro, arciel.rekman, florin.pascu
#preflight 63613f992b5338aceb442902
[CL 22890964 by christopher waters in ue5-main branch]
None of the shader compiling code runs in non-Editor mode, so don't compile it for those targets.
#jira none
#rb jason.nadro
#preflight 635adcc7015611ae3afde6e5
[CL 22820061 by christopher waters in ue5-main branch]
This allows the raytracing payload type to vary according to shader permutation parameters which is more flexible and simplifies the code for complex cases like Lumen or deferred reflections
#rb Yuriy.ODonnell
#jira none
#preflight 635a8ba96a2a692f5d720eb3
[CL 22809506 by chris kulla in ue5-main branch]
The fix would need to come from the OpenColorIO library itself.
#jira UE-168318
#rb ruslan.idrisov, rod.bogart
#rnx
#preflight 635a8dc60d3a231123ce00fa
[CL 22809312 by eric renaudhoude in ue5-main branch]
There were multiple copies of very similar logic that contained subtle inconsistencies. There is an upcoming need to add some extra information to the DDC key, so it makes sense to centralize the logic first.
Keep the publically exposed function SerializeUniformBufferInfo but mark is as deprecated to signal to any users of the old API that there is a better mechanism now that can save them some boilerplate.
#rb Jason.Nadro
#preflight 6351c8e4ae33b04ec1c3fb7b
[CL 22675267 by chris kulla in ue5-main branch]
- modified serialization to instead add the warnings along with debug info to an "editor only data" struct, and store one of these per deduplicated bytecode entry (note the previous separate deduplication step for debug data was determined to be redundant)
- append additional context information to each warning via a DebugName argument passed to AddShaderCompilerOutput and store all warnings associated with a single bytecode (including those encountered for different permutations with potentially different source code resulting in the same bytecode) in sorted order
- add a simple ToString helper to FShaderCompileJobKey for easy construction of the DebugName argument for the above
- modify all engine usage of AddShaderCompilerOutput to construct this debug name from the job key
#rb Yuriy.ODonnell
#rb Jason.Nadro
#preflight 633ae2263629a1a4f913a041
#jira UE-150069
[CL 22301631 by dan elksnitis in ue5-main branch]
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds
After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds
#jira
#preflight 63336159b20e73a098b7f24f
[CL 22218213 by bryan sefcik in ue5-main branch]
This improves the module interfaces for 5.1 with a direction enum, while providing us the option of easily enabling bidirectional view transforms further on.
#jira UE-159066
#rb ruslan.idrisov, rod.bogart
#rnx
#preflight 632c9310671a1a24b517a093
[CL 22146996 by eric renaudhoude in ue5-main branch]
At the simplest level, displays and views are simply pairs of strings that are used as a different method of creating a gpu processor (see GetTransformProcessor in OpenColorIOTransform.cpp). This shelf extends support for this accross configuration and property menus, while remaining backwards compatible with existing use of configs.
(Depends on patched library in CL 21992958.)
#jira UE-159139
#rb rod.bogart, ruslan.idrisov
#preflight 6324c2263752284a318e1d83
[CL 22088512 by eric renaudhoude in ue5-main branch]
Option to use 32f resources is exposed in plugin settings.
#jira UE-163863
#rb ruslan.idrisov, rod.bogart
#preflight 63248d06cb23fcbbd80b9726
[CL 22056374 by eric renaudhoude in ue5-main branch]