Formalize scene viewport overlay sprite resource lifecycle
This commit is contained in:
@@ -13,6 +13,7 @@ using XCEngine::Editor::ApplySceneViewportRenderRequestSetup;
|
||||
using XCEngine::Editor::ApplySceneViewportRenderPlan;
|
||||
using XCEngine::Editor::ApplyViewportFailureStatus;
|
||||
using XCEngine::Editor::BuildGameViewportRenderFailurePolicy;
|
||||
using XCEngine::Editor::BuildSceneViewportGridPassData;
|
||||
using XCEngine::Editor::BuildSceneViewportRenderPlan;
|
||||
using XCEngine::Editor::BuildSceneViewportRenderFailurePolicy;
|
||||
using XCEngine::Editor::BuildSceneViewportSelectionOutlineStyle;
|
||||
@@ -24,7 +25,9 @@ using XCEngine::Editor::SceneViewportOverlayFrameData;
|
||||
using XCEngine::Editor::SceneViewportOverlayLinePrimitive;
|
||||
using XCEngine::Editor::SceneViewportRenderFailure;
|
||||
using XCEngine::Editor::SceneViewportOverlayData;
|
||||
using XCEngine::Editor::SceneViewportGridPassData;
|
||||
using XCEngine::Editor::SceneViewportRenderPlan;
|
||||
using XCEngine::Editor::SceneViewportSelectionOutlineStyle;
|
||||
using XCEngine::Editor::ViewportRenderTargets;
|
||||
using XCEngine::RHI::Format;
|
||||
using XCEngine::RHI::RHIResourceView;
|
||||
@@ -163,7 +166,7 @@ TEST(ViewportRenderFlowUtilsTest, ApplyViewportFailureStatusRespectsSetIfEmptyBe
|
||||
|
||||
TEST(ViewportRenderFlowUtilsTest, BuildSceneViewportGridPassDataCopiesSceneCameraState) {
|
||||
const SceneViewportOverlayData overlay = CreateValidOverlay();
|
||||
const auto gridPassData = XCEngine::Editor::BuildSceneViewportGridPassData(overlay);
|
||||
const auto gridPassData = BuildSceneViewportGridPassData(overlay);
|
||||
|
||||
EXPECT_TRUE(gridPassData.valid);
|
||||
EXPECT_FLOAT_EQ(gridPassData.cameraPosition.x, overlay.cameraPosition.x);
|
||||
@@ -265,7 +268,7 @@ TEST(ViewportRenderFlowUtilsTest, BuildSceneViewportRenderPlanCollectsPostSceneA
|
||||
overlay,
|
||||
{ 7u, 11u },
|
||||
editorOverlayFrameData,
|
||||
[&gridPassFactoryCallCount](const XCEngine::Rendering::Passes::InfiniteGridPassData& data) {
|
||||
[&gridPassFactoryCallCount](const SceneViewportGridPassData& data) {
|
||||
++gridPassFactoryCallCount;
|
||||
EXPECT_TRUE(data.valid);
|
||||
return std::make_unique<NoopRenderPass>();
|
||||
@@ -273,7 +276,7 @@ TEST(ViewportRenderFlowUtilsTest, BuildSceneViewportRenderPlanCollectsPostSceneA
|
||||
[&selectionOutlinePassFactoryCallCount](
|
||||
RHIResourceView* objectIdTextureView,
|
||||
const std::vector<uint64_t>& selectedObjectIds,
|
||||
const XCEngine::Rendering::Passes::ObjectIdOutlineStyle& style) {
|
||||
const SceneViewportSelectionOutlineStyle& style) {
|
||||
++selectionOutlinePassFactoryCallCount;
|
||||
EXPECT_NE(objectIdTextureView, nullptr);
|
||||
EXPECT_EQ(selectedObjectIds.size(), 2u);
|
||||
@@ -304,13 +307,13 @@ TEST(ViewportRenderFlowUtilsTest, BuildSceneViewportRenderPlanWarnsWhenSelection
|
||||
overlay,
|
||||
{ 42u },
|
||||
{},
|
||||
[](const XCEngine::Rendering::Passes::InfiniteGridPassData&) {
|
||||
[](const SceneViewportGridPassData&) {
|
||||
return std::make_unique<NoopRenderPass>();
|
||||
},
|
||||
[](
|
||||
RHIResourceView*,
|
||||
const std::vector<uint64_t>&,
|
||||
const XCEngine::Rendering::Passes::ObjectIdOutlineStyle&) {
|
||||
const SceneViewportSelectionOutlineStyle&) {
|
||||
return std::make_unique<NoopRenderPass>();
|
||||
},
|
||||
[](const SceneViewportOverlayFrameData&) {
|
||||
|
||||
Reference in New Issue
Block a user