Commit Graph

436 Commits

Author SHA1 Message Date
jon cain
3db095f0a0 Introduced a new material compilation check for incompatible materials attempting to reference the primitive buffer when it is not available to their material domain type.
Introduced an alternative method for retrieving an object position if the primitive buffer data is not available, otherwise any primitive buffer requests will fail, but will now be caught by the material compiler anyway.
FN assets validated and do not have this issue.

#jira UE-188018
#rb Jason.Nadro, massimo.tristano
#lockdown marc.audy

[CL 36758513 by jon cain in 5.5 branch]
2024-10-01 19:39:46 -04:00
anton dunchev
e0de0354f3 [LLM] Properly clear LLM tagset scope
#tests LLM RR
#rnx
#rb Matt.Peters

[CL 36755752 by anton dunchev in 5.5 branch]
2024-10-01 19:10:20 -04:00
dan elksnitis
5bcff15345 [shaders] modify FShaderCode finalize to create a FSharedBuffer object, and modify all downstream uses of shader code to re-use this buffer (job cache, pushes to DDC, shader maps, and shader library). This reduces total amount of LLM tracked memory allocated at the end of a cold Lyra PS4 cook by about ~350MB; impact likely much larger for cooks of larger projects.
resubmit with following fixes:
- static analysis error which caught an >=0 check on a uint64 which should have been >0
- fix for an inverted guard on multiprocess cook sending bytecode to director (was only sending code across if empty instead of non-empty)
- fix for uninitialized padding in the FShaderCodeResource::FHeader struct causing nondeterministic puts
- fix for incorrect size passed to job cache hashing on receiving buffers from DDC

#rb Devin.Doucette, Laura.Hermanns, Zousar.Shaker
#lockdown Marc.Audy

[CL 36754792 by dan elksnitis in 5.5 branch]
2024-10-01 19:02:22 -04:00
jason hoerner
fb83aa63a8 Missing version bump for previous CL 36478874
#jira UE-133044
#rnx
#lockdown marc.audy

[CL 36747936 by jason hoerner in 5.5 branch]
2024-10-01 17:49:31 -04:00
dan elksnitis
fd01802612 [Backout] - CL36470025
[FYI] dan.elksnitis
Original CL Desc
-----------------------------------------------------------------
[shaders] modify FShaderCode finalize to create a FSharedBuffer object, and modify all downstream uses of shader code to re-use this buffer (job cache, pushes to DDC, shader maps, and shader library). This reduces total amount of LLM tracked memory allocated at the end of a cold Lyra PS4 cook by about ~350MB; impact likely much larger for cooks of larger projects.

#rb Devin.Doucette, Zousar.Shaker
#lockdown Marc.Audy
resubmit with SA+MP cook fix

[CL 36747522 by dan elksnitis in 5.5 branch]
2024-10-01 17:45:02 -04:00
dan elksnitis
8c666d2108 [shaders] modify FShaderCode finalize to create a FSharedBuffer object, and modify all downstream uses of shader code to re-use this buffer (job cache, pushes to DDC, shader maps, and shader library). This reduces total amount of LLM tracked memory allocated at the end of a cold Lyra PS4 cook by about ~350MB; impact likely much larger for cooks of larger projects.
#rb Devin.Doucette, Zousar.Shaker
#lockdown Marc.Audy

resubmit with SA+MP cook fix

[CL 36746984 by dan elksnitis in 5.5 branch]
2024-10-01 17:40:02 -04:00
dan elksnitis
c02d3f0517 [Backout] - CL36437712
[FYI] dan.elksnitis
Original CL Desc
-----------------------------------------------------------------
[shaders] modify FShaderCode finalize to create a FSharedBuffer object, and modify all downstream uses of shader code to re-use this buffer (job cache, pushes to DDC, shader maps, and shader library). This reduces total amount of LLM tracked memory allocated at the end of a cold Lyra PS4 cook by about ~350MB; impact likely much larger for cooks of larger projects.

#rb Zousar.Shaker
#lockdown marc.audy

[CL 36440265 by dan elksnitis in 5.5 branch]
2024-09-19 13:16:02 -04:00
dan elksnitis
c7dfb5d9b6 [shaders] modify FShaderCode finalize to create a FSharedBuffer object, and modify all downstream uses of shader code to re-use this buffer (job cache, pushes to DDC, shader maps, and shader library). This reduces total amount of LLM tracked memory allocated at the end of a cold Lyra PS4 cook by about ~350MB; impact likely much larger for cooks of larger projects.
#rb Zousar.Shaker
#lockdown marc.audy

[CL 36437741 by dan elksnitis in 5.5 branch]
2024-09-19 12:21:59 -04:00
MarcusSvensson92
f83c3303da PR #12280: Exclude VT samples that don't generate feedback when counting requests
#jira UE-222803

[CL 36427282 by MarcusSvensson92 in 5.5 branch]
2024-09-19 07:58:07 -04:00
tiago costa
7ae30f9e71 Calculate target number of triangles in Nanite fallback mesh based on trimmed mesh.
#rb jamie.hayes

[CL 36302442 by tiago costa in 5.5 branch]
2024-09-16 10:42:29 -04:00
dmytro vovk
c324b92186 Renamed FLinearVirtualMemoryAllocator to FLinearAllocator
[CL 36229019 by dmytro vovk in 5.5 branch]
2024-09-12 11:13:30 -04:00
anton dunchev
cf63f92e07 [LLM] Remove FName block allocations and TextureManager construction from contributing to the MemQuery/Memtrace asset memory cost readings
#rb Matt.Peters
#tests local run

