Skip to content
Snippets Groups Projects
  1. Jan 07, 2019
  2. Jan 03, 2019
  3. Dec 28, 2018
  4. Dec 17, 2018
  5. Dec 16, 2018
  6. Dec 15, 2018
  7. Dec 13, 2018
  8. Dec 12, 2018
  9. Dec 10, 2018
  10. Dec 08, 2018
  11. Dec 07, 2018
    • Alan Baker's avatar
      Modify testing to only record validation pass/fail · ed777b0f
      Alan Baker authored
      * Changed unit tests to only record known the validation pass/fail
      status
       * errors are output as part of the failure message if the result is
       unexpected
       * can turn off validation for each test individually
      * Moved some SPV_KHR_vulkan_memory_model tests to be compiled for Vulkan
      1.1
      ed777b0f
  12. Dec 03, 2018
  13. Nov 29, 2018
    • Alejandro Piñeiro's avatar
      GlslangToSpv: prevent add XfbStride twice · 16ef9da3
      Alejandro Piñeiro authored
      Without this commit, if the XfbStride was explicitly set, the
      decoration was added twice on the shader.
      
      v2 (changes after Jonh Kessenich first review)
         * Simplified by just removing the firs assignment
         * Removed assert
      16ef9da3
  14. Nov 28, 2018
  15. Nov 27, 2018
  16. Nov 26, 2018
    • Alan Baker's avatar
      Update known good SPIRV tools and headers · 440f95b1
      Alan Baker authored
      * Fixes use of optimizer
      * Updated test outputs
       * GeometryStreams and TransformFeedback no longer fail validation
      440f95b1
    • Daniel Koch's avatar
      Implement GL_EXT_fragment_invocation_density · 5154db51
      Daniel Koch authored
      including SPV generation using SPV_EXT_fragment_invocation_density.
      This is an alias of the functionality in SPV_NV_shading_rate, and thus in some
      cases we can only have one set of the tokens present (switch statements), so
      we have picked the EXT version. This required updating the expected test
      results for SPV_NV_shading_rate.
      
      Also updated the known-good for spirv-headers so that the validator in
      spirv-tools knows about the new extension.
      
      
      
      
      
      
      5154db51
    • Neil Henning's avatar
      Add conversion folding when the source is a constant. · 81a63f1d
      Neil Henning authored
      This change adds unary conversion folding when the source is a constant.
      This fixes an ISV issue whereby:
      
      ```
      const float16_t f = float16_t(42.0);
      ```
      
      Wouldn't compile because the conversion operator would always produce an
      EvqTemporary when it could have produced an EvqConst.
      
      I've also added a test case that proves out that all basic-type to
      basic-type conversions work.
      81a63f1d
  17. Nov 21, 2018
  18. Nov 16, 2018
  19. Nov 15, 2018
  20. Nov 14, 2018
  21. Nov 12, 2018
  22. Nov 10, 2018
    • Alejandro Piñeiro's avatar
      ParseHelper: assign global XfbBuffer to a block missing it · adba7dfc
      Alejandro Piñeiro authored
      If a block has assigned a XfbOffset it is assumed that it would
      inherit the current global XfbBuffer. This commit fixes two use cases:
      
      1) Getting the members of a Block with a XfbOffset to be assigned an
         offset, as explained on GLSL 4.60 spec, section "4.4.2 Output
         Layout Qualifiers", subsection "Transform Feedback Layout
         Qualifiers".
      
      2) Compute properly an error on overlapping ranges if a block is
         assigned a XfbOffset and one of it members is assigned a explicit
         one. This gets working because when the members of a block get
         assigned a Offset/Buffer at fixBlockXfbOffsets, then the block is
         deassigned the Offsets, so ranges are computed only with the block
         members.
      
      BTW, this is already done when redeclaring block builtins.
      
      Fixes #1535
      adba7dfc
  23. Nov 08, 2018
  24. Nov 06, 2018
  25. Nov 02, 2018
    • Grigory Dzhavadyan's avatar
      Add names for composite constants in SPIR-V · 4c9876b3
      Grigory Dzhavadyan authored
      Consider the following code:
      
          layout(constant_id=0) const int Y = 1;
          layout(constant_id=1) const int Z = 2;
          layout(constant_id=3) const int X = Y + Z;
      
      Previously, it would produce SPIR-V decorations like this:
      
          Decorate 21(Y) SpecId 1
          Decorate 22 SpecId 3
          Decorate 33(Z) SpecId 0
      
      This seems inaccurate, since the spec constant `X` that is dependent on
      the two others did not get a name in the SPIR-V decorations. This behavior
      may potentially negatively affect shader introspection capabilities.
      
      This change alters the behavior to always add a name, which results in the code
      above producing the following decorations:
      
          Decorate 21(Y) SpecId 1
          Decorate 22(X) SpecId 3
          Decorate 33(Z) SpecId 0
      4c9876b3
  26. Oct 31, 2018
  27. Oct 26, 2018
    • John Kessenich's avatar
    • Neil Henning's avatar
      Fix 8-bit storage nearly always using the · b6b01f06
      Neil Henning authored
      UniformAndStorageBuffer8BitAccess capability.
      
      When using the 8-bit storage extension it basically always used the
      `UniformAndStorageBuffer8BitAccess` capability, even in cases where it
      wasn't required. For instance if we are targeting Vulkan 1.1 (SPIR-V 1.3
      or higher), and we are only using 8-bit types in an SSBO, we only need
      the `StorageBuffer8BitAccess` capability.
      
      I fixed this by enabling storage buffer use in Vulkan 1.1 / SPIR-V 1.3
      or higher, and then changing the logic to match.
      
      I also added some tests that will output different capabilities when run
      on Vulkan 1.0 and 1.1, thus they are added twice to the test list (one
      for each version).
      
      Fixes #1539
      b6b01f06
    • Sahil Parmar's avatar
      Allow GL_NV_mesh_shader in fragment shaders for perprimitiveNV · 38772c04
      Sahil Parmar authored
      - Emit relevant capability/extension for use of perprimitiveNV in fragment shader
      - Remove redundant checks for mesh shader qualifiers in glslang.y
      - Add profile version check for use of extension GL_NV_mesh_shader
      - Add a new gtest for use of perprimitiveNV in fragment shader
      38772c04
Loading