84 Commits

Author SHA1 Message Date
brooke hubert
1245dca4a0 Allow Game View to be toggled in ortho viewports
#jira UE-211474
#rb sebastian.arleryd

[CL 32828661 by brooke hubert in ue5-main branch]
2024-04-09 12:08:41 -04:00
sergei svetlov
c739c0cb35 Clean up screenshot comparison report pipeline
#rb Jerome.Delattre
#jira UE-200919
#rnx

[CL 30687983 by sergei svetlov in ue5-main branch]
2024-01-18 12:22:38 -05:00
oleg krasnov
99d23a4344 FunctionalTesting - Make screenshot test actor details more intuitive while working with DisableNoisyRenderingFeatures/EyeAdaptation options.
#jira UE-117952
#rb Jerome.Delattre
#rnx

[CL 30175002 by oleg krasnov in ue5-main branch]
2023-12-07 02:32:18 -05:00
sergei svetlov
dc071d7436 Support the capability to add info, warning and error directly from Python test
#jira UE-198836
#rb jerome.delattre, sebastian.lewicki-qa-sdets

[CL 29359650 by sergei svetlov in ue5-main branch]
2023-11-02 06:07:56 -04:00
jerome delattre
4a5957a406 Add frame comparison failure to the test report when comparing image sequence for Movie Pipeline Functional Test
+ Improve messaging when movie pipeline test is failing for reason other than image comparison.
+ Store ScreenshotName inside comparison request and result.

#jira UE-194701
#rnx
#rb Matt.Hoffman, Sean.Sweeney

[CL 28750594 by jerome delattre in ue5-main branch]
2023-10-13 09:42:36 -04:00
Jerome Delattre
50a2846584 Avoid Take High Res Screenshot scripting command to unset viewport user settings
#jira PLAY-12210
#rnx
#rb Rob.Huyett, Sean.Sweeney

[CL 27966880 by Jerome Delattre in ue5-main branch]
2023-09-18 14:02:00 -04:00
Jerome Delattre
31881299d9 Add support for plain text to FAutomationTestBase::AddExpectedMessage
#jira UE-190032
#rb Chris.Constantinescu, Rob.Huyett

[CL 27118558 by Jerome Delattre in ue5-main branch]
2023-08-15 16:21:05 -04:00
christopher waters
e457524ce3 Addressing casing issues with Automation test results by using the casing from the map's path instead of the map name itself since that is more likely to be a different case on clients.
#jira UE-187814
#rb jeannoe.morissette

[CL 26574385 by christopher waters in ue5-main branch]
2023-07-25 11:08:02 -04:00
guillaume abadie
80b3fd8eaa Makes default r.ScreenPercentage settings configurable in project settings per renderer
Motivations of this change:
1) Temporal upscale by default in game builds even when dynamic resolution is not supported;
2) Fixes "Editor Preferences > Performance > Viewport Resolution > Override game screen percentage settings with editor settings in PIE" or (r.Editor.Viewport.OverridePIEScreenPercentage) that used to override r.ScreenPercentage in PIE by default to prevent accidental out of video memory when going PIE on high resolution/DPI display that was not discoverable enought user and generating misunderstanding;
3) Makes editor UI more understandable that the resolution controls under Settings > Engine Scalability Settings is actually PIE resolution settings, since the editor viewport screen percentage is controled independently in editor viewport top left menus;
4) Fixes inconsistency where VR and mobile renderer viewport didn't have their own settings like path tracer or non-realtime editor viewports had;
5) Adds resolution quality presets: just a slider for the 3D rendering resolution is very subjective to a player what to choose, whereas presets allows to more intuitively suggests trade off on the screen percentage range.