[CL 36172047 by anton dunchev in 5.5 branch]
2024-09-10 21:22:01 -04:00
dan elksnitis
c4deae64ff [shaders] bytecode sharing between shader and shadermap DDC buckets
- create utility classes (serialization context objects) which allow serialization of shader code blobs independently of "shader object" (i.e. whatever type of thing we're pushing to the cache, shader job or shader map) structure
- commonize bytecode format in cache entries for shadermap and shader DDC (FShaderCodeResource struct)
- rework per-shader caching to use the serialization helpers to separate serialization of job output struct data and bytecode
- rework material and global shadermap DDC serialization to use the serialization helpers to separate serialization of shadermap structural data and bytecode

#rb Laura.Hermanns, Zousar.Shaker
#jira UE-196556

(resubmit with monolithic build fix)

[CL 36153164 by dan elksnitis in 5.5 branch]
2024-09-10 13:06:22 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
sebastien hillaire
9545a26447 Substrate - Fixed override of SubsurfaceProfile on instance when the parent material is not SubsurfaceProfile and do not specify any profile asset.
[FYI] Charles.deRousiers
#rnx
#tests Test with substrate the overide of a SubsutrateShadingModel node without subsurfaceprofile from a mateial instance to a SubsurfaceShading model with a Subsurface profile.

[CL 35954060 by sebastien hillaire in ue5-main branch]
2024-09-02 08:18:13 -04:00
sebastien hillaire
7b4334123a Substrate - added multiple subsurface profile support from a material for swwitch nodes to work correctly.
Kept SetSubsurfaceProfileOverrideRT on proxy since otherwise there was some weird interaction with material/materialinstance when a profile was already there.

#rb charles.derousiers
#rnx
#lockdown marc.audy

[FYI] charles.derousiers

[CL 35953483 by sebastien hillaire in ue5-main branch]
2024-09-02 07:21:28 -04:00
dmytro vovk
4bc0dc5428 Move FName allocations from LinearVirtualMemoryAllocator into FMemory allocator as it belongs there
#rb Johan.Torp

[CL 35893529 by dmytro vovk in ue5-main branch]
2024-08-29 08:02:56 -04:00
KeithRare
57b9190c2e Automatically add struct types of called DI functions to hlsl definition
#jira UE-172070
#9887
#rb rob.krajcarski
#tests Did some A/B testing with a couple of scripts to see if anything broke. Also ran full engine test suite and did a FN cook.

[CL 35823815 by KeithRare in ue5-main branch]
2024-08-27 09:58:55 -04:00
charles derousiers
aa334de4fc Fix incorrect eye / hair material conversion with Substrate.
When using SubstrateMaterialAttribute or SubstrateShadingModel, with a shading model driven by expression, the resulting packing was incorrect for hair and eye material. This is because the substrate operator was converted as a BSDF operator (vs. an eye / hair operator), and later the material was flagged as 'single' instead of 'complex'. The substrate export code was thus missing the complex header packing causing eye/hair data to be incorrect.

This CL add hair & eye BSDF feature, and refactor the feature tracking through a bitfield for simplicity.

#rb sebastien.hillaire

[CL 35770662 by charles derousiers in ue5-main branch]
2024-08-23 10:25:20 -04:00
jamie hayes
0dedc201e9 Fix a bug where Nanite serialization would save empty data if the archive was marked for cooking but had no valid cooking target platform.
#jira UE-222235
#rb graham.wihlidal

[CL 35668946 by jamie hayes in ue5-main branch]
2024-08-20 16:48:43 -04:00
sebastien hillaire
a28be3c120 Substrate - better compilation error messages when using some BSDF and operators.
Tested ElectricDreams

#rnx
[FYI] Charles.deRousiers, Marien.ElAlaoui

[CL 35656003 by sebastien hillaire in ue5-main branch]
2024-08-20 11:25:21 -04:00
tiago costa
cc927e4f2e Fix ray tracing objects being created on platforms that don't use ray tracing in some code paths.
- Updated UStaticMesh::BuildFromMeshDescriptions(...) to check IsRayTracingAllowed() on non-editor builds.
- Added logic to serialization functions to strip ray tracing representation during cooking if target platform doesn't use ray tracing.

#jira UE-221227
#rb aleksander.netzel

[CL 35634761 by tiago costa in ue5-main branch]
2024-08-19 15:22:35 -04:00
jamie hayes
89e2aeefe3 Bug fixes for static mesh DDC issues that have cropped up as a result of 35004573:
- Fix an issue where building a static mesh could change its own DDC key, causing duplicate render data to be cached and built.
- Fix an issue where static mesh DDC could have the Nanite resources stripped differently between Nanite and non-Nanite platforms that share cache.

Nanite builder fix (from Rune.Stubbe):
- Fixed rare builder crash when cluster group has to be split into more than 8 parts

#rb graham.wihlidal
#jira UE-220876, FORT-768796
[FYI] thierry.begin, jonathan.bard, rune.stubbe

[CL 35571580 by jamie hayes in ue5-main branch]
2024-08-15 14:31:43 -04:00
wojciech krywult
9b7139888e Tests: Core: Fixed failing 'System.Core.HAL.Platform Verification' test because of asserts emitted by FName::AutoTest().
This test expects the system to distinguish between FNames with different casing. However, this features is only available when building with WITH_CASE_PRESERVING_NAME, which is enabled only on desktop platforms (Win, Unix, Mac).

#rb Matt.Peters
#rnx

[CL 35567434 by wojciech krywult in ue5-main branch]
2024-08-15 12:48:49 -04:00
nick edwards
69e6a4a6e6 Add member initializers for FMeshCardsBuildData to avoid Bounds being serialized with NaN values if MaxLumenMeshCards is 0. In this case FMeshUtilities::GenerateCardRepresentationData doesn't populate FCardRepresentationData.
Bumped the static mesh DDC key to flush out any cached data containing NaNs.

#rb Krzysztof.Narkowicz
#tests Rebuilt mesh cards while MaxLumenMeshCards was set to 0. Observed in Visual Studio that the bounds now consistently initialize zeroed.

[CL 35499929 by nick edwards in ue5-main branch]
2024-08-13 13:38:01 -04:00