Refactor new editor boundaries and test ownership
This commit is contained in:
@@ -5,10 +5,6 @@
|
||||
|
||||
namespace XCEngine::UI::Editor::App {
|
||||
|
||||
bool ViewportRequiresObjectIdResources(ViewportKind kind) {
|
||||
return kind == ViewportKind::Scene;
|
||||
}
|
||||
|
||||
std::uint32_t ClampViewportPixelCoordinate(float value, std::uint32_t extent) {
|
||||
if (extent == 0u) {
|
||||
return 0u;
|
||||
@@ -36,19 +32,28 @@ bool CanReuseViewportResources(const ViewportResourceReuseQuery& query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!ViewportRequiresObjectIdResources(query.kind)) {
|
||||
return true;
|
||||
if (query.requirements.requiresDepthSampling &&
|
||||
!query.resources.hasDepthShaderView) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return query.resources.hasObjectIdTexture &&
|
||||
query.resources.hasObjectIdDepthTexture &&
|
||||
query.resources.hasObjectIdDepthView &&
|
||||
query.resources.hasObjectIdView &&
|
||||
query.resources.hasObjectIdShaderView &&
|
||||
query.resources.hasDepthShaderView &&
|
||||
query.resources.hasSelectionMaskTexture &&
|
||||
query.resources.hasSelectionMaskView &&
|
||||
query.resources.hasSelectionMaskShaderView;
|
||||
if (query.requirements.requiresObjectIdSurface &&
|
||||
(!query.resources.hasObjectIdTexture ||
|
||||
!query.resources.hasObjectIdDepthTexture ||
|
||||
!query.resources.hasObjectIdDepthView ||
|
||||
!query.resources.hasObjectIdView ||
|
||||
!query.resources.hasObjectIdShaderView)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (query.requirements.requiresSelectionMaskSurface &&
|
||||
(!query.resources.hasSelectionMaskTexture ||
|
||||
!query.resources.hasSelectionMaskView ||
|
||||
!query.resources.hasSelectionMaskShaderView)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
::XCEngine::RHI::TextureDesc BuildViewportTextureDesc(
|
||||
|
||||
Reference in New Issue
Block a user