Commit Graph

573 Commits

Author SHA1 Message Date
ben ingram
ae36806f9b Fix MaterialFunctionInstance parameter inheritance
#preflight 61e76974b56c33b8ec014f3a
#rb none
#jira none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18659671 in //UE5/Release-5.0/... via CL 18659685 via CL 18659695
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)
#ROBOMERGE-CONFLICT from-shelf

[CL 18659767 by ben ingram in ue5-main branch]
2022-01-19 12:15:39 -05:00
dmitriy dyomin
de43655903 Fixed: Certain project configurations may result in missing material shader stats for ES31 feature level
Simplified shader name selection for mobile material shader stats
#rb jack.porter

#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18632067 via CL 18632071 via CL 18632078 via CL 18632169 via CL 18632171 via CL 18651605 via CL 18651728 via CL 18651852
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18651910 by dmitriy dyomin in ue5-main branch]
2022-01-18 18:45:37 -05:00
Ben Ingram
e6f2147048 Misc fixes for enabling/disabling control flow in material editor
#rb none
#jira none
#preflight none

[CL 18573247 by Ben Ingram in ue5-main branch]
2022-01-11 11:51:35 -05:00
Ben Ingram
ff516caf95 Hide UMaterialFunction UI options for new HLSL generator/control flow, if the global CVARs are disabled
#rb none
#jira none
#preflight none

[CL 18567303 by Ben Ingram in ue5-main branch]
2022-01-10 19:25:13 -05:00
Ben Ingram
6f2cbfee8c New material HLSL translator supports functions using control flow
#preflight 61dcc5b94d377749b662ee15
#jira none
#rb none

[CL 18567176 by Ben Ingram in ue5-main branch]
2022-01-10 19:10:49 -05:00
arciel rekman
8e8967db28 Fix blocking compilation when editing instances of special materials.
- Also added a check to surface a potential memory freezing issue earlier (unrelated).

#rb Ben.Ingram
[at]Ben.Ingram

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18546658 via CL 18546662 via CL 18546682 via CL 18547604 via CL 18547669 via CL 18547737
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18547799 by arciel rekman in ue5-main branch]
2022-01-07 13:03:26 -05:00
arciel rekman
22bdec058c Fix blocking compilation when editing instances of special materials.
- Also added a check to surface a potential memory freezing issue earlier (unrelated).

#rb Ben.Ingram
[at]Ben.Ingram

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18546658 via CL 18546662 via CL 18546682 via CL 18547604 via CL 18547669
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18547737 by arciel rekman in ue5-release-engine-test branch]
2022-01-07 13:01:04 -05:00
arciel rekman
2dd726f0dc Fix CIS (MaterialStats.cpp, deprecated SP removed).
#rb none
#jira none
#preflight none

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18485162 in //UE5/Release-5.0/... via CL 18485165 via CL 18485167
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18485191 by arciel rekman in ue5-main branch]
2021-12-17 14:56:38 -05:00
arciel rekman
75f714f374 Fix shaders stats not showing up on Mac (UE-134608).
#jira UE-134608
#rb Will.Damon
#lockdown Cristina.Riveron
[REVIEW] [at]Mitchell.Wilson

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18173938 in //UE4/Release-4.27/... via CL 18458421 via CL 18458609 via CL 18485099 via CL 18485103 via CL 18485112
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18485180 by arciel rekman in ue5-main branch]
2021-12-17 14:56:02 -05:00
arciel rekman
616fdffde0 Fix CIS (MaterialStats.cpp, deprecated SP removed).
#rb none
#jira none
#preflight none

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18485162 in //UE5/Release-5.0/... via CL 18485165
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18485167 by arciel rekman in ue5-release-engine-test branch]
2021-12-17 14:54:41 -05:00
arciel rekman
b65ed306c1 Fix shaders stats not showing up on Mac (UE-134608).
#jira UE-134608
#rb Will.Damon
#lockdown Cristina.Riveron
[REVIEW] [at]Mitchell.Wilson

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18173938 in //UE4/Release-4.27/... via CL 18458421 via CL 18458609 via CL 18485099 via CL 18485103
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18485112 by arciel rekman in ue5-release-engine-test branch]
2021-12-17 14:43:29 -05:00
arciel rekman
bf87e97c21 Improve availability of shader platforms in the mat ed (UE-136509).
#rb none
#jira UE-136509

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18387134 in //UE5/Release-5.0/... via CL 18387149 via CL 18387152
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v896-18170469)

[CL 18387164 by arciel rekman in ue5-main branch]
2021-12-06 15:34:28 -05:00
arciel rekman
1e5deb1942 Improve availability of shader platforms in the mat ed (UE-136509).
#rb none
#jira UE-136509

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18387134 in //UE5/Release-5.0/... via CL 18387149
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18387152 by arciel rekman in ue5-release-engine-test branch]
2021-12-06 15:33:50 -05:00
sebastian nordgren
1791adb9a8 Deprecated bDisplayResetToDefault and the other checkboxes in IPropertyHandle::CreatePropertyNameWidget().
#jira UE-132670
#preflight 61a601ff9a226d9e8235b12e

[CL 18323004 by sebastian nordgren in ue5-main branch]
2021-11-30 06:04:48 -05:00
ben ingram
5dae45efae Hand integrate CL 17250155:
Prevent stack overflow from material editor setting color from details view that doesn't own current color picker.
#jira UE-120042
#rb none

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18238668 via CL 18239212 via CL 18239370 via CL 18240762 via CL 18240831
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18242931 by ben ingram in ue5-release-engine-test branch]
2021-11-18 15:23:37 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
sebastian nordgren
8890867a8a Moved FDetailColumnSizeData to its own file.
#rb paul.chipchase
#preflight 617c0f47c44dc500016a989d

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18017897 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 18017953 by sebastian nordgren in ue5-release-engine-test branch]
2021-11-02 09:25:24 -04:00
dmitriy dyomin
883f6648c8 Mobile: fix a broken string formating for material stats
#jira UE-131469
#rb none

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 17975854 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17975863 by dmitriy dyomin in ue5-release-engine-test branch]
2021-10-29 05:45:24 -04:00
kevin ortegren
7bf79cbec3 [Backout] - CL17887288
[FYI] Ben.Ingram
#jira UE-132661
Original CL Desc
-----------------------------------------------------------------
Generate cached data for MID created at runtime in non-editor builds
Make sure material instance resources are updated from cached data loaded in non-editor builds
#jira UE-131802
#rb none

#ROBOMERGE-OWNER: aurel.cordonnier
#ROBOMERGE-AUTHOR: kevin.ortegren
#ROBOMERGE-COMMAND: _robomerge UE5-Release-Engine-Test
#ROBOMERGE-SOURCE: CL 17921250 in //UE5/Release-5.0/... via CL 17922774
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)

[CL 17930569 by kevin ortegren in ue5-release-engine-test branch]
2021-10-26 14:27:07 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
wei liu
a36d432240 Force mobile dynamic pointlight to use static branch.
#jira UE-131469

#rb Dmitriy.Dyomin

#p4v-preflight-copy 17870962

#ROBOMERGE-AUTHOR: wei.liu
#ROBOMERGE-SOURCE: CL 17883009 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17883020 by wei liu in ue5-release-engine-test branch]
2021-10-21 05:35:48 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ben ingram
0bb0a923a0 Merging Dev-LWCRendering into Main, this includes initial work to support rendering with LWC-scale position
Basic approach is to add HLSL types FLWCScalar, FLWCMatrix, FLWCVector, etc.  Inside shaders, absolute world space position values should be represented as FLWCVector3.  Matrices that transform *into* absolute world space become FLWCMatrix.  Matrices that transform *from* world space become FLWCInverseMatrix.  Generally LWC values work by extending the regular 'float' value with an additional tile coordinate.  Final tile size will be a trade-off between scale/accuracy; I'm using 256k for now, but may need to be adjusted.  Value represented by a FLWCVector thus becomes V.Tile * TileSize + V.Offset.  Most operations can be performed directly on LWC values.  There are HLSL functions like LWCAdd, LWCSub, LWCMultiply, LWCDivide (operator overloading would be really nice here).  The goal is to stay with LWC values for as long as needed, then convert to regular float values when possible.  One thing that comes up a lot is working in translated (rather than absolute) world space.  WorldSpace + View.PrevPreViewTranslation = TranslatedWorldspace.  Except 'View.PrevPreViewTranslation' is now a FLWCVector3, and WorldSpace quantities should be as well.  So that becomes LWCAdd(WorldSpace, View.PrevPreViewTranslation) = TranslatedWorldspace.  Assuming that we're talking about a position that's "reasonably close" to the camera, it should be safe to convert the translated WS value to float.  The 'tile' coordinate of the 2 LWC values should cancel out when added together in this case.  I've done some work throughout the shader code to do this.  Materials are fully supporting LWC-values as well.  Projective texturing and vertex animation materials that I've tested work correctly even when positioned "far away" from the origin.

Lots of work remains to fully convert all of our shader code.  There's a function LWCHackToFloat(), which is a simple wrapper for LWCToFloat().  The idea of HackToFloat is to mark places that need further attention, where I'm simply converting absolute WS positions to float, to get shaders to compile.  Shaders converted in this way should continue to work for all existing content (without LWC-scale values), but they will break if positions get too large.

General overview of changed files:
LargeWorldCoordinates.ush - This defines the FLWC types and operations
GPUScene.cpp, SceneData.ush - Primitives add an extra 'float3' tile coordinate.  Instance data is unchanged, so instances need to stay within single-precision range of the primitive origin.  Could potentially split instances behind the scenes (I think) if we don't want this limitation
HLSLMaterialDerivativeAutogen.cpp, HLSLMaterialTranslator.cpp, Preshader.cpp - Translated materials to use LWC values
SceneView.cpp, SceneRelativeViewMatrices.cpp, ShaderCompiler.cpp, InstancedStereo.ush - View uniform buffer includes LWC values where appropriate
#jira UE-117101
#rb arne.schober, Michael.Galetzka

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 17787435 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17787478 by ben ingram in ue5-release-engine-test branch]
2021-10-12 13:31:00 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00