- Abstracted the platform specific low level profiler API
- Added support for ATrace markers on Android
- Stubbed iOS, Linux, and macOS with unimplemented versions of the low level platform profiler API
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
These perform bulk queries of the underlying gradients which is much faster than performing a lot of individual queries.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Adding partial implementation of C++20 concepts and range functions for AZStd::span
The new concepts to discovered existing issues with the PathIterator and deque::iterator classes
PathIterator wasn't properly an input_iterator and therefore the Path classes weren't a range due to an incorrect const_iterator alias
The deque::iterator classes was missing the operator+ friend function that accepted a (ptrdiff_t, deque::iterator) to fulfill the random_access_iterator concepts
The AZStd implementations of (uninitialized_)copy(_n), (uninitialized_)move(_n) and (uninitialized_)file(_n) have been optimized to use memcpy and memset based on fulfilling the contiguous_iterator concept
Fixed invalid AZStd::vector inserts in FrameGraphExecuter.cpp and SliceditorEntityOwnershipService.cpp
The code was trying to copy the underlying addresses for vector<unique_ptr> to a vector<raw pointer> using insert, which it was doing by using memcpy.
relates to #6749
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the `fixed_vector` emplace function to not move initialized
elements using uninitialized_move.
This was causing initialized elements of the fixed_vector to be
overwritten with the element at the emplace position.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed clang warnings about variables that are set, but never read
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the `az_has_builtin_is_constant_evaluated` define to not have
"()" as is not a macro.
This helps prevent users from using `az_has_builtin_is_constant_evaluated`
define in a situation where they want to know if the function is being
evaluated in a compile time context.
In that case they need to use the `az_builtin_is_constant_evaluated()`
macro (which of course looks quite similiar) but does not have the word
"has" in it..
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AZStd span class to be C++20 compliant.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Changed phrase "DoesNotCompiles" to be more grammatically correct.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added more unit test for AZStd span
Fixed an the the return type of the subspan template overload to account
for the source span having a dynamic extent.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed unused variable from span unit test.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Revert the recent AWSApiRequestJob and ServiceRequestJob and use forward declaring to fix the GCC issue
Signed-off-by: Junbo Liang <68558268+junbo75@users.noreply.github.com>
* Add a ray cast API to the terrain system, implement it, and use it so entities can be placed on top of terrain.
Still to do:
- Unit tests
- Profiling/benchmarks
- Optimization (if needed, may not be now after updating to use the iterative approach, but one option could be to use SIMD to ray cast against both triangles at once)
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix typos.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Added a FindNearestIntersectionIterative to use in place of the first-pass FindnearestIntersectionRecursive attempt.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove some functions that are no longer being used.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove a unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove another unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Update to bail out as soon as t > 1.0f
Signed-off-by: bosnichd <bosnichd@amazon.com>
Was looking into options for making any part of this more generic or reusable but 60% of the code is just setup and teardown of processors, handles, entities, and components for the material editor viewport content. The rest is about handling material editors specific setting changes. Most of the general-purpose code has already been moved into atom tools framework render viewport widget. The best reduction or generalization from this point would be using prefabs or some other mechanism to data drive setting up camera, viewport model, IBL, lighting, sky box.
Also discussing options for replacing the material editor viewport camera controller and states with a generic one used in the main editor and animation editor.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
The help dialog just displayed some HTML text. The message box class provided by Qt can display the same information and styling without additional code. We don’t want to carry around the extra class to new applications based off of this one or port to ATF.
A simple about box was also added and can be fleshed out in the future.
Both dialogs will eventually need to be updated with additional information.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
Moving more potentially shared code out of the material editor into atom tools framework.
This change consolidates the lighting preset browser, model preset browser, and the base dialogue that they shared into a single, grid based, asset selection dialog.
AssetGridDialog should appear as a move and rename of PresetBrowserDialog but there are probably too many differences with new variable renames and SelectableAsset struct.
Along the way I found examples showing that event bus broadcast accepted generic functions and lambdas. Used this to do a minor cleanup of the viewport settings inspector where the preset dialogs were initialized and other places that did several back to back bus calls.
Signed-off-by: Guthrie Adams <guthadam@amazon.com>