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

tst_QRhi::storageBufferRuntimeSizeGraphics(OpenGL) failed on Wayland

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P1: Critical
    • None
    • 6.8
    • QPA: Wayland
    • None

    Description

      A manual run in a local Ubuntu 23.04 vm, GNOME on Wayland, latest dev of qtbase and qtwayland

      $ ./tst_qrhi storageBufferRuntimeSizeGraphics
      ********* Start testing of tst_QRhi *********
      Config: Using QtTest library 6.8.0, Qt 6.8.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 12.3.0), ubuntu 23.04
      PASS   : tst_QRhi::initTestCase()
      PASS   : tst_QRhi::storageBufferRuntimeSizeGraphics(Null)
      QWARN  : tst_QRhi::storageBufferRuntimeSizeGraphics(OpenGL) Failed to compile shader: 0:12(3): error: layout(binding = 8) for 1 SSBOs exceeds the maximum number of SSBO binding points (8)
      0:17(3): error: layout(binding = 9) for 1 SSBOs exceeds the maximum number of SSBO binding points (8)
      0:22(3): error: layout(binding = 10) for 1 SSBOs exceeds the maximum number of SSBO binding points (8)
      
      Source was:
      #version 430
      layout(vertices = 3) out;
      
      layout(binding = 7, std430) readonly buffer ssbo7
      {
          float float7[];
      } _13;
      
      layout(binding = 8, std430) readonly buffer ssbo8
      {
          float float8[];
      } _26;
      
      layout(binding = 9, std430) readonly buffer ssbo9
      {
          float float9[];
      } _36;
      
      layout(binding = 10, std430) readonly buffer ssbo10
      {
          float float10[];
      } _46;
      
      void main()
      {
          bool _20 = _13.float7[0] == 0.0;
          bool _30;
          if (_20)
          {
              _30 = _26.float8[0] == 0.0;
          }
          else
          {
              _30 = _20;
          }
          bool _40;
          if (_30)
          {
              _40 = _36.float9[0] == 0.0;
          }
          else
          {
              _40 = _30;
          }
          bool _50;
          if (_40)
          {
              _50 = _46.float10[0] == 0.0;
          }
          else
          {
              _50 = _40;
          }
          float a = float(_50 ? 1 : 1);
          if (gl_InvocationID == 0)
          {
              gl_TessLevelOuter[0] = float(int(uint(_13.float7.length()))) * a;
              gl_TessLevelOuter[1] = float(int(uint(_26.float8.length()))) * a;
              gl_TessLevelOuter[2] = float(int(uint(_36.float9.length()))) * a;
              gl_TessLevelInner[0] = float(int(uint(_46.float10.length()))) * a;
          }
          gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
      }
      
      
      FAIL!  : tst_QRhi::storageBufferRuntimeSizeGraphics(OpenGL) 'pipeline->create()' returned FALSE. ()
         Loc: [/home/liangqi/qt/qtbase/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp(6897)]
      PASS   : tst_QRhi::storageBufferRuntimeSizeGraphics(Vulkan)
      PASS   : tst_QRhi::cleanupTestCase()
      Totals: 4 passed, 1 failed, 0 skipped, 0 blacklisted, 90ms
      ********* Finished testing of tst_QRhi *********
      
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            liaqi Liang Qi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes