Commit Graph

3421 Commits (4014cacff8b9c05071fcd203fd43d8ed19e243b5)
 

Author SHA1 Message Date
chcurran 119bc95844 Update graph to address SPEC-7168 5 years ago
Eric Phister 0c7605c9b6
Update minimum required CMake version to 3.20 (#1253)
* Update the minimum CMake version to 3.20

Sets the cmake_minimum_required calls to version 3.20 and updates the
README.md to point at the general CMake download page instead of a stale
link.

* Remove unnecessary cmake minimum version

It was using an old 3.0 version and can be removed.

* Additional updates to CMake 3.20, build scripts

Updates the version and remove logic to find a CMake in 3rdParty.

* Removing backup path to ninja path in the build_ninja_windows.cmd

The backup path for finding ninja was coming from the Perforce depot which isn't available for o3de builds.

* Removing reference to 3rdParty Android SDK 29 from the build and run unit test script

The Android SDK is not part of the new 3rdParty system and users are expected to install the Android SDK on their own in order to build the engine for Android.

* Update the get_python scripts and README

No longer try to append a CMake path to LY_3RDPARTY_PATH, but do still
support LY_CMAKE_PATH because there are still uses of it.  Remove
mention of an LY_3RDPARTY_PATH-relative CMake path from the README.md.

* Removing LY_NINJA_PATH from the build_ninja_windows.cmd

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
5 years ago
chcurran a995aee35a Properties__Index and Properties__NewIndex upvalue counts no reflect removal of net binding component 5 years ago
moudgils f2db30c5d0
Merge pull request #1246 from aws-lumberyard-dev/UpdateIosPipeline
Fix many issues on Mac metal
5 years ago
Steve Pham f775ba7df8
Provide more informative error messages on android related environment / device related issues (#1261)
- If gradle is installed, but JAVA_HOME is not set properly, no detail message is given. Bubble up the error message as part of the description
- When deploying a newer API Level APK (30) to an API Level 29 device, a python callstack is given without any detail of the error. Now it will report the actual error that is from the adb call so the user can act upon it
5 years ago
antonmic ef87ce094a Fixing pass binding issue that breaks certain ASV screenshot tests. Should also fix a crash on mac that was reported. 5 years ago
Anton Michels 63a612efbc
Merge pull request #1215 from aws-lumberyard-dev/Atom/antonmic/PassChanges
[ATOM-15590] Pass System Improvements
5 years ago
antonmic 2a40010089 Pass changes: fixed reflection probe bake 5 years ago
moudgils f6f90ee4c2 Change ConvertColorWriteMask return type to uint8_t 5 years ago
antonmic 3ea74e017f Pass changes: RPI unit test fix 5 years ago
chcurran f1b3bf4c73 Fix for running game mode with brand new graph with prefabs. 5 years ago
SJ 92594af647
Sanitize project name before substituting it in C++ template files
Merge pull request #1247 from aws-lumberyard-dev/LYN-3510
5 years ago
jiaweig 7590ef04b2 Increase the platform limit to handle more objects. 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
moudgils 7dd98c4e2b Missed a change 5 years ago
moudgils c0cfe239fe Modify WritecolorMask 5 years ago
moudgils 963894c7e3 Modified the WriteColoorMask 5 years ago
amzn-sj cf5a73eef8 Fix default destructor declaration 5 years ago
moudgils b18b03b8fb Added comments and more format fixes 5 years ago
srikappa-amzn bbae6490d9 Enabled LyTestTools trait only for windows and mac 5 years ago
antonmic 9d53073546 Merge branch 'main' into Atom/antonmic/PassChanges 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
Ken Pruiksma bf76963696
[ATOM-15683] StandardPBR shader now makes sure to mark w for no subsurface scattering. Currently all StandardPBR materials are being subject to a 2x2 box blur because the DiffuseSpecalarMerge pass thinks they have samples with subsurface scattering turned on, and this is degrading the quality of diffuse. (#1249) 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
amzn-sj d159c64abc Merge branch 'LYN-3510' of https://github.com/aws-lumberyard-dev/o3de into LYN-3510 5 years ago
amzn-sj 607f32fae6 No need to check if the first character is a number. This is already validated before. 5 years ago
sconel 9efcc3a6b5 Fix compilation error and failing unit test 5 years ago
mcgarrah f61635c327 Updated the SystemComponents in the Default Gem and Project Templates to initialize/deinitialize the Interface instance 5 years ago
gallowj bfe0577409 Merge branch 'stabilization/2106' of https://github.com/aws-lumberyard/o3de into Atom/gallowj/stabilization/2106 5 years ago
antonmic 2a982fa4b2 Pass changes: Addressing PR feedback 5 years ago
lumberyard-employee-dm 0aba7911a2
Implemented the DefaultProject Template default constructor and destructor
The System Component now implements a constructor/destructor which is used to initialize/de-initialize the `${SanitizedCppName}Interface` instance
5 years ago
lumberyard-employee-dm 054dd39e5b
Adding implemented constructor/destructor to Template SystemComponent
The System Component now implements a constructor/destructor which is used to initialize/de-initialize the `${SanitizedCppName}Interface` instance
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
lumberyard-employee-dm 9550ec46b4
Updating Project ${Name}Bus.h template with AZ::Interface support 5 years ago
lumberyard-employee-dm 39392ec075
Updating the DefaultGem ${Name}Bus.h template with AZ::Interface 5 years ago
evanchia-ly-sdets 3e0b0582ea
Merge pull request #1214 from aws-lumberyard-dev/enable_smoke_test
enabling smoke test
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
moudgils 3b249844d5 Minor formatting cleanup 5 years ago
amzn-sj 2ee4d8ff6b Sanitize identifier names before substituting them in C++ template files 5 years ago
sconel 856daf1485 Addressed PR feedback 5 years ago
Aaron Ruiz Mora 42cc4214ba
Use dropdown comboboxes in Physics Materials fields' of PhysX Groups in FBX Settings (#1242) 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
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
Chris Galvan 992a37df8d [LYN-3801] Added back log message when entering/exiting game mode. 5 years ago