Commit Graph

6831 Commits (4dab267dc90513af1c46b4c8e6d615e44fb628c5)
 

Author SHA1 Message Date
Gene Walters 4dab267dc9 Fix AzAutoGen output to use a proper output using path.commonpath instead of path.commonprefix, which unlike commonprefix always return a valid path. For example, commonprefix [usr/hello.txt, usr/helium.cpp] would return usr/he
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
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>
4 years ago
Steve Pham 2382b5cbd3
Linux fix launch project manager from editor (#4105)
Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
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>
4 years ago
Gene Walters 73b04d7e34
Network Input Exposed to Script (#3990)
* NetworkInput now has new attribute called ExposeToScript. NetworkInput with this attribute set to True will be exposed to behavior context. Also added a CreateFromValues for the NetworkInput where scripters can create an instance of the MyComponentNetworkInput class which will eventually be passed around CreateInput and ProcessInput events.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Adding Create Input event handler. SC can now receive the event to create input, and send it over the network

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Auto-component controller will now generate CreateInput/ProcessInput methods if they have input exposed to script, not ready for use yet, just stubbed in

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Reducing code replication by putting common network input variables into AutoComponent_Common.jinja

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Fix minor comment typo in the CreateInput method

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Small fix. Changing ebus call from MyComponentNameCreateInput to just CreateInput. It's part of the MyComponentRequestBus so adding the component name before CreateInput is noisy

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Cleaning with jinja a bit using macro calls to iterate over scriptable netinputs

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput will now be triggered in script

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput event is sent to script. Script can now create and process input. Tested locally with a simple script.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Created a seperate CreateInputFromScript and ProcessInputFromScript. Developers no longer need to remember to call the BaseClass::CreateInput and ProcessInput since CreateInputFromScript will automatically be called beforehand.

Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
lumberyard-employee-dm a91ea7d549
Removed unused EngineJson.cmake file (#4107)
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
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>
4 years ago
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>
4 years ago
srikappa-amzn b2963f2bc1
Renamed AtomMaxFileSize to DefaultMaxFileSize (#4067)
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
4 years ago
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>
4 years ago
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>
4 years ago
Nicholas Lawson 6103c9c63c
Updates libtiff for all platforms (#4068)
The new libtiff is uniform, and static, across all platforms.
It includes zlib support and uses our own zlib.

Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago
Esteban Papp de3d2a2b69
Detects that binary dir and install prefix are not the same (#4091)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Scott Romero 32e6473de2
[development] Update RapidXML package info (#4057)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
hultonha 1e3c8edc40
Remove viewport freeze request bus (#4089)
Signed-off-by: hultonha <hultonha@amazon.co.uk>
4 years ago
rgba16f [Amazon] 4c1c2d6f6b
update freetype library revision used (#4065)
* Update freetype linux package revision

* Update mac & ios revisions of the freetype library

* Update Mac freetype to use rev 16

* update linux to use freetype rev 16

* Update Android & Mac to use freetype rev 16

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
4 years ago
sphrose 9c07078ee8
Change shape type in test mock plus bugfix. (#4073)
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
4 years ago
AMZN-AlexOteiza d884eef0f4
Merge pull request #4040 from aws-lumberyard-dev/automation_improv
Added EntityExists for automation
4 years ago
moraaar 6628f5bad1
Marking script canvas failing tests as xfail until they can be reworked to make them pass. (#4077)
Signed-off-by: moraaar <moraaar@amazon.com>
4 years ago
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>
4 years ago
AMZN-AlexOteiza fd627af003
Merge pull request #4048 from aws-lumberyard-dev/automation_improv4
Renamed folder physics -> Physics
4 years ago
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>
4 years ago
Benjamin Jillich 51ce59e240
EMotion FX: Resetting the anim graph while in the middle of selecting transitions for interruption crashes the Editor (#4026)
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
4 years ago
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>
4 years ago
Alex Peterson 5bf749dcac
fix infinite loop due to thin triangles (#4027)
* fix infinite loop due to thin triangles

Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>

* check exact triangles size

Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
Junbo Liang 3535d6b6b3
[AWS Automation] Stack tear down mechanism for the deployment on Jenkins (#3656)
Make awsi_test_profile_vs2019 a nonblocking step to make sure that resources are cleaned up even though automation tests failed

Signed-off-by: Junbo Liang <junbo@amazon.com>
4 years ago
Mike Balfour 2629216e46
Optimize MemoryView::SetName (#4052)
* Optimize MemoryView SetName
Added a second version that uses wstring_view instead of string_view so that no temporaries need to be created when passing in a string literal that's already a wstring.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Changed to use SetPrivateData

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
4 years ago
bosnichd 141cb55903
Fix issue #4045 (#4053)
* Remove unused Vulkan ShaderDescriptor class.

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

* Add missing dependency on Gem::Atom_RHI.Public

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

* Revert changes made to Gems/Atom/RHI/Vulkan/Code/* in https://github.com/o3de/o3de/pull/4021, and instead just check a trait to determine whether the RHI Vulkan targets have been defined else where. Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt maybe needs to be revisited at some point, but my changes are causing numerous issues on mac so this just restores the prior behavior for all platforms while also providing a mechanism for any platform to simply define exactly what Vulkan related targets it needs independently.

Signed-off-by: bosnichd <bosnichd@amazon.com>
4 years ago
Jonny Galloway 43355e47ca
minor bug fixes based on finding defects while using (#4035)
Signed-off-by: Jonny Gallowy <gallowj@amazon.com>
4 years ago
Esteban Papp 5909e471e6
Limits configuration types a project sees when using an engine SDK (#4033)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Qing Tao d9cbc97ec0
ATOM-16063 Remove SetShaderResourceGroupCallback in scene and update scene srg handling (#3969)
ATOM-16273 Compiling SceneSRG before updating it can cause a gpu crash

Changes include:
1. Removed Scene::SetShaderResourceGroupCallback() function and clean up code which use this function.
2. Moved SceneTimeSrg.azsli to RPI's DefaultSceneSrg folder and setup the constants in RPI::Scene
3. Add AZ::Event for Scene's update srg event which features and update scene srg at proper place
4. UpdateTransformServcie FP to use PrepareSceneSrg event handler.
5. Clean up shaders and srgs used in project templates.

Signed-off-by: Qing Tao <qingtao@amazon.com>
4 years ago
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>
4 years ago
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>
4 years ago
Esteban Papp ba331b29f7
Creates destination directory if it doesnt exists file(ARCHIVE_CREATE will fail if the directory is not there
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
bosnichd d366620818
More PAL related changes required for restricted platforms. (#4037)
Signed-off-by: bosnichd <bosnichd@amazon.com>
4 years ago
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>
4 years ago
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>
4 years ago
AMZN-AlexOteiza 78d0b46f08 Updated path in CMakeLists.txt
Signed-off-by: AMZN-AlexOteiza <aljanru@amazon.co.uk>
4 years ago
AMZN-AlexOteiza 5441ab4bac Rename to final folder name 4 years ago
AMZN-AlexOteiza ddd662f6b9 rename to tmp name 4 years ago
AMZN-AlexOteiza 0f0812c198 Reverted unintended change
Signed-off-by: AMZN-AlexOteiza <aljanru@amazon.co.uk>
4 years ago
AMZN-AlexOteiza e1829ac052 Added EntityExists for automation
Signed-off-by: AMZN-AlexOteiza <aljanru@amazon.co.uk>
4 years ago
carlitosan c3e285cff7
Merge pull request #4034 from aws-lumberyard-dev/carlitosan/development
remove false error from deserializing BC nodes
4 years ago
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>
4 years ago
Steve Pham cf4cb2750a
Adding missing pragma header guards to _xcb.h header files (#4029)
Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
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>
4 years ago
Esteban Papp 7f7d3d9c1c Creates destination directory if it doesnt exists, `file(ARCHIVE_CREATE` will fail if the directory is not there
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
chcurran e3d007319d remove false error from deserializing BC nodes
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
4 years ago
moudgils 10900fee38
Disable PSO caching if Renderdoc or Pix dlls are loaded as they confl… (#3976)
* Disable PSO caching if Renderdoc or Pix dlls are loaded as they conflict with dx12 api

* Add support for command line param --enablePixGPU which manually loads the pix gpu capture dll
 - This will allow pix to attach to a running process if the enablePixGPU is enabled
 - Support for enabling/disabling gpu markers based on enablePixGPU

Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Vincent Liu 8dbecb654e
[SPEC-7868] Update AWS Gems cmake target with correct runtime dependencies (#3991)
Signed-off-by: onecent1101 <liug@amazon.com>
4 years ago