1. 11 Mar, 2019 1 commit
  2. 07 Mar, 2019 2 commits
  3. 06 Mar, 2019 4 commits
    • Move getBufferReferenceAlignment to be a method of TType · 7895e473
      Jeff Bolz authored
      This is a better place for it logically, since it is not specific to
      glsl->spirv translation. And in a future change I want to use it outside
      of glslangtospv.
    • Improved fix for buffer reference constants · 3fd12326
      Jeff Bolz authored
      This is an alternate fix for the issue described in commit be63facd, whose
      solution didn't work if there were non-trivial operations involved in computing
      a constant initializer which caused the 'constant unfolding' code to kick in
      (addConstantReferenceConversion). Instead, this change does the 'unfolding'
      later in createSpvConstantFromConstUnionArray. If a reference-type constant has
      survived that long, then folding is already done, this must be a 'real' (inside
      a function) use of the constant, and it should be safe to unfold and apply the
      bitcast.
    • Merge pull request #1714 from jeffbolznv/volatil · 79d25ea0
      John Kessenich authored
      Fix interactions between 'volatile' and the Vulkan memory model
    • Build: Update to latest SPIR-V header. · cc4a756d
      John Kessenich authored
  4. 05 Mar, 2019 1 commit
    • Fix interactions between 'volatile' and the Vulkan memory model · 38cbad15
      Jeff Bolz authored
      Last year we changed 'volatile' to also act as 'coherent', but when I
      resolved the memory model changes against that change I missed handling
      volatile in a couple places that we check for coherent. There was also
      a place in post-processing that acted as if the volatile memory access
      flag has a literal number associated with it, when it doesn't.
  5. 04 Mar, 2019 2 commits
    • Merge pull request #1699 from jeffbolznv/buffer_reference_fold · 9390154c
      John Kessenich authored
      Handle buffer references vs 'const'
    • Handle buffer references vs 'const' · be63facd
      Jeff Bolz authored
      Allow constructors to and from references to be constant folded. Section 4.3.3
      says constructors whose arguments are all constant expressions must fold.
      
      Disallow 'const' on buffer reference types. It is not a 'non-void transparent
      basic data type' (it is not considered 'basic').
      
      Handle buffer reference constants (which can be assigned to a non-const reference,
      or can be further folded to another type of constant) by converting to
      'constructor(uint64_t constant)' in addConversion.
      
      Disallow == and != operators on reference types.
  6. 28 Feb, 2019 2 commits
  7. 26 Feb, 2019 2 commits
  8. 22 Feb, 2019 2 commits
  9. 21 Feb, 2019 7 commits
  10. 20 Feb, 2019 3 commits
    • Fixup leak of TString · 0560138e
      Dan Sinclair authored
      In decomposeIntrinsic a new TString was being allocated and passed into
      a TVariable. That string was leaking. This CL converts the new TString
      to call NewPoolTString to allocate from the TString pool.
    • Allocate empty function name in the string pool. · 756bfd0a
      Dan Sinclair authored
      Inside the grammar for function_identifier if the .function is null an
      empty function name is allocated. This is allocated on the stack and
      passed into TFunction as a pointer. TFunction just stores that pointer.
      
      Later, when we access the name we will receive an invalid usage of a
      stack allocated variable. This CL switches to using NewPoolTStringn for
      the empty function name.
    • Update SPIRV-Tools known good · f8939eff
      Greg Fischer authored
  11. 19 Feb, 2019 4 commits
  12. 17 Feb, 2019 1 commit
  13. 16 Feb, 2019 1 commit
  14. 14 Feb, 2019 2 commits
  15. 12 Feb, 2019 1 commit
  16. 11 Feb, 2019 5 commits