Skip to content
Snippets Groups Projects
  1. Sep 29, 2016
  2. Sep 28, 2016
  3. Sep 27, 2016
  4. Sep 26, 2016
  5. Sep 23, 2016
  6. Sep 22, 2016
    • steve-lunarg's avatar
      Fix defects in uniform array flattening · cf43e661
      steve-lunarg authored
      Fix for two defects as follows:
      
      - The IO mapping traverser was not setting inVisit, and would skip some AST nodes.
        Depending on the order of nodes, this could have prevented the binding from
        showing up in the generated SPIR-V.
      
      - If a uniform array was flattened, each of the flattened scalars from the array
        is still a (now-scalar) uniform.  It was being converted to a temporary.
      cf43e661
    • John Kessenich's avatar
      Merge pull request #516 from amdrexu/feature3 · 02df206c
      John Kessenich authored
      SPV: Implement the extension SPV_KHR_shader_ballot
      02df206c
    • John Kessenich's avatar
      HLSL: Merge pull request #515 from steve-lunarg/flatten-uniform-array · 4455258a
      John Kessenich authored
      HLSL: Flatten uniform arrays
      4455258a
    • 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
    • Rex Xu's avatar
      51596644
  7. Sep 21, 2016
    • John Kessenich's avatar
    • John Kessenich's avatar
      Merge pull request #514 from steve-lunarg/binding-map-3 · 6873f3d8
      John Kessenich authored
      HLSL: Add location offsets per resource type
      6873f3d8
    • steve-lunarg's avatar
      HLSL: Add location offsets per resource type · 7f7c2ed7
      steve-lunarg authored
      This PR adds the ability to offset sampler, texture, and UBO bindings
      from provided base bindings, and to auto-number bindings that are not
      provided with explicit register numbers. The mechanism works as
      follows:
      
      - Offsets may be given on the command line for all stages, or
        individually for one or more single stages, in which case the
        offset will be auto-selected according to the stage being
        compiled. There is also an API to set them. The new command line
        options are --shift-sampler-binding, --shift-texture-binding, and
        --shift-UBO-binding.
      
      - Uniforms which are not given explicit bindings in the source code
        are auto-numbered if and only if they are in live code as
        determined by the algorithm used to build the reflection
        database, and the --auto-map-bindings option is given. This auto-numbering
        avoids using any binding slots which were explicitly provided in
        the code, whether or not that explicit use was live. E.g, "uniform
        Texture1D foo : register(t3);" with --shift-texture-binding 10 will
        reserve binding 13, whether or not foo is used in live code.
      
      - Shorter synonyms for the command line options are available.  See
        the --help output.
      
      The testing infrastructure is slightly extended to allow use of the
      binding offset API, and two new tests spv.register.(no)autoassign.frag are
      added for comparing the resulting SPIR-V.
      7f7c2ed7
  8. Sep 20, 2016
  9. Sep 19, 2016
  10. Sep 17, 2016
  11. Sep 16, 2016
Loading