* [ATOM-5441] Shader Builders May Fail When Multiple
New Files Are Added
ShaderAssetBuilder::CreateJobs now recursively parses *.azsl files
looking for #include lines and builds the list of source dependencies
using a depth-first algorithm. It was using MCPP before but not anymore
(during CreateJobs).
The new algorithm may over prescribe, but fixes the issues
when multiple new shader related files are added, at once or out of order, to a game project
or Gem.
Overall the new ShaderAssetBuilder::CreateJobs() is around 40% faster
and, of course, handles source dependencies in a robust way.
* Added new test suite to AutomatedTesting project:
Gem/PythonTests/atom_renderer/test_Atom_ShaderBuildPipelineSuite.py
Bug fix to Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp
discovered thanks to the automated test suite. The idea is that
CreateJobs doesn't fail if the AZSL file doesn't exist. The failure is
deferred during ProcessJob. This way if the AZSL file exists the .shader
file is rebuilt automatically.
* For testability purposes and avoid memory leakage errors
during Unit Tests created the class ShaderBuilderUtility::IncludedFilesParser
Now accepts "# include <file>" with space between '#' and 'include'.
Also now accepts the '-' character inside the file path.
Added Unit Test to validate all cases of "#include <file>" parsing.
* Fixed linux runtime issues for Unit Tests in Atom_Asset_Shader.Tests
Signed-off-by: garrieta <garrieta@amazon.com>
* Removing the boundary search method. Bicubic is now the default and only PCF filtering method
* Removing padding (based upon feedback)
* Removing PCF method from py auto testing
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
Make awsi_test_profile_vs2019 a nonblocking step to make sure that resources are cleaned up even though automation tests failed
Signed-off-by: Junbo Liang <junbo@amazon.com>
* add s3 upload on screenshot test failure, should only apply to the test_gpu_profile_vs2019 job on nightly runs
* adds support for zipping screenshot files up prior to uploading to the s3 bucket and also adds the ACL extra arg to the upload_to_s3.py execution
* remove unused json import
* remove regex to use .endswith() instead and rename variables to be more clear (PR feedback)
* rename create_zip_archive to create_screenshots_archive
Signed-off-by: jromnoa <jromnoa@amazon.com>
- Fixed cloth asset, which stopped working due to Updated skeleton logic: #2957 which changes how fbx graph nodes are collected (affecting its names, which is used by cloth modifier).
- Fixed cloth test suite active call to base's run_test function. It stopped working when its signature was changed here: 182d410#diff-3f5d93b0a76c838893693f19f2eacfe3e67040d445d6463c5c425ef5075cb409
- Renamed nvcloth TestSuite_Active.py to TestSuite_Main.py to be consistent with the other test folders.
- Fixed ModelAsset creator clone function. It was missing to copy the material slots, ultimately causing Material Component to show 0 material slots.
- Fixed crash where the revert overrides menu was not created when checking changes for selected component and selected entities.
Signed-off-by: moraaar moraaar@amazon.com
* Commit
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Removed xfail
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Fix for ap not closing for optimized tests
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* renamed tests to _Optimized
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Added xfail so the test will run in jenkins without affecting outcomes
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>