@cpp-linter/clang-tidy-win32-x64 21.1.0 → 22.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/22/include/__clang_cuda_complex_builtins.h +229 -0
- package/lib/clang/{21 → 22}/include/__clang_cuda_device_functions.h +1 -1
- package/lib/clang/{21 → 22}/include/__clang_cuda_runtime_wrapper.h +18 -0
- package/lib/clang/{21 → 22}/include/__clang_hip_libdevice_declares.h +17 -22
- package/lib/clang/{21 → 22}/include/__clang_hip_math.h +2 -2
- package/lib/clang/{21 → 22}/include/__clang_hip_runtime_wrapper.h +3 -0
- package/lib/clang/{21 → 22}/include/__clang_spirv_builtins.h +12 -12
- package/lib/clang/{21/include/float.h → 22/include/__float_float.h} +13 -24
- package/lib/clang/22/include/__float_header_macro.h +12 -0
- package/lib/clang/22/include/__float_infinity_nan.h +20 -0
- package/lib/clang/22/include/amo.h +131 -0
- package/lib/clang/{21 → 22}/include/amxavx512intrin.h +215 -1
- package/lib/clang/{21 → 22}/include/amxintrin.h +0 -2
- package/lib/clang/{21 → 22}/include/arm_acle.h +37 -27
- package/lib/clang/{21 → 22}/include/arm_neon.h +218 -82
- package/lib/clang/{21 → 22}/include/arm_sme.h +8 -8
- package/lib/clang/{21 → 22}/include/arm_sve.h +4162 -3782
- package/lib/clang/{21 → 22}/include/avx10_2_512bf16intrin.h +19 -12
- package/lib/clang/{21 → 22}/include/avx10_2_512convertintrin.h +1 -1
- package/lib/clang/{21 → 22}/include/avx10_2_512niintrin.h +25 -25
- package/lib/clang/{21 → 22}/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/lib/clang/{21 → 22}/include/avx10_2bf16intrin.h +54 -45
- package/lib/clang/{21 → 22}/include/avx10_2convertintrin.h +2 -2
- package/lib/clang/{21 → 22}/include/avx10_2copyintrin.h +1 -1
- package/lib/clang/{21 → 22}/include/avx10_2niintrin.h +2 -2
- package/lib/clang/{21 → 22}/include/avx10_2satcvtdsintrin.h +2 -2
- package/lib/clang/{21 → 22}/include/avx2intrin.h +275 -377
- package/lib/clang/{21 → 22}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{21 → 22}/include/avx512bitalgintrin.h +19 -30
- package/lib/clang/{21 → 22}/include/avx512bwintrin.h +386 -505
- package/lib/clang/22/include/avx512cdintrin.h +112 -0
- package/lib/clang/{21 → 22}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{21 → 22}/include/avx512fintrin.h +1015 -1424
- package/lib/clang/{21 → 22}/include/avx512fp16intrin.h +112 -110
- package/lib/clang/22/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/22/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{21 → 22}/include/avx512vbmi2intrin.h +43 -32
- package/lib/clang/{21 → 22}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{21 → 22}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{21 → 22}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{21 → 22}/include/avx512vlbitalgintrin.h +37 -53
- package/lib/clang/{21 → 22}/include/avx512vlbwintrin.h +470 -573
- package/lib/clang/22/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{21 → 22}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{21 → 22}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{21 → 22}/include/avx512vlintrin.h +945 -1299
- package/lib/clang/{21 → 22}/include/avx512vlvbmi2intrin.h +78 -63
- package/lib/clang/{21 → 22}/include/avx512vlvnniintrin.h +21 -18
- package/lib/clang/{21 → 22}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{21 → 22}/include/avx512vnniintrin.h +10 -10
- package/lib/clang/{21 → 22}/include/avx512vp2intersectintrin.h +1 -2
- package/lib/clang/{21 → 22}/include/avx512vpopcntdqintrin.h +8 -10
- package/lib/clang/{21 → 22}/include/avx512vpopcntdqvlintrin.h +17 -15
- package/lib/clang/{21 → 22}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{21 → 22}/include/avxintrin.h +165 -241
- package/lib/clang/{21 → 22}/include/avxvnniint16intrin.h +118 -99
- package/lib/clang/{21 → 22}/include/avxvnniint8intrin.h +56 -32
- package/lib/clang/{21 → 22}/include/avxvnniintrin.h +16 -8
- package/lib/clang/{21 → 22}/include/cpuid.h +101 -4
- package/lib/clang/22/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/{21 → 22}/include/emmintrin.h +168 -168
- package/lib/clang/{21 → 22}/include/f16cintrin.h +23 -9
- package/lib/clang/22/include/float.h +48 -0
- package/lib/clang/22/include/fma4intrin.h +220 -0
- package/lib/clang/{21 → 22}/include/fmaintrin.h +96 -66
- package/lib/clang/{21 → 22}/include/gfniintrin.h +21 -16
- package/lib/clang/{21 → 22}/include/gpuintrin.h +6 -4
- package/lib/clang/{21 → 22}/include/hexagon_types.h +23 -20
- package/lib/clang/{21 → 22}/include/hlsl/hlsl_alias_intrinsics.h +434 -84
- package/lib/clang/22/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/{21 → 22}/include/hlsl/hlsl_compat_overloads.h +111 -18
- package/lib/clang/{21 → 22}/include/hlsl/hlsl_intrinsic_helpers.h +51 -5
- package/lib/clang/{21 → 22}/include/hlsl/hlsl_intrinsics.h +269 -1
- package/lib/clang/{21 → 22}/include/hvx_hexagon_protos.h +649 -860
- package/lib/clang/{21 → 22}/include/immintrin.h +0 -12
- package/lib/clang/{21 → 22}/include/intrin.h +4 -0
- package/lib/clang/{21 → 22}/include/lasxintrin.h +113 -0
- package/lib/clang/{21 → 22}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/22/include/llvm_libc_wrappers/ctype.h +28 -0
- package/lib/clang/{21 → 22}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/22/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/22/include/llvm_libc_wrappers/stdlib.h +32 -0
- package/lib/clang/22/include/llvm_libc_wrappers/string.h +28 -0
- package/lib/clang/{21 → 22}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/{21 → 22}/include/mmintrin.h +188 -257
- package/lib/clang/{21 → 22}/include/module.modulemap +23 -4
- package/lib/clang/{21 → 22}/include/movrs_avx10_2_512intrin.h +2 -2
- package/lib/clang/{21 → 22}/include/movrs_avx10_2intrin.h +4 -4
- package/lib/clang/{21 → 22}/include/opencl-c-base.h +0 -93
- package/lib/clang/{21 → 22}/include/opencl-c.h +62 -16
- package/lib/clang/{21 → 22}/include/pmmintrin.h +12 -24
- package/lib/clang/{21 → 22}/include/ptrauth.h +14 -0
- package/lib/clang/22/include/riscv_mips.h +34 -0
- package/lib/clang/22/include/riscv_nds.h +89 -0
- package/lib/clang/{21 → 22}/include/sifive_vector.h +58 -2
- package/lib/clang/{21 → 22}/include/sm4evexintrin.h +2 -2
- package/lib/clang/{21 → 22}/include/smmintrin.h +77 -59
- package/lib/clang/22/include/spirvintrin.h +194 -0
- package/lib/clang/22/include/stddefer.h +19 -0
- package/lib/clang/{21 → 22}/include/tmmintrin.h +116 -147
- package/lib/clang/{21 → 22}/include/vaesintrin.h +1 -2
- package/lib/clang/{21 → 22}/include/xmmintrin.h +44 -70
- package/lib/clang/{21 → 22}/include/xopintrin.h +20 -10
- package/package.json +6 -6
- package/lib/clang/21/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
- package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
- package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
- package/lib/clang/21/include/amxtransposeintrin.h +0 -248
- package/lib/clang/21/include/avx512cdintrin.h +0 -125
- package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/21/include/fma4intrin.h +0 -218
- package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
- package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
- package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
- package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{21 → 22}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{21 → 22}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_null.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{21 → 22}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{21 → 22}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{21 → 22}/include/adcintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/adxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/altivec.h +0 -0
- /package/lib/clang/{21 → 22}/include/amdgpuintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ammintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/amxfp8intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/amxmovrsintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/amxtf32intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/andes_vector.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm64intr.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_bf16.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_cde.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_cmse.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_fp16.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_mve.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{21 → 22}/include/arm_vector_types.h +0 -0
- /package/lib/clang/{21 → 22}/include/armintr.h +0 -0
- /package/lib/clang/{21 → 22}/include/avx10_2_512minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/avx10_2_512satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/avx10_2minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/avx10_2satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/builtins.h +0 -0
- /package/lib/clang/{21 → 22}/include/cet.h +0 -0
- /package/lib/clang/{21 → 22}/include/cetintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/clwbintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/clzerointrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/crc32intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/bits/c++config.h +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{21 → 22}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{21 → 22}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{21 → 22}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{21 → 22}/include/hlsl/hlsl_detail.h +0 -0
- /package/lib/clang/{21 → 22}/include/hlsl/hlsl_spirv.h +0 -0
- /package/lib/clang/{21 → 22}/include/hlsl.h +0 -0
- /package/lib/clang/{21 → 22}/include/hresetintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/htmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ia32intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/intrin0.h +0 -0
- /package/lib/clang/{21 → 22}/include/inttypes.h +0 -0
- /package/lib/clang/{21 → 22}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/iso646.h +0 -0
- /package/lib/clang/{21 → 22}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/larchintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/limits.h +0 -0
- /package/lib/clang/{21 → 22}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
- /package/lib/clang/{21 → 22}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
- /package/lib/clang/{21 → 22}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
- /package/lib/clang/{21 → 22}/include/lsxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/lwpintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/mm3dnow.h +0 -0
- /package/lib/clang/{21 → 22}/include/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 22}/include/movdirintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/movrsintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/msa.h +0 -0
- /package/lib/clang/{21 → 22}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/nvptxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{21 → 22}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{21 → 22}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/pkuintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/popcntintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/raointintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{21 → 22}/include/riscv_corev_alu.h +0 -0
- /package/lib/clang/{21 → 22}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{21 → 22}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{21 → 22}/include/riscv_vector.h +0 -0
- /package/lib/clang/{21 → 22}/include/rtmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/s390intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/serializeintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/sgxintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/sha512intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/shaintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/sm3intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/sm4intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdalign.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdarg.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdatomic.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdbool.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdckdint.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdcountof.h +0 -0
- /package/lib/clang/{21 → 22}/include/stddef.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdint.h +0 -0
- /package/lib/clang/{21 → 22}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{21 → 22}/include/tbmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/tgmath.h +0 -0
- /package/lib/clang/{21 → 22}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/uintrintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/unwind.h +0 -0
- /package/lib/clang/{21 → 22}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/vadefs.h +0 -0
- /package/lib/clang/{21 → 22}/include/varargs.h +0 -0
- /package/lib/clang/{21 → 22}/include/vecintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/velintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{21 → 22}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{21 → 22}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{21 → 22}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/wmmintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/x86intrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/xtestintrin.h +0 -0
- /package/lib/clang/{21 → 22}/include/yvals_core.h +0 -0
- /package/lib/clang/{21 → 22}/include/zos_wrappers/builtins.h +0 -0
|
@@ -7,153 +7,225 @@
|
|
|
7
7
|
//===----------------------------------------------------------------------===//
|
|
8
8
|
|
|
9
9
|
#ifndef _HLSL_COMPAT_OVERLOADS_H_
|
|
10
|
-
#define
|
|
10
|
+
#define _HLSL_COMPAT_OVERLOADS_H_
|
|
11
11
|
|
|
12
12
|
namespace hlsl {
|
|
13
13
|
|
|
14
14
|
// Note: Functions in this file are sorted alphabetically, then grouped by base
|
|
15
|
-
// element type, and the element types are sorted by size, then
|
|
15
|
+
// element type, and the element types are sorted by size, then signed integer,
|
|
16
16
|
// unsigned integer and floating point. Keeping this ordering consistent will
|
|
17
17
|
// help keep this file manageable as it grows.
|
|
18
18
|
|
|
19
|
+
#define _DXC_DEPRECATED_64BIT_FN(fn) \
|
|
20
|
+
[[deprecated("In 202x 64 bit API lowering for " #fn " is deprecated. " \
|
|
21
|
+
"Explicitly cast parameters to 32 or 16 bit types.")]]
|
|
22
|
+
|
|
23
|
+
#define _DXC_DEPRECATED_INT_FN(fn) \
|
|
24
|
+
[[deprecated("In 202x int lowering for " #fn " is deprecated. " \
|
|
25
|
+
"Explicitly cast parameters to float types.")]]
|
|
26
|
+
|
|
27
|
+
#define _DXC_DEPRECATED_VEC_SCALAR_FN(fn) \
|
|
28
|
+
[[deprecated("In 202x mismatched vector/scalar lowering for " #fn " is " \
|
|
29
|
+
"deprecated. Explicitly cast parameters.")]]
|
|
30
|
+
|
|
19
31
|
#define _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(fn) \
|
|
32
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
20
33
|
constexpr float fn(double V) { return fn((float)V); } \
|
|
34
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
21
35
|
constexpr float2 fn(double2 V) { return fn((float2)V); } \
|
|
36
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
22
37
|
constexpr float3 fn(double3 V) { return fn((float3)V); } \
|
|
38
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
23
39
|
constexpr float4 fn(double4 V) { return fn((float4)V); }
|
|
24
40
|
|
|
25
41
|
#define _DXC_COMPAT_BINARY_DOUBLE_OVERLOADS(fn) \
|
|
42
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
26
43
|
constexpr float fn(double V1, double V2) { \
|
|
27
44
|
return fn((float)V1, (float)V2); \
|
|
28
45
|
} \
|
|
46
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
29
47
|
constexpr float2 fn(double2 V1, double2 V2) { \
|
|
30
48
|
return fn((float2)V1, (float2)V2); \
|
|
31
49
|
} \
|
|
50
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
32
51
|
constexpr float3 fn(double3 V1, double3 V2) { \
|
|
33
52
|
return fn((float3)V1, (float3)V2); \
|
|
34
53
|
} \
|
|
54
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
35
55
|
constexpr float4 fn(double4 V1, double4 V2) { \
|
|
36
56
|
return fn((float4)V1, (float4)V2); \
|
|
37
57
|
}
|
|
38
58
|
|
|
39
59
|
#define _DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(fn) \
|
|
60
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
40
61
|
constexpr float fn(double V1, double V2, double V3) { \
|
|
41
62
|
return fn((float)V1, (float)V2, (float)V3); \
|
|
42
63
|
} \
|
|
64
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
43
65
|
constexpr float2 fn(double2 V1, double2 V2, double2 V3) { \
|
|
44
66
|
return fn((float2)V1, (float2)V2, (float2)V3); \
|
|
45
67
|
} \
|
|
68
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
46
69
|
constexpr float3 fn(double3 V1, double3 V2, double3 V3) { \
|
|
47
70
|
return fn((float3)V1, (float3)V2, (float3)V3); \
|
|
48
71
|
} \
|
|
72
|
+
_DXC_DEPRECATED_64BIT_FN(fn) \
|
|
49
73
|
constexpr float4 fn(double4 V1, double4 V2, double4 V3) { \
|
|
50
74
|
return fn((float4)V1, (float4)V2, (float4)V3); \
|
|
51
75
|
}
|
|
52
76
|
|
|
53
77
|
#define _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(fn) \
|
|
78
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
54
79
|
constexpr float fn(int V) { return fn((float)V); } \
|
|
80
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
55
81
|
constexpr float2 fn(int2 V) { return fn((float2)V); } \
|
|
82
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
56
83
|
constexpr float3 fn(int3 V) { return fn((float3)V); } \
|
|
84
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
57
85
|
constexpr float4 fn(int4 V) { return fn((float4)V); } \
|
|
86
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
58
87
|
constexpr float fn(uint V) { return fn((float)V); } \
|
|
88
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
59
89
|
constexpr float2 fn(uint2 V) { return fn((float2)V); } \
|
|
90
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
60
91
|
constexpr float3 fn(uint3 V) { return fn((float3)V); } \
|
|
92
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
61
93
|
constexpr float4 fn(uint4 V) { return fn((float4)V); } \
|
|
94
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
62
95
|
constexpr float fn(int64_t V) { return fn((float)V); } \
|
|
96
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
63
97
|
constexpr float2 fn(int64_t2 V) { return fn((float2)V); } \
|
|
98
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
64
99
|
constexpr float3 fn(int64_t3 V) { return fn((float3)V); } \
|
|
100
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
65
101
|
constexpr float4 fn(int64_t4 V) { return fn((float4)V); } \
|
|
102
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
66
103
|
constexpr float fn(uint64_t V) { return fn((float)V); } \
|
|
104
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
67
105
|
constexpr float2 fn(uint64_t2 V) { return fn((float2)V); } \
|
|
106
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
68
107
|
constexpr float3 fn(uint64_t3 V) { return fn((float3)V); } \
|
|
108
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
69
109
|
constexpr float4 fn(uint64_t4 V) { return fn((float4)V); }
|
|
70
110
|
|
|
71
111
|
#define _DXC_COMPAT_BINARY_INTEGER_OVERLOADS(fn) \
|
|
112
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
72
113
|
constexpr float fn(int V1, int V2) { return fn((float)V1, (float)V2); } \
|
|
114
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
73
115
|
constexpr float2 fn(int2 V1, int2 V2) { return fn((float2)V1, (float2)V2); } \
|
|
116
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
74
117
|
constexpr float3 fn(int3 V1, int3 V2) { return fn((float3)V1, (float3)V2); } \
|
|
118
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
75
119
|
constexpr float4 fn(int4 V1, int4 V2) { return fn((float4)V1, (float4)V2); } \
|
|
120
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
76
121
|
constexpr float fn(uint V1, uint V2) { return fn((float)V1, (float)V2); } \
|
|
122
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
77
123
|
constexpr float2 fn(uint2 V1, uint2 V2) { \
|
|
78
124
|
return fn((float2)V1, (float2)V2); \
|
|
79
125
|
} \
|
|
126
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
80
127
|
constexpr float3 fn(uint3 V1, uint3 V2) { \
|
|
81
128
|
return fn((float3)V1, (float3)V2); \
|
|
82
129
|
} \
|
|
130
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
83
131
|
constexpr float4 fn(uint4 V1, uint4 V2) { \
|
|
84
132
|
return fn((float4)V1, (float4)V2); \
|
|
85
133
|
} \
|
|
134
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
86
135
|
constexpr float fn(int64_t V1, int64_t V2) { \
|
|
87
136
|
return fn((float)V1, (float)V2); \
|
|
88
137
|
} \
|
|
138
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
89
139
|
constexpr float2 fn(int64_t2 V1, int64_t2 V2) { \
|
|
90
140
|
return fn((float2)V1, (float2)V2); \
|
|
91
141
|
} \
|
|
142
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
92
143
|
constexpr float3 fn(int64_t3 V1, int64_t3 V2) { \
|
|
93
144
|
return fn((float3)V1, (float3)V2); \
|
|
94
145
|
} \
|
|
146
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
95
147
|
constexpr float4 fn(int64_t4 V1, int64_t4 V2) { \
|
|
96
148
|
return fn((float4)V1, (float4)V2); \
|
|
97
149
|
} \
|
|
150
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
98
151
|
constexpr float fn(uint64_t V1, uint64_t V2) { \
|
|
99
152
|
return fn((float)V1, (float)V2); \
|
|
100
153
|
} \
|
|
154
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
101
155
|
constexpr float2 fn(uint64_t2 V1, uint64_t2 V2) { \
|
|
102
156
|
return fn((float2)V1, (float2)V2); \
|
|
103
157
|
} \
|
|
158
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
104
159
|
constexpr float3 fn(uint64_t3 V1, uint64_t3 V2) { \
|
|
105
160
|
return fn((float3)V1, (float3)V2); \
|
|
106
161
|
} \
|
|
162
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
107
163
|
constexpr float4 fn(uint64_t4 V1, uint64_t4 V2) { \
|
|
108
164
|
return fn((float4)V1, (float4)V2); \
|
|
109
165
|
}
|
|
110
166
|
|
|
111
167
|
#define _DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(fn) \
|
|
168
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
112
169
|
constexpr float fn(int V1, int V2, int V3) { \
|
|
113
170
|
return fn((float)V1, (float)V2, (float)V3); \
|
|
114
171
|
} \
|
|
172
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
115
173
|
constexpr float2 fn(int2 V1, int2 V2, int2 V3) { \
|
|
116
174
|
return fn((float2)V1, (float2)V2, (float2)V3); \
|
|
117
175
|
} \
|
|
176
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
118
177
|
constexpr float3 fn(int3 V1, int3 V2, int3 V3) { \
|
|
119
178
|
return fn((float3)V1, (float3)V2, (float3)V3); \
|
|
120
179
|
} \
|
|
180
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
121
181
|
constexpr float4 fn(int4 V1, int4 V2, int4 V3) { \
|
|
122
182
|
return fn((float4)V1, (float4)V2, (float4)V3); \
|
|
123
183
|
} \
|
|
184
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
124
185
|
constexpr float fn(uint V1, uint V2, uint V3) { \
|
|
125
186
|
return fn((float)V1, (float)V2, (float)V3); \
|
|
126
187
|
} \
|
|
188
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
127
189
|
constexpr float2 fn(uint2 V1, uint2 V2, uint2 V3) { \
|
|
128
190
|
return fn((float2)V1, (float2)V2, (float2)V3); \
|
|
129
191
|
} \
|
|
192
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
130
193
|
constexpr float3 fn(uint3 V1, uint3 V2, uint3 V3) { \
|
|
131
194
|
return fn((float3)V1, (float3)V2, (float3)V3); \
|
|
132
195
|
} \
|
|
196
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
133
197
|
constexpr float4 fn(uint4 V1, uint4 V2, uint4 V3) { \
|
|
134
198
|
return fn((float4)V1, (float4)V2, (float4)V3); \
|
|
135
199
|
} \
|
|
200
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
136
201
|
constexpr float fn(int64_t V1, int64_t V2, int64_t V3) { \
|
|
137
202
|
return fn((float)V1, (float)V2, (float)V3); \
|
|
138
203
|
} \
|
|
204
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
139
205
|
constexpr float2 fn(int64_t2 V1, int64_t2 V2, int64_t2 V3) { \
|
|
140
206
|
return fn((float2)V1, (float2)V2, (float2)V3); \
|
|
141
207
|
} \
|
|
208
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
142
209
|
constexpr float3 fn(int64_t3 V1, int64_t3 V2, int64_t3 V3) { \
|
|
143
210
|
return fn((float3)V1, (float3)V2, (float3)V3); \
|
|
144
211
|
} \
|
|
212
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
145
213
|
constexpr float4 fn(int64_t4 V1, int64_t4 V2, int64_t4 V3) { \
|
|
146
214
|
return fn((float4)V1, (float4)V2, (float4)V3); \
|
|
147
215
|
} \
|
|
216
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
148
217
|
constexpr float fn(uint64_t V1, uint64_t V2, uint64_t V3) { \
|
|
149
218
|
return fn((float)V1, (float)V2, (float)V3); \
|
|
150
219
|
} \
|
|
220
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
151
221
|
constexpr float2 fn(uint64_t2 V1, uint64_t2 V2, uint64_t2 V3) { \
|
|
152
222
|
return fn((float2)V1, (float2)V2, (float2)V3); \
|
|
153
223
|
} \
|
|
224
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
154
225
|
constexpr float3 fn(uint64_t3 V1, uint64_t3 V2, uint64_t3 V3) { \
|
|
155
226
|
return fn((float3)V1, (float3)V2, (float3)V3); \
|
|
156
227
|
} \
|
|
228
|
+
_DXC_DEPRECATED_INT_FN(fn) \
|
|
157
229
|
constexpr float4 fn(uint64_t4 V1, uint64_t4 V2, uint64_t4 V3) { \
|
|
158
230
|
return fn((float4)V1, (float4)V2, (float4)V3); \
|
|
159
231
|
}
|
|
@@ -198,20 +270,23 @@ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(ceil)
|
|
|
198
270
|
//===----------------------------------------------------------------------===//
|
|
199
271
|
|
|
200
272
|
template <typename T, uint N>
|
|
201
|
-
|
|
202
|
-
|
|
273
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
|
|
274
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
|
|
275
|
+
vector<T, N> p0, vector<T, N> p1, T p2) {
|
|
203
276
|
return clamp(p0, p1, (vector<T, N>)p2);
|
|
204
277
|
}
|
|
205
278
|
|
|
206
279
|
template <typename T, uint N>
|
|
207
|
-
|
|
208
|
-
|
|
280
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
|
|
281
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
|
|
282
|
+
vector<T, N> p0, T p1, vector<T, N> p2) {
|
|
209
283
|
return clamp(p0, (vector<T, N>)p1, p2);
|
|
210
284
|
}
|
|
211
285
|
|
|
212
286
|
template <typename T, uint N>
|
|
213
|
-
|
|
214
|
-
|
|
287
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(clamp)
|
|
288
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> clamp(
|
|
289
|
+
vector<T, N> p0, T p1, T p2) {
|
|
215
290
|
return clamp(p0, (vector<T, N>)p1, (vector<T, N>)p2);
|
|
216
291
|
}
|
|
217
292
|
|
|
@@ -268,18 +343,32 @@ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(frac)
|
|
|
268
343
|
// isinf builtins overloads
|
|
269
344
|
//===----------------------------------------------------------------------===//
|
|
270
345
|
|
|
346
|
+
_DXC_DEPRECATED_64BIT_FN(fn)
|
|
271
347
|
constexpr bool isinf(double V) { return isinf((float)V); }
|
|
348
|
+
_DXC_DEPRECATED_64BIT_FN(fn)
|
|
272
349
|
constexpr bool2 isinf(double2 V) { return isinf((float2)V); }
|
|
350
|
+
_DXC_DEPRECATED_64BIT_FN(fn)
|
|
273
351
|
constexpr bool3 isinf(double3 V) { return isinf((float3)V); }
|
|
352
|
+
_DXC_DEPRECATED_64BIT_FN(fn)
|
|
274
353
|
constexpr bool4 isinf(double4 V) { return isinf((float4)V); }
|
|
275
354
|
|
|
355
|
+
//===----------------------------------------------------------------------===//
|
|
356
|
+
// isnan builtins overloads
|
|
357
|
+
//===----------------------------------------------------------------------===//
|
|
358
|
+
|
|
359
|
+
constexpr bool isnan(double V) { return isnan((float)V); }
|
|
360
|
+
constexpr bool2 isnan(double2 V) { return isnan((float2)V); }
|
|
361
|
+
constexpr bool3 isnan(double3 V) { return isnan((float3)V); }
|
|
362
|
+
constexpr bool4 isnan(double4 V) { return isnan((float4)V); }
|
|
363
|
+
|
|
276
364
|
//===----------------------------------------------------------------------===//
|
|
277
365
|
// lerp builtins overloads
|
|
278
366
|
//===----------------------------------------------------------------------===//
|
|
279
367
|
|
|
280
368
|
template <typename T, uint N>
|
|
281
|
-
|
|
282
|
-
|
|
369
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(lerp)
|
|
370
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> lerp(
|
|
371
|
+
vector<T, N> x, vector<T, N> y, T s) {
|
|
283
372
|
return lerp(x, y, (vector<T, N>)s);
|
|
284
373
|
}
|
|
285
374
|
|
|
@@ -312,14 +401,16 @@ _DXC_COMPAT_UNARY_INTEGER_OVERLOADS(log2)
|
|
|
312
401
|
//===----------------------------------------------------------------------===//
|
|
313
402
|
|
|
314
403
|
template <typename T, uint N>
|
|
315
|
-
|
|
316
|
-
|
|
404
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(max)
|
|
405
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> max(
|
|
406
|
+
vector<T, N> p0, T p1) {
|
|
317
407
|
return max(p0, (vector<T, N>)p1);
|
|
318
408
|
}
|
|
319
409
|
|
|
320
410
|
template <typename T, uint N>
|
|
321
|
-
|
|
322
|
-
|
|
411
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(max)
|
|
412
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> max(
|
|
413
|
+
T p0, vector<T, N> p1) {
|
|
323
414
|
return max((vector<T, N>)p0, p1);
|
|
324
415
|
}
|
|
325
416
|
|
|
@@ -328,14 +419,16 @@ max(T p0, vector<T, N> p1) {
|
|
|
328
419
|
//===----------------------------------------------------------------------===//
|
|
329
420
|
|
|
330
421
|
template <typename T, uint N>
|
|
331
|
-
|
|
332
|
-
|
|
422
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(min)
|
|
423
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> min(
|
|
424
|
+
vector<T, N> p0, T p1) {
|
|
333
425
|
return min(p0, (vector<T, N>)p1);
|
|
334
426
|
}
|
|
335
427
|
|
|
336
428
|
template <typename T, uint N>
|
|
337
|
-
|
|
338
|
-
|
|
429
|
+
_DXC_DEPRECATED_VEC_SCALAR_FN(min)
|
|
430
|
+
constexpr __detail::enable_if_t<(N > 1 && N <= 4), vector<T, N>> min(
|
|
431
|
+
T p0, vector<T, N> p1) {
|
|
339
432
|
return min((vector<T, N>)p0, p1);
|
|
340
433
|
}
|
|
341
434
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
namespace hlsl {
|
|
13
13
|
namespace __detail {
|
|
14
14
|
|
|
15
|
-
constexpr
|
|
15
|
+
constexpr int4 d3d_color_to_ubyte4_impl(float4 V) {
|
|
16
16
|
// Use the same scaling factor used by FXC, and DXC for DXIL
|
|
17
17
|
// (i.e., 255.001953)
|
|
18
18
|
// https://github.com/microsoft/DirectXShaderCompiler/blob/070d0d5a2beacef9eeb51037a9b04665716fd6f3/lib/HLSL/HLOperationLower.cpp#L666C1-L697C2
|
|
@@ -71,6 +71,16 @@ constexpr vector<T, L> reflect_vec_impl(vector<T, L> I, vector<T, L> N) {
|
|
|
71
71
|
#endif
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
template <typename T, typename U> constexpr T refract_impl(T I, T N, U Eta) {
|
|
75
|
+
#if (__has_builtin(__builtin_spirv_refract))
|
|
76
|
+
return __builtin_spirv_refract(I, N, Eta);
|
|
77
|
+
#endif
|
|
78
|
+
T Mul = dot(N, I);
|
|
79
|
+
T K = 1 - Eta * Eta * (1 - Mul * Mul);
|
|
80
|
+
T Result = (Eta * I - (Eta * Mul + sqrt(K)) * N);
|
|
81
|
+
return select<T>(K < 0, static_cast<T>(0), Result);
|
|
82
|
+
}
|
|
83
|
+
|
|
74
84
|
template <typename T> constexpr T fmod_impl(T X, T Y) {
|
|
75
85
|
#if !defined(__DIRECTX__)
|
|
76
86
|
return __builtin_elementwise_fmod(X, Y);
|
|
@@ -127,17 +137,53 @@ template <typename T> constexpr vector<T, 4> lit_impl(T NDotL, T NDotH, T M) {
|
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
template <typename T> constexpr T faceforward_impl(T N, T I, T Ng) {
|
|
130
|
-
#if (__has_builtin(__builtin_spirv_faceforward))
|
|
131
|
-
return __builtin_spirv_faceforward(N, I, Ng);
|
|
132
|
-
#else
|
|
133
140
|
return select(dot(I, Ng) < 0, N, -N);
|
|
134
|
-
#endif
|
|
135
141
|
}
|
|
136
142
|
|
|
137
143
|
template <typename T> constexpr T ldexp_impl(T X, T Exp) {
|
|
138
144
|
return exp2(Exp) * X;
|
|
139
145
|
}
|
|
140
146
|
|
|
147
|
+
template <typename K, typename T, int BitWidth>
|
|
148
|
+
constexpr K firstbithigh_impl(T X) {
|
|
149
|
+
K FBH = __builtin_hlsl_elementwise_firstbithigh(X);
|
|
150
|
+
#if defined(__DIRECTX__)
|
|
151
|
+
// The firstbithigh DXIL ops count bits from the wrong side, so we need to
|
|
152
|
+
// invert it for DirectX.
|
|
153
|
+
K Inversion = (BitWidth - 1) - FBH;
|
|
154
|
+
FBH = select(FBH == -1, FBH, Inversion);
|
|
155
|
+
#endif
|
|
156
|
+
return FBH;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
template <typename T> constexpr T ddx_impl(T input) {
|
|
160
|
+
#if (__has_builtin(__builtin_spirv_ddx))
|
|
161
|
+
return __builtin_spirv_ddx(input);
|
|
162
|
+
#else
|
|
163
|
+
return __builtin_hlsl_elementwise_ddx_coarse(input);
|
|
164
|
+
#endif
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
template <typename T> constexpr T ddy_impl(T input) {
|
|
168
|
+
#if (__has_builtin(__builtin_spirv_ddy))
|
|
169
|
+
return __builtin_spirv_ddy(input);
|
|
170
|
+
#else
|
|
171
|
+
return __builtin_hlsl_elementwise_ddy_coarse(input);
|
|
172
|
+
#endif
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
template <typename T> constexpr T fwidth_impl(T input) {
|
|
176
|
+
#if (__has_builtin(__builtin_spirv_fwidth))
|
|
177
|
+
return __builtin_spirv_fwidth(input);
|
|
178
|
+
#else
|
|
179
|
+
T derivCoarseX = ddx_coarse(input);
|
|
180
|
+
derivCoarseX = abs(derivCoarseX);
|
|
181
|
+
T derivCoarseY = ddy_coarse(input);
|
|
182
|
+
derivCoarseY = abs(derivCoarseY);
|
|
183
|
+
return derivCoarseX + derivCoarseY;
|
|
184
|
+
#endif
|
|
185
|
+
}
|
|
186
|
+
|
|
141
187
|
} // namespace __detail
|
|
142
188
|
} // namespace hlsl
|
|
143
189
|
|