Commit Graph

11905 Commits

Author SHA1 Message Date
santorac 235613710f Merge pull request #7537 from aws-lumberyard-dev/Atom/santorac/RemixableMaterialTypes4_Layering
Added Support For Factoring-Out Material Property Groups
2022-02-11 12:03:39 -08:00
lumberyard-employee-dm d7ee248df5 Range adaptor support (#7388)
* Updated the SFINAE checks in concepts.h and range.h

To use conjunction and disjunction for short-circuiting behavior.

Replaced AZStd::optional implementation with std::optional alias

Added range adaptor support and the following views: ref_view,
owning_view

Added bitwise or(|) overload for chaining range adaptor closures together

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding indirectly invocable concepts.

These concepts are used to determine whether a callable can be invoked
with a dereferenced iterator instance.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Add implementation of range relational function objects

Add implementation of range min max functions which uses the range
relation function objects(ranges::less, ranges::equal_to, etc...)

This is needed to implement ranges::zip_view

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding interface for zip_view which compiles successfully

The implementation for the zip view functions still need to be filled.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding function definitions for zip_view classes.

Adding empty header of subrange.h for the ranges::subrange class

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding additional view implementations.

The following range and view classes have been added: empty_view,
single_view and subrange.

Moved the AZ_NO_UNIQUE_ADDRESS macro to PlatformDef.h to allow other
code to specify the [[no_unique_address]] attribute.

Added additional test for view structures.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding missing includes for non-unity builds

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Workaround for NDK21 clang 9.0.9 compile issue.

The AZStd::ranges::zip_view::iterator::iter_swap friend function is in the
AZStd::ranges namespace, while the customization point object of
`AZStd::ranges::customization_point_object::iter_swap` is in the regular
namespace of `AZStd::ranges` and the inline namespace of
`customization_point`.

This issue is fixed in NDK23, but as Jenkins uses NDK21 at the time, the
entire zip_view implementation has moved to inline namespace of
`zip_view_internal`

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added iterator algorithm requiremetn concepts

Fixed the ambiguity in the ranges::iter_swap exchange overload to
exclude itself as a candidate if the iterator reference types are
swappable with each other.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding type alias for borrowed_subrange_t

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed convertible to ref_view check in the ranges::all
customization_point

Updated SFINAE detection of whether AZStd::to_address is invocable

Moved the

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed private variable access in ranges::subrange get specialization.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removing ranges::view constraint from the ranges::views::single
customization_point.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding C++23 range overload for string_view.

It is detailed in the [C++draft strings](https://eel.is/c++draft/strings#lib:basic_string_view,constructor____) section

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementations of ranges, find, search, mismatch and equal
functions.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementation of ranges split_view along with test.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding const overloads to SceneAPI ProxyPointer container

The Proxy Pointer class operator* and operator-> was unable to be
invoked with a const instance before. Now it returns a const view of the
pointer it contains.
This allows it to be invoked in `AZStd::to_address` as part of an SINAE
context for the contiguous_iterator concept

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Refactored the to_address implementation to better work with SFINAE.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding general non-unity build fixes

This is unrelated to the RangeAdaptor changes.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Allow range algorithms to be used with rvalue ranges

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Workaround MSVC Internal Compiler erroy by removing enable_if
condition in the operator bool of the view_interface class.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Corrected the non_propagating_cache helper class to have public
functions

Fixed the order of creating the perfect forwarding call wrapper for an
outer closure around another closure.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Specialized the borrowed_range and view concepts

For the AZ PathView class, since it is a immutable view around a path.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed inline namespace around the zip_view class.

It was needed to workaround a clang 10 or below issue where a friend
function in a namespace and a variable within underneath an inline
namespace within the function namespace would cause an improper symbol
redefinition.

The workaround is to create a placeholder namespace containing the
inline namespace and then bring that placeholder namespace into the
parent scope.

https://bugs.llvm.org/show_bug.cgi?id=37556

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementation of the elemetns_view and join_view classes

It is up to date with the standard as of the current draft:
https://eel.is/c++draft/ranges.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Separated definitions of concepts out of concepts.h

This allows the ranges::iter_swap and ranges::swap customization point to be moved
outside of the concepts folder and into the ranges folder.

The concepts.h header previously had to define those objects to avoid
circular dependencies.

Added the work around for ranges::iter_swap and ranges::iter_move
customization_point causing an improper symbol redefinition in clang 10
or below: https://bugs.llvm.org/show_bug.cgi?id=37556

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Alias more std:: names into the AZStd namespace.

Removed our custom implementation of toaddress.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding more range view test.

The join_view and elements_view classes now have UnitTest.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding deduction guides for AZStd associative containers

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Moved zip_view::sentinel iterator accessor function to zip_view.inl

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed variable shadowing issues with clang 12+

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-02-11 12:50:12 -06:00
santorac b829c08f75 Fixed build error. Added error message if material type file JSON import fails.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 10:12:57 -08:00
SWMasterson 5f334e30f9 Updated missing shaderball assets. (#7556)
* Added missing shaderball assets and fixed typo in asset name.

Signed-off-by: Sean Masterson <semaster@amazon.com>

* Removed unnecessary files and updated macbeth_shaderballs level

Signed-off-by: Sean Masterson <semaster@amazon.com>
2022-02-11 09:58:43 -08:00
santorac 49ca8d332e Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes4_Layering
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 09:37:44 -08:00
santorac b67862a133 Minor updates from code review feedback.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 09:37:12 -08:00
puvvadar 61e2929b04 Merge pull request #7534 from aws-lumberyard-dev/mp_desync_nettime
Fix inadvertent exclusion of NetEntities during filtering and missing netcomponent notification
2022-02-11 09:17:57 -08:00
evanchia-ly-sdets dbb4e76a3d updating python packages py, pillow, and urllib3 (#7155)
* updating python packages py, pillow, and urllib3

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

* updating dependencies versions as well

Signed-off-by: evanchia <evanchia@amazon.com>
2022-02-11 09:02:22 -08:00
moraaar 7150a28ed6 Mesh Component: Add button to the Mesh Asset field to open mesh FBX settings (#7547)
This is an UX improvement for Mesh Component as the user can quickly access FBX settings of the mesh to modify it if they so desire.

Video
https://user-images.githubusercontent.com/27999040/153414278-f7996b9a-8a28-49d4-92a8-daeb9924b148.mp4

Signed-off-by: moraaar moraaar@amazon.com
2022-02-11 09:08:33 +00:00
dmcdiarmid-ly 257f3cb1ce Merge pull request #7541 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17288
Application MSAA state
2022-02-10 19:34:30 -07:00
puvvadar 1adfd4e3f9 Delete merge artifact that snuck in
Signed-off-by: puvvadar <puvvadar@amazon.com>
2022-02-10 14:24:00 -08:00
puvvadar 1865e3085e Fix improper early out skipping valid entities
Signed-off-by: puvvadar <puvvadar@amazon.com>
2022-02-10 14:17:39 -08:00
Steve Pham 27abad7564 Fix Mac SQL Package (#7538)
* Update mac SQLite3 package to fix bad version

Signed-off-by: spham <82231385+spham-amzn@users.noreply.github.com>
2022-02-10 13:32:22 -08:00
Jeremy Ong f709ba07a9 Merge pull request #7545 from aws-lumberyard-dev/Atom/GraphicsDevMode
Introduce Atom/GraphicsDevMode settings registry key
2022-02-10 11:48:44 -07:00
dmcdiarmid-ly 0789fbfa85 Merge pull request #7544 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17278
Fix for Vulkan startup failure on non-RT platforms
2022-02-10 11:13:06 -07:00
Mike Balfour 6791b652cc Fix memory allocation that caused benchmark runs to crash. (#7535)
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-02-10 10:17:01 -06:00
SergeyAMZN a715897699 Merge pull request #7439 from aws-lumberyard-dev/TerrainMaterialsFix
LYN-8403 Prevent the same Surface Tag from getting reused
2022-02-10 15:59:24 +00:00
amzn-sj 396ec8a247 [Terrain] Optimize bulk queries to the Terrain System to retrieve height, surface weights, and normals (#7357) 2022-02-10 05:53:21 -08:00
moraaar dac3bc4ba6 Added option to disable edit button in asset widgets when there are no asset selected. (#7521)
Added new attribute "DisableEditButtonWheNoAssetSelected" to PropertyAssetCtrl. By default it's false, keeping the original behavior of leaving the edit button enabled and if it's clicked while there is no asset assigned it'll try to create a new one.

PhysX mesh asset property uses now this new feature.

Signed-off-by: moraaar moraaar@amazon.com
2022-02-10 12:23:38 +00:00
Sergey Pereslavtsev c964d2085f Removed pragma once from cpp
Signed-off-by: Sergey Pereslavtsev <pereslav@amazon.com>
2022-02-10 10:45:25 +00:00
Sergey Pereslavtsev 469fcc4fb2 Merge branch 'development' of https://github.com/o3de/o3de into TerrainMaterialsFix 2022-02-10 10:40:38 +00:00
Jeremy Ong aec7b58c39 Introduce Atom/GraphicsDevMode settings registry key
When `"Atom": {"GraphicsDevMode": true}` is found in a `.setreg` file,
PDBs for all shaders will be emitted to their corresponding output
locations. This allows global PDB generation without needing to
explicitly modify each `.shader` file to include the `GenerateDebugInfo`
compilation option.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2022-02-10 02:27:49 -07:00
dmcdiarmid-ly 3ad7888107 Checked the device raytracing feature flag before initializing the visualization raytracing objects
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-02-09 22:11:43 -07:00
Danilo Aimini 1c3a61983a Refactor EditorEntityUiHandlerBaseto be explicitly Outliner-focused. This lays the groundwork for multiple widget-based handlers in the future. (#7443)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
2022-02-09 20:50:32 -08:00
Chris Galvan a4a1514729 Merge pull request #7509 from aws-lumberyard-dev/daimini/FocusMode/boxSelectAndManipulatorsHidingTests
Focus Mode | Create an integration test for Box Select while in Focus Mode
2022-02-09 21:44:21 -06:00
santorac 6b047fd89f Addressed code review feedback, minor updates.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-09 19:43:25 -08:00
evanchia-ly-sdets 5ef2b12dca Collects failed assets on LyTestTools test failures (#7368)
* Collects failed assets on LyTestTools test failures

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

* Changed query to all lines because of current asset logging bug

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

* fixes per pr feedback

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

* testing removing change for AR failure

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

* Moved asset log artifact collection to after the results have been collected

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

* Adding debug line to help debug AR failure

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

* Made asset log collection non failing

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

* moved asset log collection after test result collection

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

* changed asset saving to non failing

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

* improved logging and comments

Signed-off-by: evanchia <evanchia@amazon.com>
2022-02-09 18:13:01 -08:00
santorac 214b53de73 Fixed a unit test.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-09 16:22:44 -08:00
Luis Sempé cdedd38767 Merge pull request #7523 from aws-lumberyard-dev/scripting/xfail_tests
Disabled tests that are reported failing on nightly builds
2022-02-09 16:21:49 -08:00
Ken Pruiksma dc5d50a4ce Terrain default surface material (#7481)
Terrain default surface material
This adds the ability to set a default material on detail material regions as a fallback material for when there are no materials for an assigned surface tag, or there's only one surface tag but its weight is less than 1.0.

This also fixes some issues
- The terrain surface list component now correctly sends notifications on tag changes.
- The terrain area material notifications bus now has two separate change notifications - one for material, the other for tag
- The terrain renderer will now only consider a single region per point queried instead of any region that might have a matching surface tag.
2022-02-09 17:41:38 -06:00
michabr e5800d738a Fix position of newly created UI element (#7510)
Signed-off-by: abrmich <abrmich@amazon.com>
2022-02-09 15:27:53 -08:00
dmcdiarmid-ly 9d6062d96f Added an RPISystemInterface method to set the application-wide MSAA state
The Editor will now properly apply the MSAA state from MainRenderPipeline.azasset
Corrected a race condition with the cubemap baking pipeline

Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-02-09 16:18:43 -07:00
puvvadar 4f06be88f6 Fix Rewindable volume bounds and missing component notification
Signed-off-by: puvvadar <puvvadar@amazon.com>
2022-02-09 15:11:32 -08:00
carlitosan 51bac9a6c0 remove code that loads member variables on SC editor component twice (#7506)
* remove code that loads member variables on SC editor component twice

Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>

* fix unused variable release build error

Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
2022-02-09 14:45:56 -08:00
Benjamin Jillich caae0b0ec3 Motion Matching: Fix for test build on nightly linux builds (#7522)
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-09 16:18:19 -06:00
Chris Galvan daee055a97 Merge pull request #7526 from aws-lumberyard-dev/cgalvan/ImproveImageGradientGetValuesPerformance
Improved image gradient GetValue(s) performance by using cached image data
2022-02-09 16:11:45 -06:00
Mike Balfour f79fa57b4a Fix race condition crash with the gradient preview. (#7530)
When duplicating an entity with a Gradient SurfaceData Component, it's possible to get a hang/crash due to a race condition between entity deactivation and the gradient preview job refresh. This change ensures that the preview job is canceled on deactivation.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2022-02-09 16:09:08 -06:00
santorac 0ecf41f6bc Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes4_Layering
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-09 13:17:51 -08:00
santorac 8fbd2aaaf5 Tied up a few loose ends to support deeply nested property groups.
Simplified the call back for MaterialTypeSourceData::EnumeratePropertyGroups while also providing more data.
Made the Material Inspector join nested property group display names to be like "Layer 1 | Base Color", since the leaf property groups are shown as a flat list in the inspector.
Fixed CreateMaterialAssetFromSourceData to include the imported json files in the list of sourceDependencies. This triggers the Material Editor to hot-reload when one of these json files changes.
Updated a few places that were still assuming only one level of property group.
Updated EditorMaterialComponentInspector to apply the per-property-group material functors, before it was still only applying the top-level onces.
Moved some accessor function implementations to the cpp files, per feedback on another already-merged PR.

Testing:
Made changes to MinimalMultilayerPbr (in AtomSampleViewer) to use nested property groups, and saw the correct behavior in the Material Editor's property inspector.
Used MaterialComponent's property inspector to edit a StandardPbr material instance. Confrimed that functors were correctly controlling property visibility by enabling and disabling things like emissive and clear coat.
Used MaterialComponent's property inspector to edit a MinimalMultilayerPbr material instance. Saw all the expected groups and properties show up. Confirmed that per-group functors were correctly controlling property visibility.
Used MaterialComponent's property inspector to export a material instance and confirmed the .material file included the expected properties.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-09 13:13:40 -08:00
Chris Galvan 2e762ba0eb Modified activate logic from PR feedback
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-09 14:35:34 -06:00
Sean Sweeney 2a977510de Merge pull request #7527 from aws-lumberyard-dev/physics_fix
Prevent unsafe calls to AssetProcessor
2022-02-09 12:21:14 -08:00
sweeneys f5463bd903 Prevent unsafe calls to AssetProcessor
Signed-off-by: sweeneys <sweeneys@amazon.com>
2022-02-09 10:40:11 -08:00
carlitosan f74e980659 fix errors when generic nodes fail to add slots (#7508)
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
2022-02-09 10:23:16 -08:00
Chris Galvan 2f3c4d37df Improved image gradient GetValue(s) performance by using cached image data
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-09 12:22:38 -06:00
carlitosan 8cd8638316 initial locale safety for translating to Lua on multiple platforms (#7490)
* initial locale safety for translating to Lua on multiple platforms

Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>

* fix android build error

Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
2022-02-09 10:19:39 -08:00
lsemp3d 08a9f908a2 Disabled tests that are reported failing on nightly builds
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
2022-02-09 09:16:21 -08:00
jromnoa fee95f3f5e sandboxing the sponza level from the level test because it causes a hardlock 4%-12% of the time (#7513)
Signed-off-by: jromnoa <80134229+jromnoa@users.noreply.github.com>
2022-02-09 08:10:33 -08:00
Chris Galvan 39777e7afb Merge pull request #7406 from aws-lumberyard-dev/cgalvan/ImageGradientStreamingImageSupport
Updated the image gradient component to use a streaming image asset
2022-02-09 09:40:54 -06:00
moraaar b2206be14d Fixed range-loop-analysis warninig reported as error on mac/ios (#7511)
Signed-off-by: moraaar <moraaar@amazon.com>
2022-02-09 13:37:34 +00:00
Danilo Aimini 220eeef386 Merge branch 'development' of https://github.com/o3de/o3de into daimini/FocusMode/boxSelectAndManipulatorsHidingTests 2022-02-08 18:39:33 -08:00