What this changes does to the end user:
1) Implements default screen percentage project settings in Project Preferences > Rendering > Default Screen Percentage (or r.ScreenPercentage.Default.*) for each indivual uses case that are: desktop renderer, mobile renderer, VR rendering, path tracer
1.1) Desktop renderer renderer default to screen percentage based on display resolution to automatically temporally upscale;
1.2) All other rendering methods (mobile render, VR renderer, path tracer) defaults to native resolution rendering as before.
2) Adds editor viewport screen percentage settings for mobile renderer and VR in Project Settings > Editor Performance > Viewport Resolution
3) Changes defaults of sg.ResolutionQuality and r.ScreenPercentage to 0 and fallbacks to project settings' default screen percentage
4) Rewrite Level Editor UI > Settings > Engine Scalability Settings to:
4.1) Says it only apply to PIE viewport, not including Simulate in Editor since these is still viewed with editor viewports, and warn when there is no PIE game viewports;
4.2) Explicitly says what is the current screen percentage of the PIE game viewport;
4.3) Explicitly says what is the current rendering and display resolutions;
4.4) Says what rendering mode is being applied (Desktop renderer, mobile renderer, VR rendering, path tracer)
4.5) Says where the settings come from, r.ScreenPercentage was directly set by console code, or whether the Engine Scalability was overident (sg.ResolutionQuality>0) or where the default settings come from (project's default screen percentage settings or editor viewport preferences)
4.6) Says the actually setting is being used (Manual, Based on Display Resolution, Based on OS DPI Scale)
4.7) Explicitly says which anti-aliasing method is being used on the anti-aliasing scalability group
5) The "Editor Preferences > Performance > Viewport resolution > Override project's default screen percentage settings with editor viewports' settings in PIE" (r.Editor.Viewport.OverridePIEScreenPercentage) now chooses whether the default screen percentage project settings should be overriden by the editor viewport's default settings. sg.ResolutionQuality and r.ScreenPercentage now behaving as a override, it means they are also applied in PIE to avoid user confusions when they do indeed what to take control of it in the project settings or game logic.
6) Adds resolution quality presets in BaseScalability.ini that can be customised in a project's DefaultScalability.ini:
6.1) Default 3D resolution preset: Sets sg.ResolutionQuality=0 to end up using the default project settings presets which for the case of the desktop renderer means temporal upscaling by default based on the display resolution like Fortnite's Recommended settings.
6.2) Performance 3D resolution preset: Sets sg.ResolutionQuality=100*1080/2160
6.3) Balanced 3D resolution preset: Sets sg.ResolutionQuality=100*1260/2160
6.4) Quality 3D resolution preset: Sets sg.ResolutionQuality=100*1440/2160
6.5) Native 3D resolution preset: Sets sg.ResolutionQuality=100

#rb rob.srinivasiah, jack.porter, juan.canada, allan.bentham
#jira UE-184651

[CL 25988162 by guillaume abadie in ue5-main branch]
2023-06-14 14:28:12 -04:00
Jerome Delattre
dd28bf9130 Avoid a crash with Screenshot Functional Tests in PIE client net mode
#jira UE-183130, UE-110748
#preflight 64500cc41c2846595c544adc
#Chris.Constinescu

[CL 25290021 by Jerome Delattre in ue5-main branch]
2023-05-01 15:47:29 -04:00
Jerome Delattre
a10fe36e87 Fix crash when using Automation Wait node in BP when AutomationController is not loaded.
#jira UE-173451
#preflight 63d2d379d21dbe1d29b8f54e
#rb Chris.Constantinescu

[CL 23915969 by Jerome Delattre in ue5-main branch]
2023-01-30 16:11:30 -05:00
bryan sefcik
0beee50b45 Updated ../Engine/Source/Developer/... to inline gen.cpp files
Before:
Total CPU Time: 53783.640625 s
Total time in Parallel executor: 558.66 seconds
After:
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

#jira

[CL 22173145 by bryan sefcik in ue5-main branch]
2022-09-24 13:31:25 -04:00
zak middleton
cab8a68724 #ue5 - Fix truncation warnings in modules: DeviceProfileServices, FieldSystemEngine, FontEditor, FunctionalTesting. Includes some related engine fixes as well.
#jira UE-160832
#rb Andrew.Davidson, Dave.Jones2
#preflight 632cbdc17b582f58ab6315ad

[CL 22164453 by zak middleton in ue5-main branch]
2022-09-23 20:23:56 -04:00
jason nadro
2344d8fab9 Back out blocking shader compilation change that caused more problems than it fixed.
#rb trivial
#jira UE-164210, UE-164236
#preflight 632a15d1826e0c2fe962a399

[Backout] - CL21983605
[FYI] Jason.Nadro
Original CL Desc
-----------------------------------------------------------------
Fix bug where we were not blocking on shader compilation before executing a material update context.

- Depending on timing could cause issues with missing shaders where we would update the component before its shaders were complete.
- By default just make the function that submits jobs always block.
- Renable some tests, which this change should fix.

#rb Arciel.Rekman, Chris.Kulla
#jira UE-155888
#preflight 631f7368f927bf0cbaf4e378

[CL 22105123 by jason nadro in ue5-main branch]
2022-09-20 19:23:28 -04:00
jason nadro
2b91bffc97 Fix bug where we were not blocking on shader compilation before executing a material update context.
- Depending on timing could cause issues with missing shaders where we would update the component before its shaders were complete.
- By default just make the function that submits jobs always block.
- Renable some tests, which this change should fix.

#rb Arciel.Rekman, Chris.Kulla
#jira UE-155888
#preflight 631f7368f927bf0cbaf4e378

[CL 21989440 by jason nadro in ue5-main branch]
2022-09-13 14:57:34 -04:00
zach bethel
d62d286474 Merged PreRender view extension RDG builder with scene render RDG builder.
- Ported remaining ISceneViewExtension calls to RDG.
 - Removed several empty override passes being added to the graph.
 - Merged two graphs into one.

#preflight 62c4c61a2a05d4f55bd5912f
#rb luke.thatcher

[CL 20971717 by zach bethel in ue5-main branch]
2022-07-06 15:33:30 -04:00
guillaume abadie
57bcbe4c7c Disables dynamic res on automated screenshot tests
#rb trivial

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19627950 via CL 19629834 via CL 19634036
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19635388 by guillaume abadie in ue5-main branch]
2022-04-05 19:23:53 -04:00
daniel coelho
0f0df12d27 USD: Improve reproducibility of automated tests.
Implement new function for switching view mode and visualize buffer before taking screenshots;
Screenshot individual buffers instead of using lighting on screenshot tests;
Fix import tests using whatever render context to import was serialized into the config for the import tests;
Disable geometry cache notification on other geometry cache tests;
Increase tolerance on test_pie_streaming_level to give more time for levels to stream in and out before checking for loaded actors;

#jira UE-138139
#rb Anousack.Kitisa, Jerome.Delattre
#preflight 620a448cd332bab853185b48

[CL 18977675 by daniel coelho in ue5-main branch]
2022-02-14 07:15:49 -05:00
Jason Nadro
135472bdb0 Adding functionality to compile remaining shaders for materials.
When running with ODSC in the editor Materials can have incomplete or partial shader maps.  In other words some shaders _might_ be missing.  If a render system requires all shaders to be present and can't use ODSC functionality to compile the necessary shaders we need a mechanism for compiling just the missing shaders.

- Added UMaterialInterface::CacheShaders() which is implemented for UMatetrial and UMaterialInstance.  The call is just forwarded along to CacheResourceShadersForRendering and InitStaticPermutation respectively.
- You can call CacheResourceShadersForRendering multiple times (even with a completed shader map) and it will not recache uniform expressions.  If the Resource's shader map is complete the function is a no-op.
- FObjectCacheContext can accept a UWorld and will only return primitives that are in that world.
- Added a function SubmitRemainingJobsForWorld(UWorld* World, EMaterialShaderPrecompileMode CompileMode) that will iterate all materials used by primitives in the world and compile the missing shaders.
- SubmitRemainingJobsForWorld() is used in various scenarios in the editor to ensure _all_ shaders are compiled for all materials before proceeding.
- Explicitly try to compile UI and PP materials.  Since we don't know which ones are used in the given world we just have to iterate all loaded ones.  This is a potential area of optimization.
- If there are already complete shader maps (if you are not running with the shader job cache), SubmitRemainingJobsForWorld is fast and results in a no-op for each material.

