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

QRhi GL backend should handle basic structs and arrays of struct in a uniform block

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 5.15.0 Alpha
    • Component/s: Qt RHI
    • Labels:
      None
    • Commits:
      e6de661a8aa96b5905ea7ba4cd5d76bd06da3f93 (qt/qtbase/5.15)

      Description

      Needed for Quick3D.

      With uniform blocks disabled in the output (SPIRV-Cross), the following

      struct LightSource
      {
          vec4  position;
          ...
      };
      
      layout (std140, binding = 1) uniform cbBufferLights
      {
          int uNumLights;
          LightSource lights[MAX_NUM_LIGHTS];
      };
      

      translates to

      struct LightSource {
          vec4 position;
          ...
      }
      
      struct cbBufferLights {
          int uNumLights;
          LightSource lights[16];
      };
      
      uniform cbBufferLights _N;
      

      which means the decomposition of uniform buffers to plain uniforms must be able to deal with at least a simple array of struct.

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              lagocs Laszlo Agocs
              Reporter:
              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