Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-66457

QtQuick.Shapes with layer enabled has weird rendering problems with Nvidia drivers

    XMLWordPrintable

Details

    Description

      Simple filled triangle with layer.enabled set to true is rendered as if the filled region was outside and mirrored. Basically everything looks wrong if this is enabled and nvidia path extensions are used. These seem to render completely fine with vendorExtensionsEnabled disabled and with software rendering.

      import QtQuick 2.4
      import QtQuick.Controls 2.0
      import QtQuick.Shapes 1.0
      
      ApplicationWindow {
          visible: true
          width: 800
          height: 800
          Shape {
              id: triangle
              width: 200
              height: 150
              anchors.centerIn: parent
              layer.enabled: true
              ShapePath {
                  strokeWidth: 1
                  strokeColor: "red"
                  fillColor: "green"
                  startX: 20; startY: 20
                  PathLine { x: 180; y: 130 }
                  PathLine { x: 20; y: 130 }
                  PathLine { x: 20; y: 20 }
              }
          }
      }
      

      with-layers.png shows that when running on nvidia GPU, filling of the triangle is outside of the triangle.
      no-layers.png shows how it looks with no layers.enabled set or with vendorExtensionsEnabled disabled

      Attachments

        1. no-layers.png
          no-layers.png
          8 kB
        2. with-layers.png
          with-layers.png
          8 kB
        For Gerrit Dashboard: QTBUG-66457
        # Subject Branch Project Status CR V

        Activity

          People

            lagocs Laszlo Agocs
            poikelin Joni Poikelin
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes