Reenable support for UI Elements that use Render Targets (#2352)

* Re-add support for UI Elements that use Render Targets
* Move LyShine pass request from Atom's MainPipeline.pass to project's
* Make all dynamic draw contexts in LyShine draw to pass directly without the need of draw list tags
* Remove local RPI changes that are no longer needed
* Prevent crash if LyShine gem is enabled but its custom pass hasn't been added to the main render pipeline
* Revert to default UI pass if the LyShine pass has not been added to project's main render pipeline

Signed-off-by: abrmich <abrmich@amazon.com>
This commit is contained in:
michabr
2021-08-03 10:14:09 -07:00
committed by GitHub
parent 03722789cf
commit 3a689aa319
37 changed files with 1951 additions and 492 deletions
@@ -163,11 +163,9 @@ namespace UnitTest
SSystemGlobalEnvironment* prevEnv = gEnv;
gEnv = &env;
gEnv->pTimer = &m_timer;
gEnv->pLyShine = nullptr;
UiCanvasComponent* uiCanvasComponent;
UiTooltipDisplayComponent* uiTooltipDisplayComponent;
UiTooltipComponent* uiTooltipComponent;
std::tie(uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent) = CreateUiCanvasWithTooltip();
auto [uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent] = CreateUiCanvasWithTooltip();
uiTooltipDisplayComponent->SetTriggerMode(UiTooltipDisplayInterface::TriggerMode::OnHover);
AZ::Entity* uiTooltipEntity = uiTooltipComponent->GetEntity();
@@ -193,11 +191,9 @@ namespace UnitTest
SSystemGlobalEnvironment* prevEnv = gEnv;
gEnv = &env;
gEnv->pTimer = &m_timer;
gEnv->pLyShine = nullptr;
UiCanvasComponent* uiCanvasComponent;
UiTooltipDisplayComponent* uiTooltipDisplayComponent;
UiTooltipComponent* uiTooltipComponent;
std::tie(uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent) = CreateUiCanvasWithTooltip();
auto [uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent] = CreateUiCanvasWithTooltip();
uiTooltipDisplayComponent->SetTriggerMode(UiTooltipDisplayInterface::TriggerMode::OnHover);
AZ::Entity* uiTooltipEntity = uiTooltipComponent->GetEntity();
@@ -221,11 +217,9 @@ namespace UnitTest
SSystemGlobalEnvironment* prevEnv = gEnv;
gEnv = &env;
gEnv->pTimer = &m_timer;
gEnv->pLyShine = nullptr;
UiCanvasComponent* uiCanvasComponent;
UiTooltipDisplayComponent* uiTooltipDisplayComponent;
UiTooltipComponent* uiTooltipComponent;
std::tie(uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent) = CreateUiCanvasWithTooltip();
auto [uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent] = CreateUiCanvasWithTooltip();
uiTooltipDisplayComponent->SetTriggerMode(UiTooltipDisplayInterface::TriggerMode::OnPress);
AZ::Entity* uiTooltipEntity = uiTooltipComponent->GetEntity();
@@ -249,11 +243,9 @@ namespace UnitTest
SSystemGlobalEnvironment* prevEnv = gEnv;
gEnv = &env;
gEnv->pTimer = &m_timer;
gEnv->pLyShine = nullptr;
UiCanvasComponent* uiCanvasComponent;
UiTooltipDisplayComponent* uiTooltipDisplayComponent;
UiTooltipComponent* uiTooltipComponent;
std::tie(uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent) = CreateUiCanvasWithTooltip();
auto [uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent] = CreateUiCanvasWithTooltip();
uiTooltipDisplayComponent->SetTriggerMode(UiTooltipDisplayInterface::TriggerMode::OnPress);
AZ::Entity* uiTooltipEntity = uiTooltipComponent->GetEntity();
@@ -277,11 +269,9 @@ namespace UnitTest
SSystemGlobalEnvironment* prevEnv = gEnv;
gEnv = &env;
gEnv->pTimer = &m_timer;
gEnv->pLyShine = nullptr;
UiCanvasComponent* uiCanvasComponent;
UiTooltipDisplayComponent* uiTooltipDisplayComponent;
UiTooltipComponent* uiTooltipComponent;
std::tie(uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent) = CreateUiCanvasWithTooltip();
auto [uiCanvasComponent, uiTooltipDisplayComponent, uiTooltipComponent] = CreateUiCanvasWithTooltip();
uiTooltipDisplayComponent->SetTriggerMode(UiTooltipDisplayInterface::TriggerMode::OnClick);
AZ::Entity* uiTooltipEntity = uiTooltipComponent->GetEntity();