[all-commits] [llvm/llvm-project] 056f0a: [HLSL][DXIL] Implement `refract` intrinsic (#147342)

raoanag via All-commits all-commits at lists.llvm.org
Wed Jul 16 11:29:16 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 056f0a10b320fc2fd75f46aa67d68708303d89ad
      https://github.com/llvm/llvm-project/commit/056f0a10b320fc2fd75f46aa67d68708303d89ad
  Author: raoanag <127366241+raoanag at users.noreply.github.com>
  Date:   2025-07-16 (Wed, 16 Jul 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRVVK.td
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    A clang/test/CodeGenHLSL/builtins/refract.hlsl
    A clang/test/CodeGenSPIRV/Builtins/refract.c
    A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
    A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
    A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll

  Log Message:
  -----------
  [HLSL][DXIL] Implement `refract` intrinsic (#147342)

- [x] Implement refract using HLSL source in hlsl_intrinsics.h
- [x] Implement the refract SPIR-V target built-in in
clang/include/clang/Basic/BuiltinsSPIRV.td
- [x] Add sema checks for refract to CheckSPIRVBuiltinFunctionCall in
clang/lib/Sema/SemaSPIRV.cpp
- [x] Add codegen for spv refract to EmitSPIRVBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/refract.hlsl
- [x] Add spv codegen test to clang/test/CodeGenSPIRV/Builtins/refract.c
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
- [x] Add spv sema tests to
clang/test/SemaSPIRV/BuiltIns/refract-errors.c
- [x] Create the int_spv_refract intrinsic in IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the refract lowering and
map it to int_spv_refract in SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
- [x] Check for what OpenCL support is needed.

Resolves https://github.com/llvm/llvm-project/issues/99153



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list