96 Commits

Author SHA1 Message Date
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

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

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
Steve Pham 827855f01c Removal last CryTek references
- 'Crytek application' is now 'O3DE application' in ISystem.h
- 'CryTek' is now 'O3DE' in ProjectDefines.h (comment)
- 'Crytek Legacy' is now 'O3DE Legacy' in LocalizedStringManager.cpp
- 'Crytek extended data' references are now 'O3DE extended data'

Signed-off-by: spham <spham@amazon.com>
2021-06-30 12:48:16 -07:00
Steve Pham 03c8110d02 Replaced remaining CryTek copyright notices
- Replaced 'CryTek' with 'Contributors to the Open 3D Engine Project' in ConsoleHelpGen.cpp (#1667)
- Removed remaining 'Crytek Engine Source File.. Copyright (C), Crytek Studios' in various Editor source files
- Replaced 'modifications by CryTek' and 'modifications by Amazon' with 'Modified from original'
2021-06-30 08:27:43 -07:00
AMZN-mnaumov 83d142d7dc Merge pull request #1609 from aws-lumberyard-dev/Atom/mnaumov/cherryPick1571
Cherry-picking thumbnail performance improvements
2021-06-25 19:18:10 -07:00
Yuriy Toporovskyy c3065faa23 Don't block main thread to load data from file 2021-06-25 17:22:55 -07:00
yuriy0 b631b78159 Generate texture thumbnails in a job thread (#1571) 2021-06-25 17:08:44 -07:00
Terry Michaels 21ebff5709 Updated help search and all docs.o3de.org links to o3de.org (#1594) 2021-06-25 15:23:57 -05:00
Chris Santora ce10c3e36b Merge remote-tracking branch 'upstream/stabilization/2106' into santorac/stabilization/2106/RemoveShader2-ATOM-15837 2021-06-25 10:31:24 -07:00
Chris Santora 81247aa0e8 Removed unused shader "2" files that were part of a redesign effort, which is now complete on the development branch. These files are not needed for the upcoming release and could cause confusion for other developers.
ATOM-15837 Remove Unused Shader System Related *2 Classes From Stabilization Branch.

Testing: ASV full test suite on dx12 and vulkan. Only saw known issues.
2021-06-24 22:42:45 -07:00
mnaumov 1db5dc3435 Improving Editor performance while thumbnails are rendering 2021-06-24 16:20:33 -07:00
Terry Michaels 1e457928f5 Update help URLs and remove unneeded links (#1520) 2021-06-23 14:42:33 -05:00
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
Chris Santora b7f6b57e16 Fixed a couple builders to avoid adding job dependencies on source files that don't exist.
This removes mostly benign (but noisy) messages about "Failed to find builder dependency".

Changed AssetUtils::GetPossibleDepenencyPaths to return all possible source paths, rather than stopping when one is found. This function is now used to report a list of all possible source dependencies, so that CreateJobs will get called by the AP whenever a file shows up at one of those locations. If a file was missing before and then appears, this will cause the builders to wake up and add the appropriate job dependencies on the new files. In ShaderVariantAssetBuilder and MaterialBuilder, we now use GetPossibleDepenencyPaths to report source dependencies rather than job dependencies. We only report a job dependency when the actual source file has been identified. This should all now be consistent with the intended design of the AP's dependency systems (the prior approach was a hack based on misunderstanding of what source dependencies are).

SrgLayoutBuilder's change is a bit tricky. The above changes did not fix all of the "Failed to find builder dependency" messages because AzslBuilder sometimes skips particular files in CreateJobs. When this happens, it is invalid to report an AzslBuilder job dependency on that file. So I copied the same conditional code that is used to skip an azsli file in CreateJobs, and used that to skip AddAzslBuilderJobDependency() in SrgLayoutBuilder as well.

With all these changes combined, I do think we've solved the issue where jobs fail to evict outdated jobs, as described in ATOM-15134. However, we are not yet seeing the iteration time improvements we were hoping for. Before these changes I was seeing roughly a 0.5 minute delay for the initial change, and a 2 minute delay for a subsequent change. With these changes it's more like 0.5 mibutes and 1.5 minutes. It appears that the AP scan is being starved by all the AssetBuilder processing going on, and perhaps IO contention. I suspect that this will be greatly improved on the development branch where we no longer have AzslBuilder and SrgLayoutBuilder slowing things down.

ATOM-15136 Builder dependency errors reported in mainline
ATOM-15134 Replace GetPossibleDepenencyPaths Approach with Source Dependencies
2021-06-21 10:34:36 -07:00
lumberyard-employee-dm 7dabe8b6e9 Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
2021-06-17 13:58:20 -05:00
Esteban Papp 36cb0f6d40 SPEC-7178 Removal of precompiled cpp files (#1171)
* SPEC-7178  Removal of precompiled cpp files

* Missing files...
2021-06-07 15:59:58 -07:00
dmcdiarmid-ly 8ae800f579 Merge pull request #1106 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-13890
[ATOM-13890] Reflection probe quality levels
2021-06-03 17:00:20 -07:00
Esteban Papp 29c71b4e53 SPEC-2513 Fixes to enable w4701 (#1105)
* Some fixes

* more fixes

* fixes for debug
2021-06-03 09:30:33 -07:00
Doug McDiarmid 9dbe596e40 Added reflection probe cubemap quality levels 2021-06-02 18:39:05 -07:00
pappeste 8b9f5230f6 Merge branch 'main' into ly-as-sdk/LYN-2948 2021-05-28 00:16:26 -07:00
Terry Michaels b600dd9b71 Fixed issues with mac build caused by a double define of "MAC" (#996)
* fixed missed reference to name change

* Fixed MAC double define issue, changed to MAC_ID
2021-05-27 12:49:16 -05:00
pappeste 01933f45b1 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/gem.json
2021-05-27 10:39:37 -07:00
pappeste f1b688f435 Merge branch 'main' into ly-as-sdk/LYN-2948
# Conflicts:
#	CMakeLists.txt
#	Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.h
#	Gems/AtomLyIntegration/AtomViewportDisplayInfo/gem.json
#	cmake/LYWrappers.cmake
#	cmake/SettingsRegistry.cmake
#	scripts/o3de/tests/unit_test_current_project.py
2021-05-27 10:29:19 -07:00
Doug McDiarmid 045def6ce1 Merge branch 'main' into Atom/dmcdiar/ATOM-5034 2021-05-26 19:23:06 -07:00
Terry Michaels 9b1be43367 Renamed osx_gl to mac and es3 to android for cache folders (#949) 2021-05-26 19:17:17 -05:00
galibzon 0678dec64e [ATOM-15618] Shader Build Pipeline: Add UnitTest To Validate Shader C… (#918)
* [ATOM-15618] Shader Build Pipeline: Add UnitTest To Validate Shader Compiler
Argument Processing Introduced With The New Supervariant System

- Added new test suite in
  Gems/Atom/Asset/Shader/Code/Tests/SupervariantCmdArgumentTests.cpp

- Refactored and improved the previously existing classes:
  GlobalBuildOptions, PreprocessorOptions and ShaderCompilerArguments
  to work well with the new ShaderSourceData::SupervariantInfo.

- Moved command line argument processing function out of
ShaderCompilerArguments and into its own utility namespace in
Atom/RHI.Edit/Utils.h

Signed-off-by: garrieta <garrieta@amazon.com>
2021-05-26 15:23:11 -05:00
galibzon 78d6dc3613 [SPEC-7010] Windows release_vs2019 build fails with an unreferenced formal parameter (#952)
in ShaderBuilderUtility.cpp

Added [[maybe_unused]] to a parameter that was not used under all
conditions.
2021-05-26 09:49:09 -05:00
lumberyard-employee-dm 76fe7f3666 Merge branch 'main' of https://github.com/aws-lumberyard/o3de into ly-as-sdk/LYN-2948-phistere 2021-05-25 23:48:55 -05:00
lumberyard-employee-dm 21285809bf Adding back gem.json files to the Atom and AtomLyIntegration folders
which are to be seen as sub gem roots as a workaround for detecting the
location of the "gem" root for the Atom/AtomLyIntegration GEM_MODULE targets

Removed the logic in the SettingsRegistry.cmake for reading a
"gem_module_roots" key from the gem.json file in order to determine the
root of the Atom and Atom LyIntegration sub gem modules
2021-05-24 13:02:23 -05:00
dmcdiar 45ab467274 Merge branch 'main' into Atom/dmcdiar/ATOM-5034
# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/DiffuseProbeGrid/DiffuseProbeGridRayTracingPass.cpp
2021-05-21 18:22:59 -07:00
dmcdiar d6e25bbb33 Added DiffuseProbeGrid texture baking 2021-05-21 03:26:29 -07:00
moudgils 5a149a4594 Merge branch 'main' into DxcExperiment 2021-05-20 11:56:35 -07:00
michabr 69fed39982 Merge pull request #766 from aws-lumberyard-dev/michabr/lyshine_atom
Add image builder processing bus
2021-05-20 10:02:44 -07:00
galibzon 256df54575 [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System (#749)
* [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System.

Added ShaderAssetBuilder2 & ShaderVariantAssetBuilder2.

Added ShaderAsset2, ShaderVariantAsset2.

Eventually they will be the only builders. AzslBuilder &
SrgLayoutBuilder will be removed.
ShaderResourceGroupAsset will be removed. ShaderAssetBuilder &
ShaderVariantAssetBuilder will be replaced.

Signed-off-by: garrieta <garrieta@amazon.com>
2021-05-20 04:53:16 -05:00
abrmich 19aa0bdd75 Merge branch 'main' into michabr/lyshine_atom 2021-05-19 20:49:32 -07:00
moudgils 94a8c8258b Bumped shader builders 2021-05-19 19:22:35 -07:00
abrmich bd74835f30 Remove leftover code that's no longer needed 2021-05-19 11:48:34 -07:00
abrmich 1127235715 Remove unnecessary heap allocation 2021-05-19 11:36:44 -07:00
abrmich d5122b2829 Add image builder processing bus 2021-05-19 11:11:53 -07:00
moudgils 1ebb7c405f Merge branch 'main' into DxcExperiment 2021-05-18 20:24:52 -07:00
moudgils 83f29f4a34 Updated to one Dxc package 2021-05-17 20:39:39 -07:00
amzn-sj 05fec17ebd Remove hardcoded paths to Atom gems in registration.py and clean up gem.json files 2021-05-14 10:35:50 -07:00
moudgils 058688c182 Merge pull request #723 from aws-lumberyard-dev/Atom/moudgils/FixTextureArray
iOS Fixes to get RHI samples running again
2021-05-14 09:23:10 -07:00
bosnichd a9d986c10f Red code legacy MemoryManager, StreamEngine, ResourceManager, ImageHandler, AsyncPakManager, and more (#758)
Remove from CryCommon and CrySystem:
- MemoryManager and all related classes/files
- StreamEngine, ResourceManager, ImageHandler, and AsyncPakManager
- Various other related interfaces/files/classes etc. that are all now unused
2021-05-14 08:53:56 -06:00
moudgils da8f5849aa Merge branch 'main' into Atom/moudgils/FixTextureArray 2021-05-13 14:03:54 -07:00
karlberg ed8d79d1f5 Potential fix for build failures in main 2021-05-10 13:11:36 -07:00
moudgils 521a486ee4 Fixes to ios build 2021-05-10 09:13:15 -07:00
karlberg 05a39a4412 Fix several build failures 2021-05-07 09:54:49 -07:00
karlberg c21b4a577d Merge remote-tracking branch 'origin' into MultiplayerComponents 2021-05-06 19:40:09 -07:00
AMZN-mnaumov 5703d1e1f0 Merge pull request #625 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15291
[ATOM-15291] Better AP error message when missing image present
2021-05-06 17:59:57 -07:00
mnaumov 550d935b82 Better AP error message when missing image present 2021-05-06 15:48:39 -07:00