1. 09 Feb, 2021 4 commits
  2. 08 Feb, 2021 1 commit
    • Make vk-unittests use VulkanWrapper · 9d35d544
      Antonio Maiorano authored
      This change moves the VulkanBenchmark and DrawBenchmark classes to
      VulkanWrapper so that they can be used from other unit tests -- namely,
      vk-unittests. In doing so, it became clear that using these as base
      classes wasn't great for writing googletests, as text fixtures are
      classes themselves, and this resulted in messy multiple inheritance. So
      I modified the two classes to use callback registration instead of
      virtual functions.
      
      Apart from reworking existing tests (e.g. see TriangleBenchmark.cpp), I
      also added a new DrawTests.cpp to vk-unittests with a unit test to make
      sure we don't crash when leaving out "gl_Position", a bug that sugoi@
      fixed in swiftshader-cl/51808. This is a good example of how easy it can
      be to write such unit tests now.
      
      List of changes:
      
      * Moved VulkanBenchmark and DrawBenchmark to VulkanWrapper, and renamed
        VulkanTester and DrawTester respectively.
      * ClearImageBenchmark refactored to aggregate a VulkanTester. This is an
        example where using a class is fine as we can still use the testers
        via aggregation.
      * TriangleBenchmark tests refactored to use DrawTester and register
        callbacks.
      * Moved compute tests to a ComputeTests.cpp.
      * Moved the other tests to BasicTests.cpp.
      * Added DrawTests.cpp with new DrawTests.VertexShaderNoPositionOutput
        test.
      * CMake: add VulkanWrapper target for unittests as well as benchmarks.
      * CMake: change FOLDER to better organize the tests and benchmarks for
        VS.
      
      Bug: b/176981107
      Change-Id: Ib1a0b85b3df787d2e39da08930414f9a14954a73
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52348
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Commit-Queue: Antonio Maiorano <amaiorano@google.com>
  3. 05 Feb, 2021 4 commits
    • Fix crash during llvm_shutdown due to init order fiasco · 266614a3
      Antonio Maiorano authored
      Use the constexpr constructor for _MSC_VER >= 1925, otherwise
      ManagedStatic will have a dynamic initializer, which depending on init
      order, results in the Ptr field being overwritten with 0. This
      eventually leads to multiple instances of the same ManagedStatic
      instance in the StaticList, and asserts when double destroying during
      llvm_shutdown.
      
      I reported this bug [here](https://bugs.llvm.org/show_bug.cgi?id=49027),
      and learned that this bug had already been fixed in upstream LLVM.
      
      Note that llvm_subzero already has a similar change, though for _MSC_VER
      >= 1920. According to the LLVM comment, the VC++ compiler up until 1925
      may still emit a dynamic initializer for a constexpr constructor, but I
      suppose we never ran into that for Subzero, so I'll leave this as is.
      
      Bug: b/175782868
      Change-Id: Ice3944f67e496aa94f1a7ed7502b49e763d702b4
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52508
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Commit-Queue: Antonio Maiorano <amaiorano@google.com>
    • Reactor: fix using -x86-asm-syntax only on x86 compilations · a8da847d
      Nicolas Capens authored
      The LLVM JIT fails loudly when attempting to parse this command line
      option when targeting non-x86 CPUs.
      
      Bug: b/157555596
      Change-Id: Ic5ddccbdbc86c2f03ded5f4004369ece0100c031
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52488
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
    • Limit Subzero routine stack size to 512 KiB · ff010f9f
      Nicolas Capens authored
      Fuzzing tests generate shaders with large arrays or very high numbers of
      local variables, which can cause stack overflow. We need to limit the
      allowable stack memory usage of generated routines.
      
      Note this change does not yet gracefully deal with routines which exceed
      this limit. They will cause a null pointer dereference instead of a
      stack overflow.
      
      The default stack size limit of 1 MiB at the Subzero level is to ensure
      we catch cases of excessive stack sizes even in the case no explicit
      limit was set. At the Reactor level we reduce it to 512 KiB to prevent
      actual stack overflow for a 1 MiB stack, assuming some earlier calls
      might want to use the stack. Also, our legacy 'ASM' compiler for GLSL
      allocates 4096 'registers' of 4 components for 128-bit SIMD, which
      already requires 256 KiB.
      
      Bug: b/157555596
      Change-Id: I474285eecc786496edffbaef29719ca0cdf03f7d
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52329
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Commit-Queue: Nicolas Capens <nicolascapens@google.com>
    • Limit LLVM routine stack size to 512 KiB · 25f0f858
      Nicolas Capens authored
      Fuzzing tests generate shaders with large arrays or very high numbers of
      local variables, which can cause stack overflow. We need to limit the
      allowable stack memory usage of generated routines.
      
      Note this change does not yet gracefully deal with routines which exceed
      this limit. They will cause a null pointer dereference instead of a
      stack overflow.
      
      The 512 KiB stack size limit is chosen to prevent actual stack overflow
      for a 1 MiB stack, assuming some earlier calls might want to use the
      stack. Also, our legacy 'ASM' compiler for GLSL allocates 4096
      'registers' of 4 components for 128-bit SIMD, which already requires
      256 KiB.
      
      Bug: b/157555596
      Change-Id: I25c57420f6d2af323ce98faf515feca0aa834a4a
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51548
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Commit-Queue: Nicolas Capens <nicolascapens@google.com>
  4. 03 Feb, 2021 1 commit
  5. 01 Feb, 2021 3 commits
  6. 31 Jan, 2021 1 commit
    • Allow sampling usage when querying linear image format properties. · df5dee64
      Yilong Li authored
      Currently, VkImages with VK_IMAGE_TILING_OPTIMAL tiling actually
      also have a linear texel layout in our current implementation,
      thus it can be sampled or used as blit source. And we would
      like to add support to sampling features for linear images when
      calling vkGetPhysicalDeviceImageFormatProperties() to query image
      format properties.
      
      Exceptions include images with compressed formats and images
      created to be used as cube maps.
      
      This will unblock SwiftShader users like AEMU/FEMU from sampling
      host-visible memory shared between guest processes.
      
      Bug: b/171299814
      Bug: fuchsia:54153
      Bug: fuchsia:68365
      Test: dEQP-VK.*
      
      Change-Id: Id9019fc9d9239fc85d0d2b086d4efd468844d254
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49108
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Commit-Queue: Yilong Li <liyl@google.com>
      Tested-by: 's avatarYilong Li <liyl@google.com>
  7. 30 Jan, 2021 2 commits
  8. 29 Jan, 2021 2 commits
  9. 28 Jan, 2021 6 commits
  10. 27 Jan, 2021 1 commit
  11. 26 Jan, 2021 5 commits
  12. 25 Jan, 2021 2 commits
  13. 22 Jan, 2021 3 commits
    • Flip samples to their correct position · 413f7cb1
      Alexis Hetu authored
      SwANGLE tests detected that SwiftShader's sample positions were 180
      degree flipped from Vulkan's exact sample locations. Most multisampling
      tests we've run with SwiftShader so far relied on resolved outputs,
      so having the samples in the wrong order didn't matter, as long as we
      had the correct 4 samples (which we do, since the samples are
      essentially rotated by 90 degrees around the center of the pixel from
      each other).
      
      Bug: b/170962186
      Bug: b/141380498
      Change-Id: I65552863e1fe38b321b84995e038984488512e1c
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52088Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Commit-Queue: Alexis Hétu <sugoi@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
    • Target macOS 10.14 on ARM64 to enable C++17 · 3fe96b78
      Nicolas Capens authored
      The first devices with M1 'Apple Silicon' AArch64 processors were
      launched with macOS 11.0, so it's safe to increase the target OS beyond
      the 10.11 support level needed by Chrome.
      
      This helps enable C++17 by addressing the lack of aligned heap
      allocation support in previous macOS versions:
      
      third_party/marl/include/marl/pool.h:236:27: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer
      src/Vulkan/VkPipeline.hpp:83:10: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer
      
      C++17 invokes aligned new/delete because of our use of alignas(16) for
      types like sw::float4, which is used for member fields in
      sw::DrawCall::BatchData and vk::GraphicsState. While this could be
      addressed by using custom new/delete operators for these classes (and
      classes which in turn use them as members), misalignment is just a minor
      performance issue, so we can leave things as-is and work around it with
      a build flag (note 16-byte alignment is needed for some vectors accessed
      in Reactor code, but that's handled for those individual cases).
      
      Bug: b/174843857
      Change-Id: Iaa40a3ac6aa7d12c088bf93a55803d8146bd289c
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52068Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Commit-Queue: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
    • Merge changes I6c21b03d,Ic6136d02,I988c0288,I21d11818,I79fa8162, ... · 9441aea1
      Ben Clayton authored
      * changes:
        Update src/Pipeline/SpirvShaderInstructions.inl
        Update SPIR-V Tools to f37547c73
        Squashed 'third_party/SPIRV-Tools/' changes from b0e22d28f5e..f37547c73a9
        Update SPIR-V Headers to 8bb2420b4
        Squashed 'third_party/SPIRV-Headers/' changes from 104ecc356c1..8bb2420b44a
        Mend git merge history for SPIRV-Headers and SPIRV-Tools
        Mend git merge history for SPIRV-Headers and SPIRV-Tools
        Revert 9dff6a3b to mend git merge history for SPIRV-Headers and SPIRV-Tools
        Squashed 'third_party/SPIRV-Tools/' changes from a61d07a7276..b0e22d28f5e
        Squashed 'third_party/SPIRV-Headers/' changes from 7845730cab6..104ecc356c1
  14. 21 Jan, 2021 5 commits
    • Update src/Pipeline/SpirvShaderInstructions.inl · 43e291e4
      Ben Clayton authored
      for SPIRV-Tools update
      
      Bug: b/123642959
      Change-Id: I6c21b03ddb5f04e20fb72c0e6b280ca9caaf1f7b
    • Update SPIR-V Tools to f37547c73 · 137f569b
      Ben Clayton authored
      Changes:
          f37547c73a9 spirv-val: Add Vulkan EXT builtins (#4115)
          1bd539b9bfc Support pending Intel extensions (#4116)
          56f8ed48efd Validate Sampled=1 for Vulkan ImageQuerySizeLod, ImageQueryLevels, ImageQueryLod (#4103)
          e25db023c47 spirv-val: Add Vulkan Memory Scope VUs (#4106)
          8383bd5d6f2 Migrate all Kokoro build scripts over to use the docker VM image (#4114)
          ee39b5db5f1 spirv-val: Add Vulkan Addressing Model check (#4107)
          9150cd441f4 Remove WebGPU support (#4108)
          b2cfc5d1cec spirv-val: Vulkan atomic storage class (#4079)
          cec658c1160 Avoid integrity check failures caused by propagating line instructions (#4096)
          b1507d0d2ba Linker usability improvements (#4084)
          7bbe1a31641 Revert "Generate differentiated error codes for buffer oob checking (#4097)" (#4100)
          c32277c0ba0 Generate differentiated error codes for buffer oob checking (#4097)
          f3ccb633dfd use std::string::empty() to test for emptiness (#4098)
          ad77ed7a8d5 spirv-val: Label standalone Vulkan VUID (#4091)
          aa005e8bd43 spirv-val: Add Vulkan decroation VUID (#4090)
          4ed1f4fce9e Fix binding number calculation in desc sroa (#4095)
          af3a3d481f6 Build deps: dump ini from 1.3.5 to 1.3.7 in tools/sva (#4092)
          94d1a80159e spirv-val: Add Vulkan FP Mode VUID (#4088)
          6d05ed8410b spirv-val: Fix Vulkan image sampled check (#4085)
          37c03859de9 spirv-val: Add Vulkan ForwardPointer VUID (#4089)
          d630e5f8c10 spirv-val: Add Vulkan ImageTexelPointer format check (#4087)
          1bb80d2778a spirv-val: Add Vulkan Group Operation VUID (#4086)
          17ffa89097b spirv-val: Add first StandAlone VUID 04633 (#4077)
          8f4b35c332e spirv-val: Add Subgroup VUIDs (#4074)
          4e31fdd4aa1 spirv-fuzz: Fix OpPhi handling in DuplicateRegionWithSelection (#4065)
          ad898cb9498 validation: validate return type of OpImageRead (#4072)
          305caff2ebb validation: tighter validation of multisampled images (#4059)
          a0370efd589 validate OpTypeImage Sampled values for environemnts (#4064)
          09d1fea5890 Force using Python 3 git-sync-deps (#4067)
          7170218b8de validate StorageImageMultisampled capability (#4062)
          3b85234542c spirv-val: Add last TessLevelOuter and TessLevelInner VUID (#4055)
          171290703a6 spirv-val: Add last ClipDistance and CullDistance VUID (#4054)
          1a6b4053fa0 spirv-val: Add last ViewportIndex and Layer VUID (#4053)
          9df5225e672 spirv-val: Add last Position VUID (#4052)
          862d44a86ed Allow forward pointer to be used in types generally (#4044)
          bda102d7a76 opt: Run DCE when SPV_KHR_shader_clock is used (#4049)
          b27b1afd12d Update CHANGES to include latest ray tacing fixes.
          cd050786621 Take new (raytracing) termination instructions into account. (#4050)
          21f7c5675da Start SPIRV-Tools v2020.7
          4c2f34a5048 Finalize SPIRV-Tools v2020.6
          c9c1f54330d Update CHANGES
          10e0ae7946c Do run DCE if SPV_KHR_ray_query is used. (#4047)
          84546647a0d Update CHANGES
          c1d5a045f6f Change ref_analysis to RefAnalysis to follow coding standards. (#4045)
          c502a15f25c Handle 8-bit index in elim dead member (#4043)
          32573bb2168 Add validation support for the ray tracing built-in variables (#4041)
          7046c05d2fb Add texel buffer out-of-bounds checking instrumentation (#4038)
          cf2d1e7afcd Update spirv-header deps (#4040)
          1299436c8f1 Reject SPIR-V that applies void to OpUndef, OpCopyObject, OpPhi (#4036)
          2c458414c08 BuildModule: optionally avoid adding new OpLine instructions (#4033)
          a79aa038ec1 Remove prototype for unimplemented method (#4031)
      
      Commands:
          ./third_party/update-spirvtools.sh
      
      Bug: b/123642959
      Change-Id: Ic6136d02f11f153a36ab9b9bb8019b4b18b3b5f3
    • Squashed 'third_party/SPIRV-Tools/' changes from b0e22d28f5e..f37547c73a9 · 745997b9
      Ben Clayton authored
      f37547c73a9 spirv-val: Add Vulkan EXT builtins (#4115)
      1bd539b9bfc Support pending Intel extensions (#4116)
      56f8ed48efd Validate Sampled=1 for Vulkan ImageQuerySizeLod, ImageQueryLevels, ImageQueryLod (#4103)
      e25db023c47 spirv-val: Add Vulkan Memory Scope VUs (#4106)
      8383bd5d6f2 Migrate all Kokoro build scripts over to use the docker VM image (#4114)
      ee39b5db5f1 spirv-val: Add Vulkan Addressing Model check (#4107)
      9150cd441f4 Remove WebGPU support (#4108)
      b2cfc5d1cec spirv-val: Vulkan atomic storage class (#4079)
      cec658c1160 Avoid integrity check failures caused by propagating line instructions (#4096)
      b1507d0d2ba Linker usability improvements (#4084)
      7bbe1a31641 Revert "Generate differentiated error codes for buffer oob checking (#4097)" (#4100)
      c32277c0ba0 Generate differentiated error codes for buffer oob checking (#4097)
      f3ccb633dfd use std::string::empty() to test for emptiness (#4098)
      ad77ed7a8d5 spirv-val: Label standalone Vulkan VUID (#4091)
      aa005e8bd43 spirv-val: Add Vulkan decroation VUID (#4090)
      4ed1f4fce9e Fix binding number calculation in desc sroa (#4095)
      af3a3d481f6 Build deps: dump ini from 1.3.5 to 1.3.7 in tools/sva (#4092)
      94d1a80159e spirv-val: Add Vulkan FP Mode VUID (#4088)
      6d05ed8410b spirv-val: Fix Vulkan image sampled check (#4085)
      37c03859de9 spirv-val: Add Vulkan ForwardPointer VUID (#4089)
      d630e5f8c10 spirv-val: Add Vulkan ImageTexelPointer format check (#4087)
      1bb80d2778a spirv-val: Add Vulkan Group Operation VUID (#4086)
      17ffa89097b spirv-val: Add first StandAlone VUID 04633 (#4077)
      8f4b35c332e spirv-val: Add Subgroup VUIDs (#4074)
      4e31fdd4aa1 spirv-fuzz: Fix OpPhi handling in DuplicateRegionWithSelection (#4065)
      ad898cb9498 validation: validate return type of OpImageRead (#4072)
      305caff2ebb validation: tighter validation of multisampled images (#4059)
      a0370efd589 validate OpTypeImage Sampled values for environemnts (#4064)
      09d1fea5890 Force using Python 3 git-sync-deps (#4067)
      7170218b8de validate StorageImageMultisampled capability (#4062)
      3b85234542c spirv-val: Add last TessLevelOuter and TessLevelInner VUID (#4055)
      171290703a6 spirv-val: Add last ClipDistance and CullDistance VUID (#4054)
      1a6b4053fa0 spirv-val: Add last ViewportIndex and Layer VUID (#4053)
      9df5225e672 spirv-val: Add last Position VUID (#4052)
      862d44a86ed Allow forward pointer to be used in types generally (#4044)
      bda102d7a76 opt: Run DCE when SPV_KHR_shader_clock is used (#4049)
      b27b1afd12d Update CHANGES to include latest ray tacing fixes.
      cd050786621 Take new (raytracing) termination instructions into account. (#4050)
      21f7c5675da Start SPIRV-Tools v2020.7
      4c2f34a5048 Finalize SPIRV-Tools v2020.6
      c9c1f54330d Update CHANGES
      10e0ae7946c Do run DCE if SPV_KHR_ray_query is used. (#4047)
      84546647a0d Update CHANGES
      c1d5a045f6f Change ref_analysis to RefAnalysis to follow coding standards. (#4045)
      c502a15f25c Handle 8-bit index in elim dead member (#4043)
      32573bb2168 Add validation support for the ray tracing built-in variables (#4041)
      7046c05d2fb Add texel buffer out-of-bounds checking instrumentation (#4038)
      cf2d1e7afcd Update spirv-header deps (#4040)
      1299436c8f1 Reject SPIR-V that applies void to OpUndef, OpCopyObject, OpPhi (#4036)
      2c458414c08 BuildModule: optionally avoid adding new OpLine instructions (#4033)
      a79aa038ec1 Remove prototype for unimplemented method (#4031)
      
      git-subtree-dir: third_party/SPIRV-Tools
      git-subtree-split: f37547c73a981bcf3f8b1a471e3000e606dd41a8
    • Update SPIR-V Headers to 8bb2420b4 · 1a396fea
      Ben Clayton authored
      Changes:
          8bb2420b44a Merge pull request #176 from MrSidims/private/MrSidims/OtherExtensions
          0dd29fb93ac Apply suggestions to Intel extensions PR
          b690b3e2174 Update generated files
          f9797ef9c1b Add SPV_INTEL_long_constant_composite extension
          8987518da9e Add SPV_INTEL_loop_fuse extension
          3fad4b35436 Add SPV_INTEL_fpga_cluster_attributes and SPV_INTEL_fp_fast_math_mode
          b6be746fc77 Update SPV_INTEL_fpga_loop_controls extension
          ad00ca3b55b Update SPV_INTEL_kernel_attributes extension
          0c290562414 Update SPV_INTEL_function_pointers extension
          ea791133ee4 Upstream SPV_INTEL_float_controls2 extension
          24e9c63e6dd Upstream SPV_INTEL_vector_compute extension
          2b76471587f Upstream SPV_INTEL_fpga_memory_accesses extension
          0e756817218 Upstream SPV_INTEL_io_pipes extension
          ef87dd18967 Upstream SPV_INTEL_variable_length_array extension
          e202eb89141 Upstream SPV_INTEL_usm_storage_classes extension
          a001134e417 Upstream SPV_INTEL_arbitrary_precision_integers extensions
          7669e05273b Upstream SPV_INTEL_inline_assembly extension
          d5035de3d31 Upstream SPV_INTEL_fpga_buffer_location extension
          f027d53ded7 Merge pull request #184 from dgkoch/dkoch_remove_hittkhr
          bdd2aa34c45 remove HitTKHR
      
      Commands:
          ./third_party/update-spirvheaders.sh
      
      Bug: b/123642959
      Change-Id: I21d11818df5a17704b930408b509f1ca3cfdefbc
    • Squashed 'third_party/SPIRV-Headers/' changes from 104ecc356c1..8bb2420b44a · d05681b3
      Ben Clayton authored
      8bb2420b44a Merge pull request #176 from MrSidims/private/MrSidims/OtherExtensions
      0dd29fb93ac Apply suggestions to Intel extensions PR
      b690b3e2174 Update generated files
      f9797ef9c1b Add SPV_INTEL_long_constant_composite extension
      8987518da9e Add SPV_INTEL_loop_fuse extension
      3fad4b35436 Add SPV_INTEL_fpga_cluster_attributes and SPV_INTEL_fp_fast_math_mode
      b6be746fc77 Update SPV_INTEL_fpga_loop_controls extension
      ad00ca3b55b Update SPV_INTEL_kernel_attributes extension
      0c290562414 Update SPV_INTEL_function_pointers extension
      ea791133ee4 Upstream SPV_INTEL_float_controls2 extension
      24e9c63e6dd Upstream SPV_INTEL_vector_compute extension
      2b76471587f Upstream SPV_INTEL_fpga_memory_accesses extension
      0e756817218 Upstream SPV_INTEL_io_pipes extension
      ef87dd18967 Upstream SPV_INTEL_variable_length_array extension
      e202eb89141 Upstream SPV_INTEL_usm_storage_classes extension
      a001134e417 Upstream SPV_INTEL_arbitrary_precision_integers extensions
      7669e05273b Upstream SPV_INTEL_inline_assembly extension
      d5035de3d31 Upstream SPV_INTEL_fpga_buffer_location extension
      f027d53ded7 Merge pull request #184 from dgkoch/dkoch_remove_hittkhr
      bdd2aa34c45 remove HitTKHR
      
      git-subtree-dir: third_party/SPIRV-Headers
      git-subtree-split: 8bb2420b44af3c514480e63ac24439044706b583