Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a3957d4 authored by Romain Guy's avatar Romain Guy
Browse files

Add reminder in the code to fix T-junctions

Change-Id: I52b112694f930e641f01fb78dc55412986023411
parent 7a57009c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -91,6 +91,13 @@ Region* LayerRenderer::getRegion() {
#endif
}

// TODO: This implementation is flawed and can generate T-junctions
//       in the mesh, which will in turn produce cracks when the
//       mesh is rotated/skewed. The easiest way to fix this would
//       be, for each row, to add new vertices shared with the previous
//       row when the two rows share an edge.
//       In practice, T-junctions do not appear often so this has yet
//       to be fixed.
void LayerRenderer::generateMesh() {
#if RENDER_LAYERS_AS_REGIONS
    if (mLayer->region.isRect() || mLayer->region.isEmpty()) {
+2 −0
Original line number Diff line number Diff line
@@ -724,6 +724,8 @@ void OpenGLRenderer::composeLayerRegion(Layer* layer, const Rect& rect) {
        return;
    }

    // TODO: See LayerRenderer.cpp::generateMesh() for important
    //       information about this implementation
    if (!layer->region.isEmpty()) {
        size_t count;
        const android::Rect* rects = layer->region.getArray(&count);