The CriticalAssetsCompiled event can be handled to detect when the
AssetProcessor has finished processing Critical Assets
Also with the new event, an audit has been performed over all the
locations where the AssetCatalogEventBus OnCatalogLoaded event was being
handle to make sure it was the proper event to use.
If the handler was actually examing the enumerating over the full
catalog or querying all assets within the catalog, then it was a proper
use.
For handlers that were interested in a particular asset it was not
Moreover added implementations of `OnCatalogAssetChanged` and
`OnCatalogAssetAdded` to the FileTagComponent and the MaterialViewportComponent.
Any applications which uses the AtomToolsApplication
class(MaterialEditor, AtomSampleViewerStandalone,
ShaderMangementConsole) now signals a "CriticalAssetsCompiled" lifecycle
event as well as loads the "assetcatalog.xml" if it exists.
The Launcher application signals the "CrticalAssetsCompiled" event and
reloads the "assetcatalog.xml" for the ${project}.GameLauncher and
${project}.ServerLauncher in Launcher.cpp
Finally the Editor signals the "CriticalAssetsCompiled" and reloads the
"assetcatalog.xml" in CryEdit.cpp
resolves#6093
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moves Test targets into a different folder to prevent MSB8028
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Simplifies an if that was affecting the whole file
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* AZStd::basic_string improvements
The AZStd::basic_string class has a better implementation of the Short
String Optimization, which increases the amount of characters that can
be stored in a `basic_string<char>` from 15 characters to 22
characters(not-including null-terminating characters). For a
`basic_string<wchar_t>` on Windows the amount of characters that can be
stored increases from 7 to 10. Using `basic_string<wchar_t>` on Unix
platforms SSO character amount from 3 to 4 characters.
An additional benefit is that the size of the AZStd::basic_string class
has been reduced from 40 bytes to 32 bytes when using the
AZStd::allocator.
When using a stateless allocator with no non static data members such as
AZStd::stateless_allocator, the size of the AZStd::basic_string is 24
bytes.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Corrected comments and updated type alias to usings for AZStd::basic_string
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added Benchmarks for the basic_string and basic_fixed_string class
The benchmarks currently measure the speed of the `assign` overloads.
A benchmark has also been added to compare the speed swapping two
`basic_string` instances by 3 memcpy vs 3 pointer swap operations
Speed up string operation when in the iterator overload cases of the
`assign`, `append`, `insert` and `replace` function.
The code was always performing the logic to copy over a string that is
overlapping, without actually checking if the string was overlapping in
the first place.
Added an `az_builtin_is_constant_evaluated` macro that allows use of the
C++20 `std::is_constant_evaluated` feature to determine if an operation
is being performed at compile time vs run time.
That macro is being used to speed up the char_trait operations at run
time, by using the faster standard library functions.
For example char_traits::move now uses "memmove" at runtime, instead of
a for loop.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Simplified string logic in AWSMetricsServiceApiTest.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Script canvas component has the member m_sourceData (that points to the script canvas asset) that internally has data, id and path. Path is serialized as the absolute path of the pc that is saving the level.
So when another pc loads the same level it cannot find the script canvas asset.
The function CompleteDescription takes a look at the id and takes the path from the asset catalog, but at the moment it's doing an early return because id and path are not empty (but path is the value serialized from other user saving the level).
By removing the early return condition then it it will resolve by using id, looking into the catalog and getting the real path.
This fix makes several physics automated tests that relied on script canvas to work.
Signed-off-by: moraaar moraaar@amazon.com
* Naive GetValues() implementation.
Added the method itself, and the benchmarks which show that even the naive version is currently 10-50% faster than calling GetValue() for multiple values.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Added comments documenting why the const_cast is there.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fixed link errors by creating new Shared.Tests lib.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Addressed PR feedback.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fixed incorrect comparison.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Adding a temporarily exclusion for terrain gem materials and shaders when building on mac. This is a short term fix until either:
- there's a generic way to exclude assets based on platform
- materialtype assets can directly exclude certain platforms (or ignore excluded shaders)
- shader compiling for mac supports unbounded texture arrays.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* moving setreg to gem and contraining to the exact files that are problematic
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adds mac test job
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Points to sysctl properly to handle zsh
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes some macos differences with Linux when reading the CTEST_RUN_FLAGS parameters
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* adding the test job to the profile pipe
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Disables some tests in Mac that are not passing
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* passes config to cli_test_driver and sets the right trait for the test (pytest instead of lytesttools)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Set proper traits for AtomRHI
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Corrected AZ_TRAIT_UNIT_TEST_PERLINE_GRADIANT_GOLDEN_VALUES_7878 values for Mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Disables EMotionFX tests in Mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removes debugging prints
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removes filters that were meant just for Linux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* quotes are re-quoted in the test_mac.sh script
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
Commit 67689d48cc enforced precision in
many vertex position outputs. This adds the attribute to the output of
the z-prepass, needed to ensure proper depth testing in the forward
passes.
Signed-off-by: Jeremy Ong <jcong@amazon.com>
* Bumped up terrain world limit to allow up to (and including) 4096 x 4096.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Changed loop calculations to handle floating-point math better.
By looping on floating-point values, query resolutions of unstable values like "0.200000007" would sometimes cause the loop to go one more time than it should.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* on demand reflect az events when they are the return value of ebuses
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
* fix crash and functionality for edit sc editor context menu action
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
When going into game mode or after initializing some system that takes a few seconds, the FPS counter showed really large numbers, extending across the whole with of the viewport. In this case, values show "inf" now.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
* Added debug draw function to the pose class for sharable and easy-to-use pose debug visualization that includes pose data debug rendering.
* Extended the pose data factory with the ability to add pose data types from outside of the EMFX SDK and external gems.
* In order to get access to the pose data factory, it got added to the EMFX manager.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>