#rb Arciel.Rekman, Danny.Couture
#jira UE-136442, UE-136447
#preflight 61fc0e9c176256ec4f764206

[CL 18848560 by Jason Nadro in ue5-main branch]
2022-02-03 15:12:58 -05:00
guillaume abadie
b000ccbd8e Changes default screen percentage behavior in editor to take more advantage of TSR's upscaling behavior already enabled by default
1) Editor viewports now display at high DPI by default for better Gen5-console feeling in editor on high DPI monitors.

2) Realtime editor viewports now display at screen percentage based on the display pixel count. Fix screen percentage independent of the pixel range could either render not enough pixel at low display resolution or be too slow at high display resolution. Given the level editor viewport can scale in size based on editor user layout preference, monitor, the screen percentage automatically scalling based on display pixel count gives a better experience of quality consistency/GPU cost for rendering frame, especially when going level editor fullscreen with F11 or not. The curve to compute rendering resolution from display resolution is in BaseEngine.ini

3) Non-realtime editor viewports still display at a screen percentage based on OS DPI scale, independent of the display pixel count because use spatial upscaler and therefore need consistent sharpness not worst than editor fonts, but keep same rendering resolution as before to not increase out of GPU memory errors. The performance of potentially rendering at high resolution than a realtime viewport is ignored given the non real-time viewports are not rendering every frame.

4) PIE viewports now override r.ScreenPercentage by default to have consistent resolution quality and performance between realtime editor viewport and gameplay viewport by default without risk of introducing out of GPU memory errors loosing possibly unsaved editor work if the game's graphic settings default to a screen percentage higher. To advertise discoverability of this change, any update to the r.ScreenPercentage cvar will lead to a message display in console/log if overriden by editor settings or dynamic resolution settings.

5) As much as a project can change the default anti-aliasing method, can also configure on a per project basis the default screen percentage behavior in project preference that the editor user can then override locally for his/her own use with his editor settings. For instance mobile only or forward renderer MSAA only video games.

6) When working very high end work-in progress rendering tech project in a econemic context where lattest GPUs are hard to get, the range of GPU performance can vary greatly between contributor of the same projects. To provide more robustness for lowerend GPU of collegues with tech not yet scaling, the project settings now offer a MaxRenderingResolution for editor viewports that can also be overriden on a per user basis.

7) Automated screenshot already takes care of forcing r.ScreenPercentage.

#rb none
#preflight 61e58d4a873f2ea48f33facd

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18633512 in //UE5/Release-5.0/... via CL 18633532 via CL 18633538
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637384 by guillaume abadie in ue5-main branch]
2022-01-18 04:31:45 -05:00
rob krajcarski
274808bedc Fix for double delete with FAutomationScreenshotTaker
#rb jerome.delattre
#jira UE-120521
#preflight 61e05b0f341d372424dc1bc3

#ROBOMERGE-AUTHOR: rob.krajcarski
#ROBOMERGE-SOURCE: CL 18600492 in //UE5/Release-5.0/... via CL 18600519 via CL 18600549
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18601184 by rob krajcarski in ue5-main branch]
2022-01-13 14:17:14 -05:00
jon nabozny
cdc65f654f Reland: Fixes motion blur lengths when using time dilation
#rb josie.yang
#lockdown michal.valient
#preflight 614a44526c96990001c47143

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17606608 via CL 17962735 via CL 18364937 via CL 18364960
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365023 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:53:56 -05:00
jon nabozny
9693ad4915 Undo //UE5/Private-Frosty/Engine/... changelist 17586431
#lockdown michal.valient
#preflight revert for build breakage

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17587410 via CL 17948832 via CL 18364580 via CL 18364616
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364712 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:34:52 -05:00
jon nabozny
c418c40de0 Fixes motion blur lengths when using time dilation
#rb josie.yang
#lockdown michal.valient
#preflight 614a1e3259380f0001888d92

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17586431 via CL 17948712 via CL 18364381 via CL 18364522
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364604 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:30:35 -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