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

Barriers for load/store missing within compute passes with multiple dispatches

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • 5.15
    • None
    • Qt RHI
    • None

    Description

      The new manual test implemented for QTBUG-81213 shows that we lack barriers within compute passes. Unlike with render passes, compute potentially needs barriers also inside (not just at the start) for any pass that has more than one dispatch().

      While not relevant for D3D11 and Metal, both OpenGL and Vulkan show occasional incorrect results when generating the image mip levels in QTBUG-81213 as the same subresource is used first for store, then for load in the loop of dispatches. This cannot be safe without a coarse shader image access barrier (OpenGL) or subresource-level (duh!) barriers (Vulkan) between the dispatches.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-81217
          # Subject Branch Project Status CR V

          Activity

            People

              lagocs Laszlo Agocs
              lagocs Laszlo Agocs
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes