Skip to content
Snippets Groups Projects
  1. Sep 27, 2017
    • GregF's avatar
      Enable HLSL legalization · cd1f169c
      GregF authored
      Also added known-good mechanism to fetch latest validated spirv-tools.
      Also added -Od and -Os to disable optimizer and optimize for size.
      
      Fetching spirv-tools is optional for both glsl and hlsl. Legalization
      of hlsl is done by default if spirv-opt is present at cmake time.
      Optimization for glsl is currently done through the option -Os.
      
      Legalization testing is currently only done on four existing shaders.
      A separate baseLegalResults directory holds those results. All previous
      testing is done with the optimizer disabled.
      cd1f169c
  2. Jul 06, 2017
  3. Oct 02, 2016
    • steve-lunarg's avatar
      add reflection queries to return a TType. Fix minor issue with interface names. · 8ffc36ae
      steve-lunarg authored
      - Add new queries: TProgram::getUniformTType and getUniformBlockTType,
        which return a const TType*, or nullptr on a bad index.  These are valid for
        any source language.
      
      - Interface name for HLSL cbuffers is taken from the (only) available declaration name,
        whereas before it was always an empty string, which caused some troubles with reflection
        mapping them all to the same index slot.  This also makes it appear in the SPIR-V binary
        instead of an empty string.
      
      - Print the binding as part of the reflection textual dump.
      
      - TType::clone becomes const.  Needed to call it from a const method, and anyway it doesn't
        change the object it's called on.
      
      - Because the TObjectReflection constructor is called with a TType *reference* (not pointer)
        so that it's guaranteed to pass in a type, and the "badReflection" value should use a nullptr
        there, that now has a dedicated static method to obtain the bad value.  It uses a private
        constructor, so external users can't create one with a nullptr type.
      8ffc36ae
  4. Jul 12, 2016
  5. Mar 31, 2016
    • Lei Zhang's avatar
      Link in Google Test framework. · 414eb604
      Lei Zhang authored
      The existing test harness is a homemade shell script. All the tests
      and the expected results are written in plain text files. The harness
      just reads in a test, invoke the glslangValidator binary on it, and
      compare the result with the golden file. All tests are kinda
      integration tests.
      
      This patch add Google Test as an external project, which provides a
      new harness for reading shader source files, compile to SPIR-V, and
      then compare with the expected output.
      414eb604
  6. Feb 28, 2016
  7. Nov 16, 2015
  8. Jun 26, 2015
  9. Jan 10, 2014
Loading