1. 07 Jul, 2020 1 commit
  2. 06 Jul, 2020 3 commits
  3. 05 Jul, 2020 3 commits
  4. 04 Jul, 2020 3 commits
  5. 03 Jul, 2020 9 commits
  6. 02 Jul, 2020 6 commits
  7. 01 Jul, 2020 6 commits
  8. 30 Jun, 2020 9 commits
    • Merge pull request #2302 from KhronosGroup/fix-texture-precision · 8d3f3b7d
      John Kessenich authored
      SPV: RelaxedPrecision: use the result precision for texture sampling.
    • Merge pull request #2300 from KhronosGroup/generalize-precision · d5b5215a
      John Kessenich authored
      SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.
    • glslang: Only export public interface for SOs · d64e8599
      Ben Clayton authored
      Default to `-fvisibility=hidden`, and annotate the public glslang interface with `GLSLANG_EXPORT` to change the visibility of these cherry-picked symbols to default.
      This is also used by Windows builds for `__declspec(dllexport)`-ing the public DLL interface.
      
      This allows us to classify API changes into those that are publicly backwards compatible, and those that are not.
      
      Note that `libSPIRV` will likely need similar treatment.
      
      Issues: #2283, #1484
    • Merge pull request #2301 from ben-clayton/split-libs · c858d7bd
      John Kessenich authored
      CMake: break up glslang into smaller static libs
    • CMake: break up glslang into smaller static libs · b8c3386e
      Ben Clayton authored
      Add `GenericCodeGen` and `MachineIndependent` static library targets.
      Privately import both of these into the `glslang` target.
      Privately import `MachineIndependent` into the  `SPIRV` target.
      
      This is done to break the dependency of `libglslang.so` non-public APIs from `libspirv.so`,
      which will become problematic once `glslang` hides its non-public symbols.
      
      | File                      | Before     |     After  |
      |---------------------------|-----------:|-----------:|
      | `libGenericCodeGen.a`     |  -         |   `527716` |
      | `libglslang.a`            | `68175944` |   `512938` |
      | `libHLSL.a`               |     `1428` |     `1428` |
      | `libMachineIndependent.a` |  -         | `67132202` |
      | `libOGLCompiler.a`        |    `75908` |    `75908` |
      | `libOSDependent.a`        |    `23768` |    `23768` |
      | `libSPIRV.a`              | `15710210` | `15710210` |
      | `libSPVRemapper.a`        |  `3250894` |  `3250894` |
      
      | File                                    | Before     |     After  |
      |-----------------------------------------|-----------:|-----------:|
      | `libglslang-default-resource-limits.so` |   `117032` |   `117032` |
      | `libglslang.so`                         | `22380688` | `22368216` |
      | `libHLSL.so`                            |     `7520` |     `7520` |
      | `libOGLCompiler.a`                      |    `75908` |    `75908` |
      | `libOSDependent.a`                      |    `23768` |    `23768` |
      | `libSPIRV.so`                           |  `7288336` | `28151016` |
      | `libSPVRemapper.so`                     |  `1940208` |  `1940208` |
      
      Issues: #2283, #1484
    • Merge pull request #2297 from ben-clayton/fpic · 8f4251a7
      John Kessenich authored
      CMake: Compile with -fPIC when building SOs
    • SPV: RelaxedPrecision: use the result precision for texture sampling. · 12c155f3
      John Kessenich authored
      Fix #2298.
      
      The AST has two precisions, an operation precision and a result precision.
      Actual use of GLSL with mediump samplers wants the result precision, so
      pick that up instead of the operation precision.
    • Merge pull request #2296 from ben-clayton/err-unresolved · 90f1d6ab
      John Kessenich authored
      CMake: Error on unresolved symbols
    • SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations. · 435dd802
      John Kessenich authored
      This simplifies and enforces use of precision in many more places,
      to help avoid accidental loss of RelaxedPrecision through intermediate
      operations. Known fixes are:
      - ?:
      - function return values with mis-matched precision
      - precision of function return values when a copy was needed to fix types