Commit Graph

1189 Commits (a446d397c62f81e7d6ade5655b673fcdae2b8baa)

Author SHA1 Message Date
AMZN-Olex a446d397c6 Minor name refactoring 5 years ago
AMZN-Olex 2f5cffe679 Added r_ViewportPos cvar for set the position of a viewport of a game/server launchers 5 years ago
Chris Burel 6d92f7109f
Fix function signature of binary +/- operator to not return a reference (#1285)
This function creates a new object on the stack, and was returning it as
a reference. This would trigger Clang 12's `-Wreturn-stack-address`
warning, and cause the build to fail.

This fixes builds with clang 12, so it closes #591
5 years ago
jjjoness fb4cac08a3
Merge pull request #1304 from aws-lumberyard-dev/FixCrashInWireFrame
Fixes crash in adding WireFrame/
5 years ago
John Jones-Steele 4dc9752620 Fixes crash in adding WireFrame/ 5 years ago
Hasareej aee7fc72cc
Hiding the 2 Clusters during Gameplay mode (#1211)
Hiding the 2 Clusters during Gameplay mode.
5 years ago
Tom Hulton-Harrop 0f09a6d8bf
Move new camera settings to the Settings Registry and connect them to viewport border elements (#1267)
* ensure the new camera respects changing ui values and move camera settings to the settings registry

* factor out creation of modular camera controller

* small updates before posting PR

* updates following review feedback

* updates following review feedback
5 years ago
Chris Burel d7ec767ebc
Enable `-Wnon-pod-varargs` (#1278) 5 years ago
galibzon cc615a8f32
[ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Funct… (#1079)
* [ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Functions That
Predate The Shader Supervariants

These are the essential impactful changes as a result of deprecating the
ShaderResourceGroupAsset.

* Addressed feedback by @moudgils. Better comments in header files.

* More updates related with deprecation of ShaderResourceGroupAsset

* Deleted the temporary version 2 classes.

* Updated version of the shader asset builders.

* Updated version of all the shader related classes impacted
by the Supervariant concept and deprecation of ShaderResourceGroupAsset

* Changes to *.pass and DGI, Reflections and RayTracing.

* changes to material related assets

* changes to core lights

* Changes to auxgeom/dynamic draw.

* changes to decals, lyshine, imguipass

* changes to RPI Pass classes

* Shader for SceneSrg, ViewSrg and ForwardPass Srgs.

* changes to mesh, skinned mesh, Morphtarget.

* Fixes to RayTracingPass.cpp & now allow empty srg in shaders.

* Updated Atom_RPI.Tests

* Simplified InstanceDatabase by removing AddHandler

------------------------------------------------------------------------------------
* Updated DiffuseGI precompiled shaders.
Added RayTracingSceneSrg and RayTracingMaterialSrg shader asset.
Updated ShaderAssetCreator::Clone to handle the supervariant when processing root variants.
Co-authored-by: Doug McDiarmid <dmcdiar@amazon.com>
------------------------------------------------------------------------------------

* Changed semantics for some PassSrg to SRG_PerPass_WithFallback.

AuxGeom/FixedShapeProcessor.cpp requires SRG_PerDraw on ObjectSrg.

Removed names of SceneSrg and ViewSrg from RPISystemDescriptor.cpp

* Moved ShaderLib/Atom/Features/DummyEntryFunctions.azsli
To  Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli

Removed redundant checking for finalization in
ShaderResourceGroupLayout.cpp

* Fixed race condition bug for Shader::FindOrCreate.
InstanceDatabase<>::CreateInstance() needs to be atomic
for instance creation and initialization.

Added optional InstanceHandler::CreateFunctionWithParams to accomodate
to the needs of Instances that need more than an asset reference
to be able to be created an initialzed.

Removed ShaderResourceGroup::FindOrCreate() only ::Create is available
now.

* Renamed scene_and_view_srgs.* as SceneAndViewSrgs.*

Changed GetAzslFileOfOrigin for GetUniqueId

* Fixed unit tests.

* Reverted the serialization name of m_uniqueId back to
"m_azslFileOfOrigin" so precompiled shaders don't fail
in layout comparison.

* Fixed AtomCore.Tests
Removed non-applicable test. InstanceDatabase.AddHandler() is not
available anymore.

* The Null rhi is re-enabled for shader compilation.

Signed-off-by: garrieta <garrieta@amazon.com>
5 years ago
Tom Hulton-Harrop 1435982330
Merge pull request #1265 from aws-lumberyard-dev/tomhh_stabilization-to-development
Stabilization/2106 to Development (for 2021/06/11)
5 years ago
Hasareej 0cee5150c7
Hasareej cluster tooltips (#1181)
EditorTransformComponent Cluster Tooltips
5 years ago
hultonha 2d41a701af Merge branch 'stabilization/2106' into tomhh_stabilization-to-development 5 years ago
sconel 38b1a89631
Merge pull request #1233 from aws-lumberyard-dev/Prefabs/NestedContainerExport
Fix issue involving missing parent container entities in spawnables
5 years ago
Terry Michaels 6fdf7b01a5
Updated camera speed display and bounds (#1251) 5 years ago
Mike Balfour ffe913a2d6
Added ability to convert multiply-nested slices (#1239) (#1245)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.

(cherry picked from commit 86136ddfa6)
5 years ago
sconel 40fa0a3a46 Remove optimization pragma 5 years ago
cgalvan 64ea419c5c
Merge pull request #1243 from aws-lumberyard-dev/cgalvan/FixCreateCameraFromView
[LYN-4390] Implemented EditorCameraRequestBus::GetActiveCameraState on the EditorViewportWidget so that the "Create camera entity from view" action works again.
5 years ago
Terry Michaels 829a6fcc8d
Removed Wireframe menu option since it doesn't work with Atom (#1248) 5 years ago
sconel 9efcc3a6b5 Fix compilation error and failing unit test 5 years ago
Danilo Aimini d3be5600c3
Increase rotation step for Transform (#1244)
Using the spinbox on the Transform Component is made very cumbersome by the low rotation step. Increased it to make it more usable.
5 years ago
Steve Pham b2bafc44ab
LYN-2705: Remove 'AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS' trait for Linux (#1235)
* Fix Delete_Real_Readonly_Fails to mark parent directory as read-only as well

Read-only files in Windows cannot be deleted. The previous version of this
code relied on that fact, and would attempt to delete a file even when
`skipReadOnly = true`, relying on the OS to refuse to delete the file if it
is read only. On Linux, it is the writable state of the *directory* that
determines if a file can be deleted or not. This fixes the test to set up
the correct situation where a file deletion would fail.

* Remove excluded items from a vector before iterating over it

Removing items from the `pathMatches` `QStringList` while iterating over it
was causing a segfault on Linux. This change separates out the item removal
from the item iteration, which allows the item iteration loop to use a
range-for loop instead of directly manipulating iterators.

* Remove invalid test that asserts a file's metadata file can have differing file casing

This test is asserting that a given source file and its accompanying
metadata file can have the the same name but differing case. This is really
testing whether or not the underlying filesystem that those files live on
is case sensitive or not. The 99% chance is that users are using the
default filesystem that their host OS gives them, NTFS on Windows, EXT* on
Linux, and APFS on Mac. Even though NTFS is case-insensitive by default,
it [can be configured per-directory](https://devblogs.microsoft.com/commandline/improved-per-directory-case-sensitivity-support-in-wsl/).
APFS as well can be configured to be case-sensitive. For users with case
sensitive filesystems, this test makes no sense. We could extend this test
to inspect the case-sensitivity of the underlying filesystem, but then it
is just testing the filesystem's behavior, which seems out of scope of this
test.

* Use a non-priviliged port for the Asset Processor tests

From https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html:

> The TCP/IP port numbers below 1024 are special in that normal users are not
> allowed to run servers on them. This is a security feaure, in that if you
> connect to a service on one of these ports you can be fairly sure that you
> have the real thing, and not a fake which some hacker has put up for you.
>
> When you run a server as a test from a non-priviliged account, you will
> normally test it on other ports, such as 2784, 5000, 8001 or 8080.

* Fix for `QDir::rmdir(".")` not working in Linux

Qt uses `::rmdir` to remove directories on Linux. This comes from
[unistd.h](https://pubs.opengroup.org/onlinepubs/007904875/functions/rmdir.html)
The documentation for that function states:

> If the path argument refers to a path whose final component is either dot
> or dot-dot, rmdir() shall fail.

So calling `dir.rmdir(".")` will never work on Linux.

Instead, get the parent directory, and remove the child directory by name.

* Avoid lowercasing source asset paths when resolving dependencies

Source asset paths may be case sensitive, so their case must be preserved
when doing operations that hit the underlying filesystem. This method was
always lowercasing them, which would cause dependencies to not be found.

* Correct test to expect product filenames to be lowercase

The modtime tests were failing in Linux due to something unrelated to file
modtime checking. The Asset Processor Manager does this during AnalyzeJob:

```
if (foundInDatabase && jobs[0].m_fingerprint == jobDetails.m_jobEntry.m_computedFingerprint)
{
    // If the fingerprint hasn't changed, we won't process it.. unless...is it missing a product.
```

In this case, the test was setting up a product whose file case was the
same as the source asset, and would write it to the cache dir using mixed
case, but use the normal asset processor API to write the product file path
to the database, which recorded the path in lowercase. When the manager
then went to check if the source asset's products all exist, it checked the
lowercase path, which didn't exist.

This fixes that test failure, by updating the test to write the product
file to the cache using the proper lowercased path.

* Update test to define a "not current platform" for Linux

This test was failing because it was setting some "not current platform"
variable to be set to "pc" on Linux, when
`AssetSystem::GetHostAssetPlatform()` is defined to:

```cpp
inline const char* GetHostAssetPlatform()
{
    return "mac";
    return "pc";
    // set this to pc because that's what bootstrap.cfg currently defines the platform to "pc", even on Linux
    return "pc";
    #error Unimplemented Host Asset Platform
}
```

The test would go on to assert that "pc" was simultaneously in a list and
not in the same list.

This fixes the test by updating the code to set the "not the current
platform" variable appropriately on Linux.

The expectations were also updated to improve the output on test failure.
Instead of this:
```
Value of: recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)
  Actual: true
Expected: false
```

You now get this:
```
Value of: recogs["rend"].m_platformSpecs.keys()
Expected: (has 3 elements and there exists some permutation of elements such that:
 - element #0 is equal to pc, and
 - element #1 is equal to es3, and
 - element #2 is equal to server) and (doesn't contain any element that is equal to pc)
  Actual: { pc, server, es3 } (of type QList<QString>), whose element #0 matches
```

* Prevent windows supported path separators to be included in the test paths for UpdateToCorrectCase_ExistingFile_ReturnsTrue_CorrectsCase

* Fix failing linux unit test "PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder"
caused by static variable not being reset from a different test run when using AssetUtilities::ComputeProjectPath

* Fix AZ_RTTI declaration for RequestEscalateAsset Message

* Implement FileWatcher for Linux to fix AssetProcessorMessages.All test (RequestAssetStatus)

* Split AssetProcessorMessages into 2 tests, one with RequestAssetStatus/ResponseAssetStatus and one without
Add The RequestAssetStatus/ResponseAssetStatus as a sandbox test because it relies on FileWatcher thread and seems to be timing related

* Remove FileWatcher_win.cpp from the Linux specific folder for FileWatcher

* - Fix build error related to non-unity builds
- Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/UtilitiesUnitTest' caused by misplaced windows only EXPECT
- Remove test trait AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS for linux to expose remaining failed tests

* Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/RCcontrollerUnitTests' caused by misplaced windows only EXPECT

* - Fix FileWatcher unit test, disable incompatible subtests for Linux
- Fix errors in FileWatcher_linux from results of the FileWatcher Unit Test

* Remove AZ::AssetProcessor.Tests.Sandbox tests from definition and restore the original AssetProcessorMessages.All tests now that Filewatcher_linux was fixed

* Fixes for failed unit tests: AssetProcessorManagerUnitTests and AssetProcessorManagerUnitTests_JobDependencies_Fingerprint
- Caused by differences between between case-sensitive files (Linux) and non-case-sensitive Filesystems (Windows)

* Update consts in FileWatcher_linux.cpp to constexpr

* Fixes related to PR comment suggestions

* - Removed std::bind and replaced with lambda in FileWatcher_linux
- Replaced String replace functions for path separators to use AZ::IO::Path::LexicallyNormal() instead

* Restoring string replace function in PathDependencyManager::ResolveDependencies due to unit test failure

Co-authored-by: Chris Burel <burelc@amazon.com>
5 years ago
sconel 856daf1485 Addressed PR feedback 5 years ago
cgalvan c684714e4b
Merge pull request #1241 from aws-lumberyard-dev/cgalvan/AddGameModeLogging
[LYN-3801] Added back log message when entering/exiting game mode.
5 years ago
Mike Balfour 86136ddfa6
Added ability to convert multiply-nested slices (#1239)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.
5 years ago
Tom Hulton-Harrop 1946561b8d
Updates to Goto Position to work with the new camera system (#1212)
* add support for 'GoTo Position' to work with the new camera enabled

* small updates to move away from more legacy calls

* minor formatting change

* ensure values are converted from degrees to radians

* revert change to use Enumerate viewport call

* remove formatting changes from SandboxIntegration
5 years ago
Terry Michaels 91fb8be535
Added toolbar icons, updated viewport header UX (#1240) 5 years ago
Esteban Papp 67489d2907
Remove PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE 5 years ago
Chris Galvan 45b2391303 [LYN-4390] Implemented EditorCameraRequestBus::GetActiveCameraState on the EditorViewportWidget so that the "Create camera entity from view" action works again. 5 years ago
Scott Romero 5436e08d15
[stabilization/2106] fixed startup crash in project manager from installer build (#1231) 5 years ago
jackalbe fedc85f51f
{LYN-4224} Fix for the file scan slowdown (#1183)
* {LYN-4224} Fix for the file scan slowdown

* Fixed a slowdown in the file scanning logic
* Improved the file scanning logic from previous code by 40%

Tests:
Using Testing\Pytest\AutomatedTesting_BlastTest

old code:
=== 7 passed in 96.13s (0:01:36) ===

current code:
=== 7 passed in 160.45s (0:02:40) ====

newest code:
=== 7 passed in 52.91s ===

* fixing a unit test compile error

* unit test fixes

* another file improvement

* fix for legacy level loading taking too long

* making an enum for the search types

* switched the enum to "allow" types to make the input more clear
5 years ago
Chris Galvan 992a37df8d [LYN-3801] Added back log message when entering/exiting game mode. 5 years ago
Aaron Ruiz Mora 7a053d82e1
UX Workflow improvements for Physics Materials (#1237)
- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
5 years ago
Aaron Ruiz Mora 9d41954d0e
Added configurable physics materials per asset in PhysX group in FBX Settings. (#1186)
- Added back the' Physics Materials from Asset' tick in the collider components.
- Made physics materials names case insensitive.
- Refactored how to gather material information from fbx and used the same code for exporter and physx groups.
5 years ago
Terry Michaels adf6d93a06
Moved toggle pivot to lower in the context menu, converted all context menu additions to use a singular mechanism (#1209) 5 years ago
AMZN-koppersr c46c82079c Fixed string format bug in JsonRegistrationContext 5 years ago
sconel 2dee4d3ac9 Add support to export nested container entities. Resolves missing parents in spawnables 5 years ago
scottr 5061241992 [cpack/stabilization/2106] early out if sys import fails in PythonBindings::StartPython 5 years ago
AMZN-koppersr 4f4cb4e220 Merge branch 'stabilization/2106' into JsonSerialization/UnsupportedWarnings 5 years ago
lumberyard-employee-dm a9e59fd75f
Updating the DefaultProject template to not insert the project-path parameter (#1223)
* Updating the DefaultProject template to not insert the project-path parameter into the VS Debugger Arguments for any applications

Added project-path injection directly within the LauncherUnified and AssetBuilder cmake scripts where their targets are defined

* Removing the add_vs_debugger_arguments call from the AutomatedTesting CMakeLists.txt
5 years ago
cgalvan da4e006621
Merge pull request #1227 from aws-lumberyard-dev/cgalvan/RemoveUnhandledEventMessages
[LYN-3145] Removed unnecessary spam message from legacy CEntityObject class when entering game mode.
5 years ago
AMZN-koppersr 773dc42537
Merge pull request #1228 from aws-lumberyard-dev/Prefab/EntitySpawnNotificationRemoval
Removed AddOn(De)SpawnedHandler from Spawnable Entities Interface
5 years ago
Terry Michaels 05d177568c
Fixed cut & paste error of menu item name (#1230) 5 years ago
AMZN-nggieber 5330309cb1
Set Desktop Icon for Project Manager (#1225)
* Set executable icon for O3DE
5 years ago
Terry Michaels aa7bab1027
Make SimpleAssetPropertyHandler handle showing the edit button on component cards (#1221) 5 years ago
scottr 2eefc08d2e [cpack/stabilization/2106] fixed startup crash in project manager from installer build 5 years ago
Chris Galvan 6ac13c19a3 [LYN-3145] Removed unnecessary spam message from legacy CEntityObject class when entering game mode. 5 years ago
daimini d6d2cbae7e Merge branch 'stabilization/2106' into gitflow_210609 5 years ago
AMZN-koppersr 4ad0560d06 Removed AddOn(De)SpawnedHandler from Spawnable Entities Interface
The calls AddOnSpawnedHandler and AddOnDespawnedHandler were removed from the SpawnableEntitiesInterface. These functions will eventually be called from multiple threads and AZ::Event currently doesn't have a thread-safe version to support this. There's also a performance concern as these callbacks are called for each individual (de)spawn requests which can lead to multiple handlers being called without information that's relevant to the callback. It would be better to batch up all (de)spawn requests per ProcessQueue call and only have a single event do a single signal. Since both events are currently not being used they have been removed for now, but can be introduced -with the previously mentioned concerns in mind- when needed.
5 years ago
Terry Michaels 3c23f5fead
Fixed size of Save As window (#1208) 5 years ago
AMZN-koppersr e3fe4705f6 Post merge and Linux fixes. 5 years ago