[clang] [llvm] [HLSL][SPIR-V] Add SV_DispatchThreadID semantic support (PR #82536)

Chris B via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 26 14:23:48 PST 2024


================
@@ -0,0 +1,76 @@
+; RUN: llc -O0 -mtriple=spirv-vulkan-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-vulkan-unknown %s -o - -filetype=obj | spirv-val %}
+
+; This file generated from the following HLSL:
+; clang -cc1 -triple spirv-vulkan-library -x hlsl -emit-llvm -disable-llvm-passes -finclude-default-header -o - DispatchThreadID.hlsl
+;
+; [shader("compute")]
----------------
llvm-beanz wrote:

The LLVM Offload project has been using library calls instead of intrinsics where it makes sense to reduce the need to duplicate intrinsics. We can do that as well, but in cases like this specific change I think having target specific intrinsics has minimal cost and simplifies the lowering path.

There is no reasonable way to have DXIL and SPIR-V share a target. They are wildly different and I suspect any abstraction layers we would need to add to make that reasonable would be more complex than they are worth.

https://github.com/llvm/llvm-project/pull/82536


More information about the cfe-commits mailing list