* EnvironmentVariableHolder: reduce the size of template instantiation.
Move almost all destruction logic to EnvironmentVariableHolderBase::UnregisterAndDestroy.
Specialized templates have DestructDispatchNoLock instead that can either destroy the held value,
or the holder itself.
UnregisterAndDestroy has been moved to the cpp file.
All of these changes reduce the profile build time and size on linux
Here, the size of bin/profile goes down by ~200MB.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Requested changes/fixups.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Use scoped_lock to simplify mutex management.
Updated comments.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Hopefully a fix for env variables released at a wrong time
Conditional was using incorrect variable
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Comment fixup
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Missing negation in conditional
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Cleanup the internal logic in UnregisterAndDestroy
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
"If constexpr" branches are evaluated at template instantiation time,
but static assertions receiving false are triggered even earlier.
Signed-off-by: Jeremy Ong <jcong@amazon.com>
Also, came up with more useful benchmarks that actually measure the
enqueue/dequeue operations for various simple workflows. For retained
graphs, time-of-flight from submission to execution is ~1us per job,
indicating job granularity should be >20us for retained jobs. For
dynamic jobs, where we need to pay the cost of allocation, a granularity
of ~100+ us may be advised.
Signed-off-by: Jeremy Ong <jcong@amazon.com>
- Handle changing of active camera entirely inside CameraComponentController
- Remove a LOT of legacy Cry things related to cameras
- Add a CameraSystemComponent to handle ActiveCameraRequestBus and CameraSystemRequestBus
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
* Fixed bug in hash_table that made rehash() function to run infinitely on specific conditions when inserting an already existing element
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Replaced erasing to happen in the source list instead
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* minor comment improvement
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Small commment improvement
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Small comment fix
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Added assert and fixed code with incorrect hashing
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* .
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Addressed PR comments, reverted to void* as it size_t hash is different
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Fixed build on linux
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Addressed PR comments
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Fixed the emplace function implementations for stack and queue
Cleaned up several functions in the stack, queue and priority_queue
classes that were non-standard or weren't needed.
Updated the "style" of the code to use more modern concepts: "typedef" ->
"using", empty constructor body -> default keyword.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Replaced the custom implementations of AZStd stack, (proirity)queue
Theses classes now have a template alias to the standard library version
of the classes
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated print_registration functions to fix "register-show" command
Added unit test to validate the argparse options to the register show
command.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the register.py script to once again register an engine list
Previosly each engine were registered into a dictionary with multiple
keys, but once the engine.json started to self describe the registered
content that came with it, it was reduced to a single 'path' key.
Therefore it has been changed to a list to be consistent with other o3de
object paths
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the SettingsRegistryMergeUtitls Code which parses the attempts to locate the engine path associated associated with the project.json engine key to check the 'engines_path' object within the o3de_manifest.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated print registration unit test to patch the get_project_path
This is to make sure that the existence of the placeholder project path
isn't validated when running the test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Typo and formatting fixes for the print_registration script
Also corrected indentation in unit_test_print_registration script
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Some var cleanup so it shows better-organized in cmake-gui. Some vars were also not following the namign convention we are using
Removed some unnecessary messaging
Fixed a TIF bug where it would report the wrong test in a message, fixed a message that was being triggered
Changed TIF to be enabled just by the binary so running the ci_build scripts locally doesnt trigger TIF messaging
Removed `LY_ENABLE_MULTIPLAYER_COMPRESSION`, it was not being used
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* handling case where a parameter can be empty
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* needs to be var name, not contents
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Add an Orthogonal Projection option to the Camera Gem
This adds a check-box to opt into an ortho projection along with a half-width parameter to adjust the size of the visible area. Includes some light tweaks to ensure debug rendering looks OK and that we generate a correct camera state for these non-perspective views.
Known issue: while in "Be this camera" mode in the Editor using an ortho projection manipulators aren't working correctly. This appears to be a downstream issue with CameraState consumers not actually checking the ortho flag.
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Fix some typos
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Account for reversed depth buffer
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Clarify depth reversal for MakeOrthographicMatrixRH
Signed-off-by: nvsickle <nvsickle@amazon.com>