Commit Graph

359 Commits

Author SHA1 Message Date
Qing Tao 846e2736a5 [new] ATOM-17253 Using AtomTressFX gem as an example to inject hair passes to main pipeline at run-time (#7661)
* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Added new api in RPI to apply render pipeline changes from FP

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Update AtomTressFX gem to create hair parent pass at runtime

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-17 08:50:50 -08:00
Chris Galvan 9a32d433f4 Changed to use the lookup table directly than have a helper method
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-15 17:29:53 -06:00
Chris Galvan 12d5a304b5 Improved performance of UNORM_SRGB pixel retrieval by switching to a pre-computed lookup table
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-15 16:47:58 -06:00
Chris Galvan 8cf29ebc25 Added support for several UNORM_SRGB formats
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-14 11:10:58 -06:00
Chris Galvan b334b1ad98 Merge pull request #7590 from aws-lumberyard-dev/cgalvan/AllowOnlySupportedFormatsForImageGradientStreamingAsset
Only allow streaming image assets with supported pixel formats to be selected for an image gradient
2022-02-11 16:01:28 -06:00
Chris Galvan 9cd84b6b2d Only allow streaming image assets with supported pixel formats to be selected for an image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-11 13:28:21 -06: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
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
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
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
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
santorac 1a10369adb Merge branch 'development' into Atom/santorac/RemixableMaterialTypes4_Layering
There were conflicts in MaterialDocument.cpp which I had resolve by just taking development. This will not compile. I will make additional fixes in another commit.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-08 11:44:09 -08:00
Chris Galvan 640093fe63 Merge branch 'development' of https://github.com/o3de/o3de into cgalvan/ImageGradientStreamingImageSupport 2022-02-07 11:15:28 -06:00
Qing Tao 1e11df5d92 ATOM-17264 ASV: StreamingImageTest crashes (#7415)
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-03 17:32:12 -08:00
antonmic 4216e4cfed Added support for hardware queue class on passes (#7339)
* Added support for hardware queue class on passes. Compute pass data and copy pass data can now specify to run on their appropriate queue.

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>

* addressed PR feedaback

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>

* fixing python test failures on AR

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2022-02-03 16:37:42 -08:00
Qing Tao 01892914ea Atom/qingtao/atom 16135 (#7334)
* Changes to AttachmentImage related classes to have better support using render target as texture.
- Updated AttachmentImageAsset to support an unique name which can be used as AttachmentId.
- Functions in ImageSystemInterface to find an AttachmentImage by its unique name.
- Added InsertChild function to ParentPass class so it can insert a child pass at any location.
- Change to ImageAttachmentPreviewPass so it can preview cached pass attachment even the source pass was disabled.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-03 14:58:58 -08:00
Chris Galvan 6322dd5397 Updated the image gradient component to use a streaming image asset
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-03 12:29:18 -06:00
antonmic 611598cd5d Merge pull request #7340 from aws-lumberyard-dev/Atom/antonmic/RenderPipelineTick
Changed how pass system controls pipeline tick rate
2022-02-02 14:36:15 -08:00
moudgils 608411ab99 Metal pso caching support via MTLBinaryArchive (#7212)
* PipelineLibrary (PSO Caching) support for Metal

- API changes to handle Metal drivers implictly doing save/load of PipelineLibrary data
- Fixed up code related to Metal device selection
- PipelineLibrary support for Mac and ios

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

* Fix compile errors for Dx12, Vulkan backend + Unit tests

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fixed errors related to M1 GPU

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

* Fix a minor 'tab' validation issue

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

* Addressed feedback

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

* Minor feedback

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

* Added a few asserts

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fix a typo

Signed-off-by: moudgils <moudgils@amazon.com>
2022-02-02 10:50:37 -08:00
Qing Tao 584f9abf16 Add new function to DynamicDrawInterface to support submiting cached DrawPacket (#7337)
New function:
void AddDrawPacket(Scene* scene, ConstPtr<RHI::DrawPacket> drawPacket)
Deprecated function (still supported) :
void AddDrawPacket(Scene* scene, AZStd::unique_ptr<const RHI::DrawPacket> drawPacket)

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-02 08:52:53 -08:00
antonmic 50f34cf445 Changed how pass system controls pipeline tick rate
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2022-02-02 00:45:54 -08:00
santorac 2c59f1b8a4 Added support for deeply nested material property groups.
The main addition here is the MaterialNameContext class which represents the concept of a namespace for properties, shader options, and SRG fields. This concept was already somewhat supported in LuaMaterialFunctor through bespoke "prefix" fields, but I have generalized it be available for all material functors. Note that I have not yet updated the other material functor types to ensure they take advantage of this feature, that will be in another commit.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-01 16:35:42 -08:00
Chris Galvan 63ce88a3ce Merge pull request #7246 from aws-lumberyard-dev/cgalvan/AddedComponentSupportToRPIUtils
Extended sub image pixel API to support component indexing.
2022-01-31 13:19:55 -06:00
Chris Galvan fba7d73c57 Extended sub image pixel API to support component indexing.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-28 11:10:33 -06:00
Jackerty e03d9eefd9 Moves Culling.cpp::ProcessWorklist debug variables under preprocessing (#7043)
Function Culling.cpp::ProcessWorklist has couple variable which are unsused when compiling profile causing
a -Werror compile error. Fixes is to move variables and code increment them under debugging ifdef.

Signed-off-by: Jackerty <contact.jackerty@gmail.com>
2022-01-28 10:13:24 -06:00
Chris Galvan f368997deb Modified the passing of span in test
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-26 19:06:57 -06:00
Chris Galvan f3fa731fef Merge branch 'development' of https://github.com/o3de/o3de into cgalvan/DraftStreamingImageAssetPixelAPI 2022-01-26 16:46:58 -06:00
lumberyard-employee-dm b9824ed172 Updated all array_view uses with the C++20 span. (#7157)
* Updated all array_view uses with the C++20 span.

The updates were done in the following order
1. `AZStd::array_view<([^>].+)\* ?>`  -> `AZStd::span<\1 const>`
2. `AZStd::array_view<(?:const )(.+)>` -> `AZStd::span<const \1>`
3. `AZStd::array_view` -> `AZStd::span`

Removed the implementation of array_view.

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

* Added missing whitespace between `const` and the typename for spans.

Updated the ShaderTest comparison of the ShaderResourceGroupLayout span
to compare the sizes as well

Updated comments on some of the methods that stated that they return "an
array" to mention they return "a span".

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-26 16:15:47 -06:00
Chris Galvan 0550167f9f Updated API to return false if there is any issue retrieving the data
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-26 16:09:03 -06:00
Chris Galvan 670777f0f2 Moved the pixel value retrieval APIs from StreamingImageAsset to RPIUtils
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-26 15:25:47 -06:00
Chris Galvan 8d0dce2613 Merge pull request #7101 from siretty/fix_build_linux_clang_13
Fix Build on Linux with Clang 13 with Debug, Profile and Release Configuration
2022-01-24 12:24:33 -06:00
Chris Galvan 71640c1c82 Merge pull request #6376 from nemerle/compiletime_filerequest_code2
Compile time reduction - FileRequest & related changes
2022-01-24 11:43:27 -06:00
Daniel Edwards 0a5f472f43 Clang 13: Fix build errors ...
... due to local variables only being written to (but never read).

Signed-off-by: Daniel Edwards <dev@danieledwards.de>
2022-01-23 22:29:03 +01:00
dmcdiarmid-ly c27f73c66b Added a NumRaysPerProbe DiffuseProbeGrid setting
Added supervariants to the precompiled DiffuseProbeGrid shaders for the NumRaysPerProbe values

Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-19 20:17:15 -07:00
dmcdiarmid-ly 4cd3568d7b Merge pull request #6905 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15813
Allow InstanceDatabase<Shader> to support multiple instances with different supervariants
2022-01-17 13:45:09 -07:00
dmcdiarmid-ly 1ef868437a Added supervariantIndex check in Shader::OnShaderVariantAssetReady
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-14 17:28:14 -07:00
Qing Tao c9ee1f7871 ATOM-17132 Image builder failed to build some images after preset was fixed (#6900)
The issue was because the preset reload was only happened in CreateJobs but not ProcessJobs. But these two functions might be called from different AssetBuilder. The fix is to add preset reload for Processjobs too.
There was another change to add debug device name for streaming image.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-01-14 13:31:13 -08:00
moudgils d95e157f48 Different Pso cache per vendor/driver (#6893)
* Support to add a different PSO cache per vendor/driver version. Also added support to have a differnt cache for Warp

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Added a way to reset PSO cache for everyone

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fix tabbing for one line which is failing validation

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
2022-01-14 12:24:58 -08:00
dmcdiarmid-ly 5c603882b3 Changed the Shader instanceId to the combined assetId and supervariant index
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-13 19:57:22 -07:00
michabr df7a2fbd9d Add better error handling for failed loading of the LyShine shader (#6761)
Signed-off-by: abrmich <abrmich@amazon.com>
2022-01-10 12:11:15 -08:00
nemerle f1f81c3789 Merge remote-tracking branch 'upstream/development' into compiletime_filerequest_code2 2022-01-08 21:25:48 +01:00
Mike Balfour 17f928cddd Removed chatty profile markers. (#6556)
* Removed chatty profile markers.
These 4 markers removed tens of thousands of events, which reduced an example capture from 1685 ms to 1614 ms and made it far more readable.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Restored one marker

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-23 11:53:17 -06:00
Nemerle d8e06d9d95 Apply reviewer suggestions
Signed-off-by: Nemerle <nemerle5+git@gmail.com>
2021-12-17 16:02:33 +01:00
antonmic 53cf7b462b Changing all ClearPass to SlowClearPass
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-12-16 11:03:20 -08:00
antonmic 2bc381811d addressed PR feedback
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-12-16 10:42:53 -08:00
antonmic 18bb69a5cb removed unnecessary lines
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-12-15 18:37:48 -08:00
antonmic 0a8ba35738 Added ClearPass and automatic instantiation from ParentPass for slots specifying a clear action
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-12-15 18:32:59 -08:00
nemerle 5ff65be314 This reduces non-unity build time by ~2% and build size by ~0.5%.
This PR is a 'clean' version of #6199 updated to latest development

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-12-12 23:48:47 +01:00
rgba16f be0b034c43 Fix editor hang on level load (#6323)
Make View::SortFinalizedDrawLists use child jobs so they don't block the worker thread from doing other work while waiting.
Implement a TaskGraph version of the view draw list sort.
Fix a misc bug where the scene was waiting on a task graph event twice and so hanging.
Enable MeshFeatureProcessor::Simulate to be able to use jobs when no parent job is specified because the parent job is a task.

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-12-10 15:03:06 -06:00
moudgils 3540974b08 Multiple bug fixes (#6221)
* Multiple bug fixes
 - Handle Dx12 validation error related to multiple resource transitions happening on the same resource.
 - Added API to better query for image/buffer views associated with an attachment.
 - Address possible serialization issues by usage of size_t
 - Reduced number of Descriptor sets allowed per SRG Pool in order to reduce descriptor waste.

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Addressed minor feedback

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fix compile issues

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Missed a few other fixes

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
2021-12-09 09:45:45 -08:00