Commit Graph

142 Commits

Author SHA1 Message Date
eric renaudhoude
e6b020a705 OCIO: Fix property update bug, introduced by the bidirectional display-view selection change.
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]
2022-11-18 15:43:34 -05:00
eric renaudhoude
bb290ea200 OCIO: Prevent thumbnail hover from loading the entire asset.
#jira none
#rb ruslan.idrisov
#preflight 63779fc1aa2fe2b05f8d96f5
#rnx

[CL 23194870 by eric renaudhoude in ue5-main branch]
2022-11-18 10:52:30 -05:00
eric renaudhoude
c304b81478 OCIO: Adding support for built-in configs URI.
The current options are:
* ocio://default (CG config equivalent)
* ocio://cg-config-v1.0.0_aces-v1.3_ocio-v2.1
* ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1

#rb ruslan.idrisov, rod.bogart
#jira UE-166384
#preflight 637406e4bf76990b717cab1e

[CL 23143454 by eric renaudhoude in ue5-main branch]
2022-11-15 16:48:57 -05:00
eric renaudhoude
3a1e4e59e6 OCIO: Improve scripting API consistency for pipeline workflows.
#jira UE-169963
#rb ruslan.idrisov, rod.bogart
#preflight 6373a69d953c19d43580a412

[CL 23135559 by eric renaudhoude in ue5-main branch]
2022-11-15 10:03:21 -05:00
eric renaudhoude
d8efc4cef4 OCIO: Update library to 2.2 on Windows, Mac and Linux.
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]
2022-11-11 12:38:18 -05:00
eric renaudhoude
641eaa522d OCIO: Optional support for bidirectional display-view.
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]
2022-11-09 09:01:06 -05:00
christopher waters
c6e9015a91 Cache uniform buffer definitions
- 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]
2022-11-04 12:04:48 -04:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
christopher waters
0621d20368 More shader compiling code wrapped with WITH_EDITOR checks
- 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]
2022-11-01 16:31:27 -04:00
christopher waters
02cca5006c OpenColorIO shader compiling WITH_EDITOR cleanup.
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]
2022-10-27 18:51:22 -04:00
chris kulla
5da8820c19 Redesign the raytracing payload type tagging to use a function instead of a hardcoded field
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]
2022-10-27 10:21:14 -04:00
eric renaudhoude
8a6a828b85 OCIO: Revert the use of SEARCH_REFERENCE_SPACE_SCENE for performance reasons, even though it is preferred.
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]
2022-10-27 10:08:19 -04:00
eric renaudhoude
05141dba7e OCIO: Cleanup to reuse the same color space picker widget for conversion settings.
#jira UE-164487
#rb ruslan.idrisov, rod.bogart
#preflight 635099ca047f3570adbb2af0
#rnx

[CL 22751083 by eric renaudhoude in ue5-main branch]
2022-10-25 11:05:10 -04:00
Robb Surridge
610c467639 Update vendor links for built-in plugins to use secure protocol.
#jira UE-166823
#rb lauren.barnes
#preflight 6352b20b7261e565c476ec3b

[CL 22690089 by Robb Surridge in ue5-main branch]
2022-10-21 11:04:07 -04:00
chris kulla
07989ec588 Refactor common shadermap DDC key logic into a shared function
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]
2022-10-20 18:32:57 -04:00
eric renaudhoude
d868848d85 OCIO: Ensure the SVE active functor respects the configuration's enabled state.
#jira UE-167190
#rb ruslan.idrisov, rod.bogart
#preflight 63507831047f3570adb1257f
#rnx

[CL 22655619 by eric renaudhoude in ue5-main branch]
2022-10-20 10:37:30 -04:00
bryan sefcik
0a3a232b0f Misc module file cleanup.
#jira
#preflight 634f4929864d9be23657bbf0

[CL 22634555 by bryan sefcik in ue5-main branch]
2022-10-19 15:07:57 -04:00
Matt Peters
3b57fa2789 IncrementalCooking: Add DeclareConstructClasses for classes that need it. Fix some transient UObjects that assert they are never persistently serialized to support Serialize being called on their ClassDefaultObject to support DeclareCustomVersions.
#rb Zousar.Shaker
#rnx
#preflight 63497341f622f6c4bb1dd625

[CL 22529151 by Matt Peters in ue5-main branch]
2022-10-14 12:42:43 -04:00
dan elksnitis
5c623efceb [shaders] fix determinism issue in serializing shader maps to DDC - previously warnings were appended to a single array in order of job completion which is inherently unstable.
- 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]
2022-10-03 09:42:06 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
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]
2022-09-28 01:06:15 -04:00
eric renaudhoude
c8731ab21b OCIO: Further support for bidirectional display-view transforms.
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]
2022-09-22 18:05:08 -04:00
eric renaudhoude
8fc0aabe08 OCIO: Exclude display-referred color spaces from the regular color space list now that we have support for selecting displays and views.
#jira UE-159139
#rb ruslan.idrisov, rod.bogart
#rnx
#preflight 632c67f12c7bc831f8c50aae

[CL 22145799 by eric renaudhoude in ue5-main branch]
2022-09-22 17:36:43 -04:00
eric renaudhoude
b843ce20bf OCIO: Adding support for display and views.
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]
2022-09-20 00:31:04 -04:00
eric renaudhoude
18d31210f3 OCIO: support 32f LUTs without conversions to 16f, which is now available in 5.1.
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]
2022-09-16 14:50:28 -04:00
Josh Adams
c512b0042d - Removed broken un-numbered version of libOpenColorIO.dylib for mac
#rb trivial
#preflight skip

[CL 22042334 by Josh Adams in ue5-main branch]
2022-09-15 20:02:12 -04:00