diff --git a/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp b/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp index a9e3dee7dd..2ad38e6080 100644 --- a/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp +++ b/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp @@ -1389,6 +1389,11 @@ void HdVP2BasisCurves::_UpdateDrawItem( */ HdDirtyBits HdVP2BasisCurves::_PropagateDirtyBits(HdDirtyBits bits) const { + // Visibility and selection result in highlight changes: + if ((bits & HdChangeTracker::DirtyVisibility) && (bits & DirtySelection)) { + bits |= DirtySelectionHighlight; + } + // Propagate dirty bits to all draw items. for (const std::pair& pair : _reprs) { const HdReprSharedPtr& repr = pair.second; diff --git a/lib/mayaUsd/render/vp2RenderDelegate/mesh.cpp b/lib/mayaUsd/render/vp2RenderDelegate/mesh.cpp index 3379042085..34d7515da7 100644 --- a/lib/mayaUsd/render/vp2RenderDelegate/mesh.cpp +++ b/lib/mayaUsd/render/vp2RenderDelegate/mesh.cpp @@ -642,6 +642,11 @@ HdDirtyBits HdVP2Mesh::_PropagateDirtyBits(HdDirtyBits bits) const bits |= HdChangeTracker::DirtyExtent; } + // Visibility and selection result in highlight changes: + if ((bits & HdChangeTracker::DirtyVisibility) && (bits & DirtySelection)) { + bits |= DirtySelectionHighlight; + } + // Propagate dirty bits to all draw items. for (const std::pair& pair : _reprs) { const HdReprSharedPtr& repr = pair.second;