Commit Graph

1696 Commits

Author SHA1 Message Date
Esteban Papp 36b7cb2814 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzCore/AzCore/Memory/HeapSchema.h
#	Code/Framework/AzCore/AzCore/Memory/HphaSchema.h
#	Code/Framework/AzCore/AzCore/Memory/MallocSchema.h
#	Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.h
2021-09-14 15:32:35 -07:00
lumberyard-employee-dm 4e8d4c0c51 Added a max_size function to all AZStd container style allocator functions (#4106)
* Added a max_size function to all AZStd container style allocator
functions

The max_size functions returns the maximum value that a single contiguous
allocation value returns

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the BestFitExternalMapSchema and MallocSchema
GetMaxContiguousAllocationSize function

Those functions now return a Max allocation size of
AZ_CORE_MAX_ALLOCATOR size to indicate the maximum size for a single
allocation

Changed the IAllocatorAllocator::GetMaxContiguousAllocationSize function
from a pure virtual function to regular virtual function

Removed the left over String.cpp test to validate that the issue with
the allocator::max_size() function was occuring

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-09-14 16:15:46 -05:00
Steve Pham 2382b5cbd3 Linux fix launch project manager from editor (#4105)
Signed-off-by: Steve Pham <spham@amazon.com>
2021-09-14 12:42:16 -07:00
Danilo Aimini c0426ba465 PerScreenDpi | QLabels incorrectly handle scale for icons (#4070)
* Fixes to icon generation. Generating a pixmap out of a size won't take the screen scaling factor into account, resulting in blurry results.
Note that this is not a catchall solution, every case needs to be addressed manually.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* HighDpi fixes for startup splashscreen and About dialog

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Add helper function to generate appropriate pixmaps for a screen based on its dpi settings.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-09-14 20:35:56 +01:00
Esteban Papp 988a6b7443 PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-14 10:29:20 -07:00
Esteban Papp ee2e728760 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-14 10:28:58 -07:00
hultonha 9d2352c3b7 Update the viewport interaction model to support single click select (#4094)
* add support for single click select

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove redundant profile macro

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* updates following review feedback

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix behaviour for fallthrough to match previous code

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-14 13:24:01 +01:00
Nicholas Van Sickle db63dcbcd9 Refresh rate driven rendering tick logic (#3375)
* Implement sync interval and refresh rate API for RenderViewportWidget

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Measure actual frame timings in the viewport info overlay.

Takes the median of the sum of (frame end - frame begin) to provide more a more representative view of when frames begin and end.

Note: Until VSync is internally supported by the event loop, this will produce nearly identical frame timings as the frame will spend as much time as needed synchronously waiting on a vblank.

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Make frame timing per-pipeline, wire up refresh rate info to ViewportContext

Signed-off-by: nvsickle <nvsickle@amazon.com>

* POC: Frame limit pipeline rendering

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Switch Editor tick to every 0ms to allow better tick accumulation behavior

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Move RPISystemComponent to the tick bus, remove tick accumulation logic

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Add `AddToRenderTickAtInterval` to RenderPipeline API

This allows a pipeline to update at a set cadence, instead of rendering every frame or being directly told when to tick.

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Make ViewportContext enforce a target framerate

-Adds GetFpsLimit/SetFpsLimit for actively limiting FPS
-Calculates a render tick interval based on vsync and the vps limit and updates the current pipeline

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Add r_fps_limit and ed_inactive_viewport_fps_limit cvars

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Quick null check from a crash I bumped into

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Fix off-by-one on FPS calculation (shouldn't include the not-yet-rendered frame)

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Clarify frame time begin initialization

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Fix TrackView export.

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Address some reviewer feedback, revert RPISystem API change, fix CPU profiler.

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Add g_simulation_tick_rate

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Address review feedback, make frame limit updates event driven

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Remove timestamp update from ComponentApplication::Tick

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-09-13 17:57:42 -07:00
Danilo Aimini 850d401bb3 PerScreenDpi | Moving windows between screens with different scale changes the window size (#4064)
* Fix window size when dropped on a screen with a different scale setting compared to the one it was dragged from.
Note that this fixes a bug that could only be reproduced with the PerScreenDpiAware setting activated - current editor uses SystemDpiAware.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>

* Fix loss of precision warning.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-09-13 14:55:55 -07:00
Danilo Aimini 2b7caa685b Introduce default font size. This fixes sizing and spacing for text rendered via a painter with not font specified. (#4069)
Also removed some qss for windows that have been removed.

Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2021-09-13 14:23:00 -07:00
Esteban Papp 880e3c99be PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-13 14:07:28 -07:00
hultonha 1e3c8edc40 Remove viewport freeze request bus (#4089)
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-13 18:04:20 +01:00
Esteban Papp 972944e762 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/Viewport.h
2021-09-13 08:59:24 -07:00
AMZN-AlexOteiza d884eef0f4 Merge pull request #4040 from aws-lumberyard-dev/automation_improv
Added EntityExists for automation
2021-09-13 17:14:35 +02:00
hultonha 7a58b72f15 Add remaining integration tests for viewport selection (box select) (#4075)
* updates to viewport box select tests

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add interface for querying keyboard modifiers

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove redundant casts

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update formatting options for trace functions in ActionDispatcher

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove redundant GetKeyboardModifiers call

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update how trace/log functions have been fixed to output during tests

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-13 15:19:46 +01:00
hultonha 28d45891f2 Remove redundant API calls from EditorViewportWidget and use new WorldToScreen call (#4022)
* remove redundant API calls from EditorViewportWidget and use new WorldToScreen call

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove additional pre/post widget render calls that are no longer required

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-13 09:36:34 +01:00
Esteban Papp 5965760612 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:27:01 -07:00
Esteban Papp 287d2a0fe7 Code/Framework/AzManipulatorTestFramework
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:19:52 -07:00
Esteban Papp 32b4958778 Code/Framework/AzToolsFramework
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:19:32 -07:00
Chris Burel 72cd282ad2 Avoid redefining PRI macros on Linux (#4055)
* Avoid redefining `PRI` macros on Linux

The fixed width 64-bit integer types are defined differently per platform.
Some platforms define it as "long", others define it as "long long". For
consistency, `AZ::u64` or `AZ::s64` is always defined to "long long".
However, this causes problems for formatting those types, because on
platforms where `uint64_t` is a `long`, `PRIu64` gives the wrong format
string for `AZ::u64`. Previously this was fixed by redefining the `PRI`
macros so that they work for `AZ::u64`, but that breaks the ability to
format `uint64_t`.

We could add an AZ-specific version of the `PRI` macros for 64-bit integer
types, but we don't really need to, since they are `long long` on every
platform we support.

 * Use `%ll` for `AZ::u64`
 * Use `PRIu64` for `uint64_t`

Signed-off-by: Chris Burel <burelc@amazon.com>

* Avoid redefining `PRI` macros in CryCommon

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-10 15:16:33 -07:00
Mike Balfour 280796e1f4 Fix GHI 4041 Terrain Shader Crash (#4050)
The terrain feature processor was crashing due to an invalid shader name.  The shader name has been fixed, but the feature processor has also been hardened so that it no longer crashes if a shader fails to load.
Also, while testing, this inadvertently exposed a second crash in EntitySerializer that occurs when components don't serialize in correctly.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-09-10 11:59:20 -05:00
Esteban Papp 81749ac318 Improves numeric_cast compilation (#3995)
* Improves numeric_cast compilation:
before: 872s
after: 824s (5.5% reduction)

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 08:41:19 -07:00
bosnichd d366620818 More PAL related changes required for restricted platforms. (#4037)
Signed-off-by: bosnichd <bosnichd@amazon.com>
2021-09-10 09:08:07 -06:00
lumberyard-employee-dm e638f27572 Fixed PathView MakeRelativeTo and Append functions path segment comparisons (#3628)
* Fixed PathView `MakeRelativeTo` and `Append` functions path segment
comparisons  when using the Windows path separator of '\'

The PathSegment comparisons were case-sensitive in both those functions
and now use `Internal::ComparePathSegments` function to perform the
appropriate case comparison based on the path separator value of the
Path class

Reverted the LocalFileIO::CheckInvalidWrite function back to not
lowercasing the assets alias and input path before invoking
`PathView::IsRelativeTo`

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Simplified the LocalFileIO::ConvertToAliasBuffer logic

Fix for the ArchiveTest
`IResourceList_Add_AbsolutePath_RemovesAndReplacesWithAlias` and
`TestArchiveViaFileIO` test

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added a PathIterable structure stores a non-heap container of normalized path segments of an input path.

Moved the PathParser logic to a PathParser.inl file

Removed dependency of the PathView::IsRelativeTo logic on FixedMaxPath
There is no longer a 1024 character limit when determining if a path is relative to a base
Added a GetNormalPathParts and AppendNormalPathParts to function and removed LexicallyNormalInplace to share the logic for creating a normalized path between IsRelativeTo and LexicallyNormal

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Clang PathIterable.inl build fix

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed Normalize and Relative Path functions initialize the result paths

With the correct path separator for the paths being transformed

Ported over the Custom Path Root Separator logic to the PathParser.inl

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated he Shader Preprocessor include path gather.

It now uses AZ::IO::Path for the path operations and checks if the path
exist before adding it to the list of include paths.

Finally the set logic has been removed for a simpler find_if check to
see if the include path already since in the project include paths

This fixes the Asset Processing issues with shader includes due to the
Path.inl changes

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed tail recursion call to AppendNormalPathParts to supply a PathView with the same path separator as the parent call

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding reference qualifier overloads to the Path class Native function

Removed the conversion operators from the Path class for converting to a
string_type&/const string_type&

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-09-10 10:02:17 -05:00
Mike Balfour 0505f200e5 Remove extra/bad profile markers (#4031)
Many of these are just extra noise in the profile, but the one in Archive.cpp could also cause PIX to crash.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-09-10 09:11:06 -05:00
AMZN-AlexOteiza 0f0812c198 Reverted unintended change
Signed-off-by: AMZN-AlexOteiza <aljanru@amazon.co.uk>
2021-09-10 11:25:51 +02:00
AMZN-AlexOteiza e1829ac052 Added EntityExists for automation
Signed-off-by: AMZN-AlexOteiza <aljanru@amazon.co.uk>
2021-09-10 11:22:48 +02:00
Artur K 3a4937456a Build time reduction: AzStdOnDemandReflection (#3111)
* Move a few specializations from AzStdOnDemandReflection.inl to cpp file

This reduces compilation time and produced profile/debug file sizes.

The specializations for string and string_view are only implemented for 'char' type, since
others are not used anywhere.

Extracted `Reflect` method from `ClientAuthAWSCredentials` to a cpp file.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Windows build fixes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Added missing license.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix missing spaces in template argument lists

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Clang format on ClientAuthAWSCredentials.cpp

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Merge upstream development and fix linux build.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-09-09 19:08:33 -05:00
Steve Pham cf4cb2750a Adding missing pragma header guards to _xcb.h header files (#4029)
Signed-off-by: Steve Pham <spham@amazon.com>
2021-09-09 16:27:39 -07:00
Chris Burel 0445ec3956 Remove references to unsupported "xlib" windowing system support (#4028)
Support for X clients is provided by xcb instead.

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-09 16:13:23 -07:00
Esteban Papp 9f6d4125b8 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-09 11:50:40 -07:00
Esteban Papp d836503814 some more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-09 11:50:13 -07:00
bosnichd 9976ee2b8e Miscellaneous fixes and PAL changes required for restricted platforms. (#4021)
* Miscellaneous fixes and PAL changes required for restricted platforms.

Signed-off-by: bosnichd <bosnichd@amazon.com>

* Rename O3DE::ProjectManager::ProjectUtils::ReplaceFile -> ReplaceProjectFile to prevent conflict with Windows ReplaceFile #define

Signed-off-by: bosnichd <bosnichd@amazon.com>
2021-09-09 12:09:17 -06:00
Steve Pham 6cb2222da8 Linux native window (#3975)
Initial implementation of Native Window for Linux

Signed-off-by: Steve Pham <spham@amazon.com>
2021-09-09 10:49:39 -07:00
carlitosan 52460189aa Merge pull request #3964 from aws-lumberyard-dev/carlitosan/development
Upgrades and stability fixes for version explorer
2021-09-09 10:42:53 -07:00
AMZN-koppersr a62cb8cf2b Merge pull request #3999 from aws-lumberyard-dev/Prefab/IncreaseReadFileSizeLimit
Set max file size limits for AZ::JsonSerializationUtils::ReadJsonFile and AZ::Utils::ReadFile
2021-09-09 10:33:40 -07:00
AMZN-koppersr f9ce966103 Merge pull request #3440 from aws-lumberyard-dev/Prefab/SaveAllPrefabs
Provide options to save prefabs when saving levels
2021-09-09 10:33:22 -07:00
Esteban Papp 91e9c8d81f Adds unused calls to Trace functions to prevent constant failures in release builds
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-09 09:11:19 -07:00
srikappa-amzn 546ce377f0 Merge branch 'development' into Prefab/IncreaseReadFileSizeLimit
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-09 09:09:04 -07:00
srikappa-amzn fd78b42f67 Merge branch 'development' into Prefab/SaveAllPrefabs
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-09 09:08:22 -07:00
hultonha d82b2a0608 Initial test coverage for viewport selection before introducing new 'single' select functionality (#3987)
* WIP changes for viewport single select and better integration tests

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* update test to verify single click selection in the viewport

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* temporarily remove changes for single select

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* temporarily remove ChangeSelectedEntity call

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* initial tests to validate current viewport selection model

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* some tidy-up before publishing PR

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add reference to const type in loop

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* temporarily disable box select test

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-09-09 10:23:55 +01:00
Steve Pham e6573766c2 Fixes for release builds for unused variable warnings (#4000)
Signed-off-by: Steve Pham <spham@amazon.com>
2021-09-08 21:13:36 -07:00
Esteban Papp f414cd3966 More fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-08 16:50:57 -07:00
srikappa-amzn b87b807de9 Fixed an unused variable error in linux build
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-08 16:07:22 -07:00
srikappa-amzn 7bf5894513 Set max file size limit as default parameter for ReadFile
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-08 14:29:08 -07:00
srikappa-amzn 92986c7012 Merge branch 'development' into Prefab/SaveAllPrefabs
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-08 14:11:50 -07:00
srikappa-amzn 1e7af75d94 Merge branch 'development' into Prefab/IncreaseReadFileSizeLimit
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-08 14:09:07 -07:00
Esteban Papp d58bda5bbf WIP
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-08 13:43:30 -07:00
chcurran 32515f33d4 Merge branch 'development' of https://github.com/o3de/o3de into carlitosan/development 2021-09-08 11:59:43 -07:00
srikappa-amzn c7fbdb0ace Make level name appear in bold and update save all prefabs settings registry key
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
2021-09-08 11:49:33 -07:00