Skip to content
Snippets Groups Projects
  1. Sep 29, 2016
  2. Sep 22, 2016
    • steve-lunarg's avatar
      Flatten uniform arrays · e0b9debd
      steve-lunarg authored
      This checkin adds a --flatten-uniform-arrays option which can break
      uniform arrays of samplers, textures, or UBOs up into individual
      scalars named (e.g) myarray[0], myarray[1], etc.  These appear as
      individual linkage objects.
      
      Code notes:
      
      - shouldFlatten internally calls shouldFlattenIO, and shouldFlattenUniform,
        but is the only flattening query directly called.
      
      - flattenVariable will handle structs or arrays (but not yet arrayed structs;
        this is tested an an error is generated).
      
      - There's some error checking around unhandled situations.  E.g, flattening
        uniform arrays with initializer lists is not implemented.
      
      - This piggybacks on as much of the existing mechanism for struct flattening
        as it can.  E.g, it uses the same flattenMap, and the same
        flattenAccess() method.
      
      - handleAssign() has been generalized to cope with either structs or arrays.
      
      - Extended test infrastructure to test flattening ability.
      e0b9debd
Loading