* Prefab hotloading - load and maintain asset references
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Working hotloading
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Clean up code, add comments
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add missing includes
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add event for template removal.
Clear ProceduralPrefabSystemComponent lookup when templates are removed.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add unit test.
Fix missing include, make sure source name is set
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Update comments to make ebus event behavior more clear
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing includes
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing include
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix temp directory usage which doesn't work on linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix temp directory usage which doesn't work on linux
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Use AZ::IO::Path for comparison. Print paths on failure
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix unit test - register asset with catalog so it can be looked up later
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Preapre codebase for FileRequest compiletime improvements
This is preparing grounds for the next PR that will contain the 'meat'
of the changes.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove spurious newline.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Small change in behavior context attribute for a few
classes so they become visible when extracting Lua symbols
from the ScriptContextDebug() API.
From:
Attribute(AZ::Script::Attributes::ExcludeFrom,
AZ::Script::Attributes::ExcludeFlags::All)
To:
Attribute(AZ::Script::Attributes::ExcludeFrom,
AZ::Script::Attributes::ExcludeFlags::ListOnly)
It seems the previous code was simply trying to hide those symbols from
the Script Canvas node palette. But it was also, seemingly unintentional,
hiding those symbol from Lua Documentation.
Signed-off-by: galibzon <66021303+galibzon@users.noreply.github.com>
longer read form the users `~/.o3de/Registry` directory in non
debug/profile configurations.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
This was part of another instrumentation framework that was never fully integrated
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
The Legacy Cry XConsole code validates that CVars only contain
underscore and alphanumeric characters via an Assert in `debug`
configurations.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
- Use ref types
- Support using rapidjson::Value in lieu of rapidjson::Document
- Use the existing JSON comparison util function in tests
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Adds crc validation checks
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes invalid CRCs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changes test to smoke suite
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* excludes some test data from the validator
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* uses pathlib instead of os.path
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes wrong path to test scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Escape not needed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
The SettingsRegistryMergeUtils.cpp now supports specifying a path to a JSON Merge Patch formated settings registry file via the --regset-file option.
The option supports specify an anchor key to merge the settings underneath that is separated from the filepath via "::"
Ex. `--regset-file="Registry/custom.setreg::/Custom/Anchor"`
An AZ::Console command of "sr_regset-file" has also been added to allow merging of a setting registry file as well.
closes#5767
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Fixed incorrect frame boundary guess when loading a profile capture
Added some missing default initializers
Removed implicit dependency on Atom timing marker constants
Fixed issue with small visualizer viewport bounds when loading a saved capture
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Add a way to set the render vsync from code
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update change with PR feedback. Missing whitespace plus a comment on why the assignment is outside the value changed check
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
GHI bug https://github.com/o3de/o3de/issues/5866 describes a scenario in which the Editor freezes on 6-thread CPUs. This occurs because the Job Manager ends up with only 2 threads. The freeze occurs when the main thread spawns a culling job and blocks on it, a Mesh Feature Processor job spawns processing jobs and blocks on them, and a Material/ShaderVariant load queues an asset load and blocks on it. No new jobs can get started, and the main thread can't continue to process the asset load, so it freezes.
This workaround boosts the minimum number of threads from 2 to 3 by default, which fixes this specific scenario. The longer-term fix would be to fix any jobs that block on other jobs to no longer block, so that even 1 job thread would work correctly.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Added SerializeContext Reflection of FixedMaxPath class
Added UnitTest for validating path clas reflection
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the paths loaded during the serialization to use test path
separator
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Generic Cleanup
Removals:
* Unused cvars,member variables and defines
* Windows media center edition support routines
* CSystem - removed debug_GetCallStackRaw/GetRootWindowMessageHandler/
UnloadDLL/ShutdownModuleLibraries
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix CryMessageBox return values in Windows build
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove named selection group and a few smaller unused functionalities
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager export functionality + 2 deprecated functions
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove object legacy freeze/hide support from ObjectManager
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager duplicate name dection, as well as object renaming
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove ObjectManager serialization and selection callbacks
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - remove MoveObjects/HitTestObject/EndEditParams and related members/functions
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove a bunch of unused clone related functionality + misc
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - misc removals
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* ObjectManager - more removals
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused object selection/retrieval in ObjectManager and LoadObjects in ObjectLoader
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove unused material layers mask support
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More CBaseObject cleanups.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove SubObj functions and IMouseCreateCallback
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused procedural floor management, helper scale and tags.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject - remove more unused methods.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Removals in multiple places.
CBaseObject - unused `OBJTYPE_DUMMY` flag removed, member `IsSameClass`
CObjectArchive removed unused methods/members
CObjectManager removed unused `Update` method
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More removals
IDisplayViewport - HitTestLine/GetGridStep/setHitcontext/
GetConstructionPlane
Unused Cry_Matrix44 template specializations.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* O3DE.exe Project-Centric "Open Editor" fix (#5852)
* The O3DE.exe Open Editor button now attempts to open the Editor in the
build directory of the project being opened.
If their is no Editor within the build directory of the Project, it uses
the Editor.exe in the current O3DE.exe executable directory if it exists
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Engine .gitignore now ignores the build directory if placed in the
AutomatedTesting project
Previously it was just ignoring a `[Bb]uild` directory if it was
directly within the engine root.
This change matches the behavior of the project templates.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Renamed the ProjectUtils GetEditorDirectory function to
GetEditorExecutablePath
Added a platform specific implementation for retrieving the path to the
Editor executable in the GetEditorExectuablePath function.
It first attempts to locate the Editor via checking the project build
directory for an Editor executable before falling back to checking the
binary directory of the currently running O3DE executable.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correct the MacOS GetEditorExecutablePath to return the Editor path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Adding missing C++20 std::erase implementations (#5735)
There were already implementations for std::erase_if.
This adds the counterpart AZStd::erase versions
resolves#5734
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* More removals and refactors
`ShowMessage` and `CryMessageBox` return void now
Simplify code in `CSystem::WarningV`
Remove unused `CryGetTicksPerSec`
Remove unused WinBase functionality
Replace `nanosleep` call in WinBase with `std::this_thread::sleep_for`
Remove unused Win32Wrapper routines
Remove unused IFunctorBase.h and IEntityObjectListener.h
Fix VectorAndArray.cpp compilation
Use QMessageBox instead of CryMessageBox in the editor.
Remove empty ArchiveVars platform specific files
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix test code.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove an unused function
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* CBaseObject and undo description removals.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* A bunch of removals
* Remove IRenderNode
* Remove editor's KDTree
* Remove StatObjBus, InstanceStatObjEventBus::ReleaseData is redundant (
same functionality in the only available handler is triggered by
`OnCryEditorCloseScene`)
* Remove CExportManager::AddStatObj/AddMeshes/AddMesh,
IExportManager::ExportSingleStatObj
* Remove CIconManager/IIconManager::GetObject
* Remove CBaseObject::IntersectRayMesh
* Remove IIndexedMesh and related structs.
* Unused IUndoObject::GetDescription and all derived implementations.
* Unused CUndoBaseLibrary/CUndoBaseLibraryManager
* Unused Matrix34_tpl typedefs
* Legacy Xml classes cleanup
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove unused `Vec3ToVector3D` helper
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* fix - remove unused static variable
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
There were already implementations for std::erase_if.
This adds the counterpart AZStd::erase versions
resolves#5734
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* update return type for viewport screen functions
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add tests for AZ::Matrix3x4::CreateFromMatrix4x4 and add TransformPoint to Matrix3x4
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update NDC -> Ndc
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates following review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* updates and improvements following PR feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add forward declaration of Matrix3x4 type
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update where forward declarations are defined for Matrix3x4
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
AZStd::fixed_vector had all its functions marked with constexpr, but this requires all member variables to be fully initialized. This meant that the internal array used to store elements always has to be fully initialized. This was done for trivial classes but not for non-trivial classes. As a result trivial classes always did a memset (or more optimized versions for smaller buffers) while the non-trivial version couldn't actually be stored in a constexpr variable. Since AZStd::fixed_vector is meant to be dynamic the choice was made to remove the constexpr from all non-static member functions in favor of avoiding the overhead of memset, which profiling showed was a considerable overhead depending on the reserved size. If a truly constexpr array is needed than AZStd::array is a better choice as that's designed to not by dynamic.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
* Cherry-pick 49e8f35858
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Merging differences from development of other changes that need to be there for deb packaging
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Picks a needed change for the installer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes warning in mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Takes version from environment if defined
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Do not pick up version if it is empty string since that will also break version comparison
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* creating temp directories if they dont exist
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removing a dependency to itself (Multiplayer.Builders is an alias of Multiplayer.Editor)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Filters which runtime dependencies are passed from private build dependencies to only those that are actual targets.
This avoids something like a "d3d12" private build dependency from being passed to the runtime dependencies
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* [SPEC-7644] ParallelDeepAssetReferences is failing intermittently (#5721)
* Fixed race condition caused by trying to handle asset ready event before asset container has finished filling out all the data structures.
Added check to only handle asset ready once init is complete
Added unit test to verify fix
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Re-enable test
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add missing space to error message
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add comment on sleep
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Collapse nested namespace
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Collapse nested namespace
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
(cherry picked from commit 56900484fc)
# Conflicts:
# Code/Framework/AzCore/AzCore/Asset/AssetContainer.cpp
* Fix indentation
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* configure/generation working
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Generates deb package forLinux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes to EngineFinder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* changes the owner of the installed folder so it is writable by the user
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* jenkins scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes execution permission for scripts
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes wrong parameter to build for linux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removal of clang parameters in build_config.json
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Simplifies and fixes build configs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes to EngineFinder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adds linux deb package upload and small fixes/organization cleanup
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes checksum generation
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Some more small fixes for reviewing
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Test if this space is necessary for cpack
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* More fixes for installer jobs
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adding eval to variables that need to double-expand
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removing unused variables being passed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Do not remove symlink
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Use cmake_path for concatenating paths
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removing quotes so the variable expands
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* cleaned up some variables that have way too many ways to be passed
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Multiple fixes for Jenkins
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Cleanup/re-organization
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes some temp variables so we can run cpack jenkins jobs locally
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Delays cmake download to install step
Cleanup on installer_windows.cmd, we already have the path to cpack (same as cmake, which is added to the path)
Some simplification in the windows installer generation, we now generate the same even if we dont upload
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes mac install
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* CPack can generate hashes for us
Defiine CPACK_OUTPUT_FILE_PREFIX to prevent the exe/msi from ending in the bin dir
Remove unnecessary generation of folder from 3rdPartyPacakges which fails when including from cpack
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* multiple fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes typo
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes for linux/mac/windows (fixing discrepancies with Jenkins)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* uploads to S3 from the upload directory and fixes the latest upload
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Adds ERROR_VARIABLE to S3 upload to find a Jenkins issue
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* printing command invocation to try to figure out the errors
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changes the hashing algorithm to sha256 and fixes the cmd used to call to pythojn
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* wrong path being passed in mac
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* removes compiler parameters from a config job (after rebase)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* more fixes fro deb packaging job
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* small fix for fingerprint patching for latest
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Changing extension of public key and leaving better TODO places for code signing
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Removes sdl as a dependency, leaving it commented since it is needed for wwise
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixes runtime copy during install, makes it more consistent with regular runtime dependencies and optimizes copy when there is already an install
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* $ENV{DESTDIR} and CMAKE_INSTALL_PREFIX cannot be used in cmake_path because the CMAKE_INSTALL_PREFIX is absolute
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixing some runtime_dependencies optimizations, we cannot take size of a bundle
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes warning in mac for an unused variable
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixes a variable that was being passed to fix qt frameworks
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* More fixes for Jenkins
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Updates email to use for maintainer to match certificate
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* make directory because in some cases the dependency is copied before the actual library and the directory has to be created
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fix for a new warning/error in linux
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* The sha file is created after the upload happens, so creating it
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* remove the size comparison for install since it stomps over the copy from the target and doesnt trigger stripping
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Fixed race condition caused by trying to handle asset ready event before asset container has finished filling out all the data structures.
Added check to only handle asset ready once init is complete
Added unit test to verify fix
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Re-enable test
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add missing space to error message
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add comment on sleep
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Collapse nested namespace
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Collapse nested namespace
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Renamed ArchiveLocationPriority enum to FileSearchPriority and made it a proper enum class
Added an ArchiveVars.cpp which checks the a new define: `LY_ARCHIVE_FILE_SEARCH_MODE_DEFAULT`
That define represents the default value to use for the Archive system search mode
Moved the FileSearchLocation enum to the ArchiveVars.h header
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AssetBundleComponent to use AZ::IO::Path for level dirs
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a LY_ARCHIVE_FILE_SEARCH_MODE cache variable
The Cache Variable default value is to Archive File Search Mode to PakOnly
in Release. This can be overridden using a value for all configurations
by specifying a number of 0, 1 or 2.
Alternatively a generator expression can be used to set the Archive File
Search Mode in specific configurations.
For example to set the FileSearchMode to 1 in profile and 2 in release
the following LY_ARCHIVE_FILE_SEARCH_MODE value can be used
`$<$<CONFIG:profile>:1>$<$<CONFIG:release>:2>`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated AssetBundler(Batch) VS Debugger arguments to populate the
project-path optoin if a single project is configured.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Add support for serializing older versions of the AssetBundleManifest
This is done by attaching the "ObjectStreamWriteElementOverride"
attribute to the AssetBundleManifest reflection.
That attribute contains a function which outputs an older serialized
version of the AssetBundleManifest based on the `m_bundleVersion` member
value.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* AZStd::variant Serialization fix
The AttributeData<T> type is no longer suitable for storing the
ObjectStreamWriterOverrideCB function
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
This was due to incorrectly setting m_lastSimulationTickTimeUs when t_simulationTickDeltaOverride was enabled to the override.
m_lastSimulationTickTimeUs is now always set to the current time so the delta calculation will always be correct.
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Multiple cleanups ( tidy etc. )
Coalesce nested namespaces.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Multiple cleanups ( tidy etc. ) cntd.
Converted Uuid into POD ( defaulted the constructor )
Add `&/const &` to `for` loops that benefit from their use
Some Qt optimizations ( string ref, prevent container detaches, etc. )
Replace `::bind` in a few places.
Replaced the use of AZ_CRC with AZ_CRC_CE in a few places.
Replace a few `typedef`s with `using`s
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Linux compilation fix.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Apply review suggestions.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fix vs2019 build
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Small clang re-format in StringFunc.cpp
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Apply reviewer's suggestions.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Add interface to allow disabling global AZ Core test environment trace bus suppression
Update BaseAssetManagerTest class to disable the suppression by default
Update specific asset manager tests that rely on the trace bus suppression to ReEnable it
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove nodiscard
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove unique_ptr for disable token
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix move operator
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Switch to having individual flags for suppression of each type of output
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add cvar to force stacktrace output.
Clean up whitespace
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
- Replace AZ_TRAIT_MAX_JOB_MANAGER_WORKER_THREADS with AZ_TRAIT_THREAD_NUM_JOB_MANAGER_WORKER_THREADS that allows the number of threads created by the job manager to be set directly.
- Add AZ_TRAIT_THREAD_NUM_TASK_GRAPH_WORKER_THREADS that allows the number of threads created by the task graph to be set directly.
- Add a define that forces the AsyncUploadQueue to use the primary copy queue instead of creating a secondary copy queue.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix race condition where asset would finish loading and another request would start before the streamer request could be cleared
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Re-enable disabled test which was failing for the same reason.
Fix test timeout which was way too long.
Reduce test iterations to keep test time safely under 5 seconds.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Instead of using a mutex, re-order the statements to remove the streamer request first
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
(cherry picked from commit 0cea59d669)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix race condition where asset would finish loading and another request would start before the streamer request could be cleared
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Re-enable disabled test which was failing for the same reason.
Fix test timeout which was way too long.
Reduce test iterations to keep test time safely under 5 seconds.
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Instead of using a mutex, re-order the statements to remove the streamer request first
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
Replaced and removed the CryTimer (gEnv->pTimer). The new TimeSystem is a merger of the current time functionality found in the engine.
* Rename TimeSystemComponent.h/.cpp to TimeSystem.h/.cpp
* Adding New TimeSystem
* remove old timer cvars
* small improvements to the time system.
- updated parts to use the time conversion functions.
- in AdvanceTickDeltaTimes applying t_simulationTickScale is now uses doubles instead of floats.
* Replace gEnv->pTimer / ITimer usages with TimeSystem
* Updating usages of AZ::TimeMs{ 0 } and AZ::TimeUs{ 0 } to AZ::Time::ZeroTimeMs and AZ::Time::ZeroTimeUs
* red code the CryTimer
* using TimeUs instead of TimeMs is some cases + updating usages of old cvars to new
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Add a name to JobManager, all worker threads use that name to label their threads
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* update with PR feedback, changed to use AZStd::fixed_string::format
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Fix copy paste errors using local variable names
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* fix brute force mesh intersection function
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* add test for brute force ray intersection fix
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* refactor tests to remove as much duplication and provide API for future tests if required
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* small updates after review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update following review feedback
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* fix for pointer offset
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
the owner has removed it!
This fixes the issue by forcing NameDictionary to not transfer
ownership. This means ComponentApplication()::Destroy will fully destroy
the NameDictionary before the OS::Allocator is destroyed.
In Windows the bug was not happening when running AssetProcessorBatch
because for Windows, _exit() is called before the application shutsdown
forcing all module to properly decrease the reference count of
EnvironmentVaqriableHolderBase::m_useCount for NameDictionary.
In MacOS, there's no _exit() so when the NameDictionary destructor was being called
before existing the application the reference count wouldn't be 0, and
would eventually try to destry the NameDictionary BUT the OS::Allocator
was already destroyed.
Signed-off-by: galibzon <66021303+galibzon@users.noreply.github.com>
This change adds a `DomBackend` interface and a `DomBackendRegistry` for backend discovery (currently not hooked up to anything) alongside a JSON backend implementation.
The JSON backend comes with a small suite of unit and performance tests. The unit tests validate generic DOM conversion to and from serialized JSON and rapidjson::Document objects (the support for which lives in `JsonSerializationUtils.h`).
The performance tests show a throughput decrease compared to directly using the rapidjson serializer when mirroring our current pattern of copying strings from the serialized JSON representation, but with the coming in-memory store we have the opportunity to keep the buffer in memory and deserialize in-situ using rapidjson's API, which is consistently at least 100MiB/s faster on my machine (Ryzen Threadripper 3970X). The first parameter is the nested object complexity (N*N, objects with N keys comprised of arrays with N values) and the second parameter is the base size of the strings within each entry of this object.
```
----------------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
----------------------------------------------------------------------------------------------------------------------
DomJsonBenchmark/DomDeserializeToDocumentInPlace/10/5 0.050 ms 0.050 ms 10000 bytes_per_second=355.816M/s
DomJsonBenchmark/DomDeserializeToDocumentInPlace/10/50 0.057 ms 0.057 ms 11200 bytes_per_second=386.064M/s
DomJsonBenchmark/DomDeserializeToDocumentInPlace/100/5 4.77 ms 4.88 ms 112 bytes_per_second=364.046M/s
DomJsonBenchmark/DomDeserializeToDocumentInPlace/100/500 11.6 ms 11.7 ms 64 bytes_per_second=554.518M/s
DomJsonBenchmark/DomDeserializeToDocumentWithCopies/10/5 0.084 ms 0.084 ms 7467 bytes_per_second=212.55M/s
DomJsonBenchmark/DomDeserializeToDocumentWithCopies/10/50 0.099 ms 0.100 ms 6400 bytes_per_second=220.608M/s
DomJsonBenchmark/DomDeserializeToDocumentWithCopies/100/5 8.22 ms 8.16 ms 90 bytes_per_second=217.847M/s
DomJsonBenchmark/DomDeserializeToDocumentWithCopies/100/500 23.2 ms 22.9 ms 30 bytes_per_second=283.56M/s
DomJsonBenchmark/JsonUtilsDeserializeToDocument/10/5 0.070 ms 0.070 ms 11200 bytes_per_second=255.049M/s
DomJsonBenchmark/JsonUtilsDeserializeToDocument/10/50 0.086 ms 0.087 ms 8960 bytes_per_second=253.258M/s
DomJsonBenchmark/JsonUtilsDeserializeToDocument/100/5 6.86 ms 6.84 ms 112 bytes_per_second=260.033M/s
DomJsonBenchmark/JsonUtilsDeserializeToDocument/100/500 22.8 ms 22.9 ms 32 bytes_per_second=283.158M/s
```
For `AZ::DOM::Document`, the current plan is to offer helper methods that can load from a file path or string using a given backend that can take advantage of in-place parsing by internally storing the serialized buffer.
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Enable relocation of the Project Game Release Layout
Relocating the Project Game Release Layout to another directory on the file system failed due to the querying of the engine root failing due to the ComponentApplication::m_engineRoot not using the project path stored in the SettingsRegisry if the engine root cannot be detected
Removed the ApplicationRequestBus GetEngineRoot function.
The ComponentApplicationRequestBus has a function of the same name that returns the same path.
Removed the deprecated GetAppRoot function.
The path it returns has no defined value. It was not the engine root or the project root.
Removed unused CFileUtil and CFileUtil_impl functions that were invoking the ApplicationREquestBus GetEngineRoot function.
On the way to update the functions it was discovered that they aren't called
Added a CalculateBranchToken overload that can populate a fixed_string to avoid heap allocations
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Protect against an empty list of artifacts to remove when generating the
engine.pak
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>