@cpp-linter/clang-tidy-linux-arm64 22.1.8 → 23.1.4
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 +2 -2
- package/lib/clang/{22 → 23}/include/__clang_cuda_complex_builtins.h +10 -3
- package/lib/clang/{22 → 23}/include/__clang_cuda_intrinsics.h +207 -226
- package/lib/clang/{22 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{22 → 23}/include/__clang_cuda_runtime_wrapper.h +9 -5
- package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
- package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
- package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
- package/lib/clang/{22 → 23}/include/__clang_hip_libdevice_declares.h +0 -102
- package/lib/clang/{22 → 23}/include/__clang_hip_math.h +3 -3
- package/lib/clang/{22 → 23}/include/__clang_hip_runtime_wrapper.h +6 -1
- package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
- package/lib/clang/23/include/__clang_spirv_math.h +719 -0
- package/lib/clang/{22 → 23}/include/altivec.h +79 -9
- package/lib/clang/{22 → 23}/include/amdgpuintrin.h +2 -29
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/{22 → 23}/include/amo.h +89 -0
- package/lib/clang/{22 → 23}/include/andes_vector.h +5 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{22 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{22 → 23}/include/arm_acle.h +1 -0
- package/lib/clang/{22 → 23}/include/arm_neon.h +3922 -3754
- package/lib/clang/{22 → 23}/include/arm_sme.h +12 -0
- package/lib/clang/{22 → 23}/include/arm_sve.h +420 -0
- package/lib/clang/{22 → 23}/include/avx2intrin.h +4 -5
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{22 → 23}/include/avx512bwintrin.h +19 -29
- package/lib/clang/{22 → 23}/include/avx512fintrin.h +62 -89
- package/lib/clang/{22 → 23}/include/avx512fp16intrin.h +12 -18
- package/lib/clang/{22 → 23}/include/avx512vbmi2intrin.h +12 -16
- package/lib/clang/{22 → 23}/include/avx512vlbwintrin.h +24 -36
- package/lib/clang/{22 → 23}/include/avx512vlintrin.h +80 -96
- package/lib/clang/{22 → 23}/include/avx512vlvbmi2intrin.h +24 -32
- package/lib/clang/{22 → 23}/include/avx512vlvnniintrin.h +29 -34
- package/lib/clang/{22 → 23}/include/avx512vnniintrin.h +32 -35
- package/lib/clang/{22 → 23}/include/avx512vp2intersectintrin.h +1 -1
- package/lib/clang/{22 → 23}/include/avxvnniintrin.h +23 -18
- package/lib/clang/{22 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/{22 → 23}/include/emmintrin.h +8 -8
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{22 → 23}/include/gpuintrin.h +123 -105
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/{22/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +1865 -1157
- package/lib/clang/{22 → 23}/include/hlsl/hlsl_compat_overloads.h +39 -0
- package/lib/clang/{22 → 23}/include/hlsl/hlsl_detail.h +6 -4
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/{22 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +25 -45
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/{22 → 23}/include/hvx_hexagon_protos.h +102 -80
- package/lib/clang/{22 → 23}/include/immintrin.h +4 -2
- package/lib/clang/{22 → 23}/include/intrin.h +20 -10
- package/lib/clang/{22 → 23}/include/larchintrin.h +2 -0
- package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/ctype.h +3 -2
- package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/string.h +3 -2
- package/lib/clang/{22 → 23}/include/module.modulemap +16 -1
- package/lib/clang/{22 → 23}/include/nvptxintrin.h +15 -26
- package/lib/clang/{22 → 23}/include/opencl-c-base.h +7 -0
- package/lib/clang/{22 → 23}/include/opencl-c.h +163 -102
- package/lib/clang/{22 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
- package/lib/clang/{22 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{22 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{22 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{22 → 23}/include/ptrauth.h +90 -12
- package/lib/clang/{22 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/{22 → 23}/include/riscv_corev_alu.h +2 -0
- package/lib/clang/{22 → 23}/include/riscv_crypto.h +8 -0
- package/lib/clang/{22 → 23}/include/riscv_mips.h +2 -0
- package/lib/clang/{22 → 23}/include/riscv_nds.h +3 -0
- package/lib/clang/{22 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{22 → 23}/include/riscv_vector.h +43 -0
- package/lib/clang/{22 → 23}/include/sifive_vector.h +18 -0
- package/lib/clang/{22 → 23}/include/spirvintrin.h +2 -29
- package/lib/clang/{22 → 23}/include/stdint.h +5 -14
- package/lib/clang/{22 → 23}/include/vecintrin.h +1 -1
- package/lib/clang/{22 → 23}/include/wasm_simd128.h +17 -0
- package/lib/clang/{22 → 23}/include/xmmintrin.h +8 -7
- package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
- package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
- package/lib/clang/23/include/zos_wrappers/math.h +31 -0
- package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
- package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
- package/lib/clang/23/include/zos_wrappers/string.h +19 -0
- package/lib/clang/23/include/zos_wrappers/time.h +19 -0
- package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
- package/package.json +6 -6
- package/lib/clang/22/include/amxtf32intrin.h +0 -108
- package/lib/clang/22/include/hlsl/hlsl_intrinsics.h +0 -794
- /package/lib/clang/{22 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{22 → 23}/include/__clang_spirv_builtins.h +0 -0
- /package/lib/clang/{22 → 23}/include/__float_float.h +0 -0
- /package/lib/clang/{22 → 23}/include/__float_header_macro.h +0 -0
- /package/lib/clang/{22 → 23}/include/__float_infinity_nan.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{22 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{22 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{22 → 23}/include/adcintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/adxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxavx512intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxfp8intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/amxmovrsintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_fp16.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{22 → 23}/include/arm_vector_types.h +0 -0
- /package/lib/clang/{22 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512bf16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512convertintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512niintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512satcvtdsintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2bf16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2convertintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2copyintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2minmaxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2niintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2satcvtdsintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx10_2satcvtintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/bmiintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{22 → 23}/include/cet.h +0 -0
- /package/lib/clang/{22 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/cpuid.h +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/__utility/declval.h +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{22 → 23}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{22 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/f16cintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/float.h +0 -0
- /package/lib/clang/{22 → 23}/include/fma4intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/fmaintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/gfniintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{22 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{22 → 23}/include/hexagon_types.h +0 -0
- /package/lib/clang/{22 → 23}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{22 → 23}/include/hlsl/hlsl_spirv.h +0 -0
- /package/lib/clang/{22 → 23}/include/hlsl.h +0 -0
- /package/lib/clang/{22 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/intrin0.h +0 -0
- /package/lib/clang/{22 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{22 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{22 → 23}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/lasxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/limits.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/assert.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/stdlib.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
- /package/lib/clang/{22 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
- /package/lib/clang/{22 → 23}/include/lsxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{22 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{22 → 23}/include/mmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/movrs_avx10_2_512intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/movrs_avx10_2intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/movrsintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/msa.h +0 -0
- /package/lib/clang/{22 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{22 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{22 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{22 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/pmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/popcntintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/shaintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/sm4evexintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/smmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdalign.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdcountof.h +0 -0
- /package/lib/clang/{22 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{22 → 23}/include/stddefer.h +0 -0
- /package/lib/clang/{22 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{22 → 23}/include/tbmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{22 → 23}/include/tmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{22 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{22 → 23}/include/vaesintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{22 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{22 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{22 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/x86intrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xopintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{22 → 23}/include/yvals_core.h +0 -0
- /package/lib/clang/{22 → 23}/include/zos_wrappers/builtins.h +0 -0
|
@@ -1,47 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
-
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
-
//
|
|
7
|
-
//===----------------------------------------------------------------------===//
|
|
8
|
-
|
|
9
|
-
#ifndef _HLSL_HLSL_ALIAS_INTRINSICS_H_
|
|
10
|
-
#define _HLSL_HLSL_ALIAS_INTRINSICS_H_
|
|
11
|
-
|
|
12
|
-
namespace hlsl {
|
|
13
|
-
|
|
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 singed integer,
|
|
16
|
-
// unsigned integer and floating point. Keeping this ordering consistent will
|
|
17
|
-
// help keep this file manageable as it grows.
|
|
18
|
-
|
|
19
|
-
#define _HLSL_BUILTIN_ALIAS(builtin) \
|
|
20
|
-
__attribute__((clang_builtin_alias(builtin)))
|
|
21
|
-
#define _HLSL_AVAILABILITY(platform, version) \
|
|
22
|
-
__attribute__((availability(platform, introduced = version)))
|
|
23
|
-
#define _HLSL_AVAILABILITY_STAGE(platform, version, stage) \
|
|
24
|
-
__attribute__(( \
|
|
25
|
-
availability(platform, introduced = version, environment = stage)))
|
|
26
|
-
|
|
27
|
-
#ifdef __HLSL_ENABLE_16_BIT
|
|
28
|
-
#define _HLSL_16BIT_AVAILABILITY(platform, version) \
|
|
29
|
-
__attribute__((availability(platform, introduced = version)))
|
|
30
|
-
#define _HLSL_16BIT_AVAILABILITY_STAGE(platform, version, stage) \
|
|
31
|
-
__attribute__(( \
|
|
32
|
-
availability(platform, introduced = version, environment = stage)))
|
|
33
|
-
#else
|
|
34
|
-
#define _HLSL_16BIT_AVAILABILITY(environment, version)
|
|
35
|
-
#define _HLSL_16BIT_AVAILABILITY_STAGE(environment, version, stage)
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
//===----------------------------------------------------------------------===//
|
|
39
|
-
// abs builtins
|
|
40
|
-
//===----------------------------------------------------------------------===//
|
|
1
|
+
// This file is auto-generated by clang-tblgen from HLSLIntrinsics.td.
|
|
2
|
+
// Do not edit this file directly.
|
|
41
3
|
|
|
42
4
|
/// \fn T abs(T Val)
|
|
43
5
|
/// \brief Returns the absolute value of the input value, \a Val.
|
|
44
6
|
/// \param Val The input value.
|
|
7
|
+
// abs overloads
|
|
8
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
9
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
10
|
+
half abs(half);
|
|
11
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
12
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
13
|
+
half2 abs(half2);
|
|
14
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
15
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
16
|
+
half3 abs(half3);
|
|
17
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
18
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
19
|
+
half4 abs(half4);
|
|
45
20
|
|
|
46
21
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
47
22
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
@@ -56,30 +31,8 @@ int16_t3 abs(int16_t3);
|
|
|
56
31
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
57
32
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
58
33
|
int16_t4 abs(int16_t4);
|
|
59
|
-
|
|
60
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
61
|
-
constexpr uint16_t abs(uint16_t V) { return V; }
|
|
62
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
63
|
-
constexpr uint16_t2 abs(uint16_t2 V) { return V; }
|
|
64
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
65
|
-
constexpr uint16_t3 abs(uint16_t3 V) { return V; }
|
|
66
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
67
|
-
constexpr uint16_t4 abs(uint16_t4 V) { return V; }
|
|
68
34
|
#endif
|
|
69
35
|
|
|
70
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
71
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
72
|
-
half abs(half);
|
|
73
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
74
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
75
|
-
half2 abs(half2);
|
|
76
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
77
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
78
|
-
half3 abs(half3);
|
|
79
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
80
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
81
|
-
half4 abs(half4);
|
|
82
|
-
|
|
83
36
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
84
37
|
int abs(int);
|
|
85
38
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
@@ -89,20 +42,6 @@ int3 abs(int3);
|
|
|
89
42
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
90
43
|
int4 abs(int4);
|
|
91
44
|
|
|
92
|
-
constexpr uint abs(uint V) { return V; }
|
|
93
|
-
constexpr uint2 abs(uint2 V) { return V; }
|
|
94
|
-
constexpr uint3 abs(uint3 V) { return V; }
|
|
95
|
-
constexpr uint4 abs(uint4 V) { return V; }
|
|
96
|
-
|
|
97
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
98
|
-
float abs(float);
|
|
99
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
100
|
-
float2 abs(float2);
|
|
101
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
102
|
-
float3 abs(float3);
|
|
103
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
104
|
-
float4 abs(float4);
|
|
105
|
-
|
|
106
45
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
107
46
|
int64_t abs(int64_t);
|
|
108
47
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
@@ -112,10 +51,14 @@ int64_t3 abs(int64_t3);
|
|
|
112
51
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
113
52
|
int64_t4 abs(int64_t4);
|
|
114
53
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
54
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
55
|
+
float abs(float);
|
|
56
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
57
|
+
float2 abs(float2);
|
|
58
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
59
|
+
float3 abs(float3);
|
|
60
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
61
|
+
float4 abs(float4);
|
|
119
62
|
|
|
120
63
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
121
64
|
double abs(double);
|
|
@@ -126,14 +69,10 @@ double3 abs(double3);
|
|
|
126
69
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
|
127
70
|
double4 abs(double4);
|
|
128
71
|
|
|
129
|
-
//===----------------------------------------------------------------------===//
|
|
130
|
-
// acos builtins
|
|
131
|
-
//===----------------------------------------------------------------------===//
|
|
132
|
-
|
|
133
72
|
/// \fn T acos(T Val)
|
|
134
73
|
/// \brief Returns the arccosine of the input value, \a Val.
|
|
135
74
|
/// \param Val The input value.
|
|
136
|
-
|
|
75
|
+
// acos overloads
|
|
137
76
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
138
77
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_acos)
|
|
139
78
|
half acos(half);
|
|
@@ -156,10 +95,6 @@ float3 acos(float3);
|
|
|
156
95
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_acos)
|
|
157
96
|
float4 acos(float4);
|
|
158
97
|
|
|
159
|
-
//===----------------------------------------------------------------------===//
|
|
160
|
-
// AddUint64 builtins
|
|
161
|
-
//===----------------------------------------------------------------------===//
|
|
162
|
-
|
|
163
98
|
/// \fn T AddUint64(T a, T b)
|
|
164
99
|
/// \brief Implements unsigned 64-bit integer addition using pairs of unsigned
|
|
165
100
|
/// 32-bit integers.
|
|
@@ -169,21 +104,31 @@ float4 acos(float4);
|
|
|
169
104
|
/// This function takes one or two pairs (low, high) of unsigned 32-bit integer
|
|
170
105
|
/// values and returns pairs (low, high) of unsigned 32-bit integer
|
|
171
106
|
/// values representing the result of unsigned 64-bit integer addition.
|
|
172
|
-
|
|
107
|
+
// AddUint64 overloads
|
|
173
108
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
174
109
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_adduint64)
|
|
175
|
-
|
|
110
|
+
uint2 AddUint64(uint2, uint2);
|
|
176
111
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
177
112
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_adduint64)
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
//===----------------------------------------------------------------------===//
|
|
181
|
-
// all builtins
|
|
182
|
-
//===----------------------------------------------------------------------===//
|
|
113
|
+
uint4 AddUint64(uint4, uint4);
|
|
183
114
|
|
|
184
115
|
/// \fn bool all(T x)
|
|
185
116
|
/// \brief Returns True if all components of the \a x parameter are non-zero;
|
|
186
|
-
/// otherwise, false.
|
|
117
|
+
/// otherwise, false.
|
|
118
|
+
/// \param x The input value.
|
|
119
|
+
// all overloads
|
|
120
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
121
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
122
|
+
bool all(half);
|
|
123
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
124
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
125
|
+
bool all(half2);
|
|
126
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
127
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
128
|
+
bool all(half3);
|
|
129
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
130
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
131
|
+
bool all(half4);
|
|
187
132
|
|
|
188
133
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
189
134
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
@@ -198,6 +143,7 @@ bool all(int16_t3);
|
|
|
198
143
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
199
144
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
200
145
|
bool all(int16_t4);
|
|
146
|
+
|
|
201
147
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
202
148
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
203
149
|
bool all(uint16_t);
|
|
@@ -212,19 +158,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
|
212
158
|
bool all(uint16_t4);
|
|
213
159
|
#endif
|
|
214
160
|
|
|
215
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
216
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
217
|
-
bool all(half);
|
|
218
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
219
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
220
|
-
bool all(half2);
|
|
221
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
222
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
223
|
-
bool all(half3);
|
|
224
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
225
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
226
|
-
bool all(half4);
|
|
227
|
-
|
|
228
161
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
229
162
|
bool all(bool);
|
|
230
163
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
@@ -233,7 +166,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
|
233
166
|
bool all(bool3);
|
|
234
167
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
235
168
|
bool all(bool4);
|
|
236
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
237
169
|
|
|
238
170
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
239
171
|
bool all(int);
|
|
@@ -253,15 +185,6 @@ bool all(uint3);
|
|
|
253
185
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
254
186
|
bool all(uint4);
|
|
255
187
|
|
|
256
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
257
|
-
bool all(float);
|
|
258
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
259
|
-
bool all(float2);
|
|
260
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
261
|
-
bool all(float3);
|
|
262
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
263
|
-
bool all(float4);
|
|
264
|
-
|
|
265
188
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
266
189
|
bool all(int64_t);
|
|
267
190
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
@@ -280,6 +203,15 @@ bool all(uint64_t3);
|
|
|
280
203
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
281
204
|
bool all(uint64_t4);
|
|
282
205
|
|
|
206
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
207
|
+
bool all(float);
|
|
208
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
209
|
+
bool all(float2);
|
|
210
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
211
|
+
bool all(float3);
|
|
212
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
213
|
+
bool all(float4);
|
|
214
|
+
|
|
283
215
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
284
216
|
bool all(double);
|
|
285
217
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
@@ -289,67 +221,80 @@ bool all(double3);
|
|
|
289
221
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all)
|
|
290
222
|
bool all(double4);
|
|
291
223
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
224
|
+
/// \fn void AllMemoryBarrier(void)
|
|
225
|
+
/// \brief Blocks execution of all threads in a group until all memory
|
|
226
|
+
/// accesses have been completed.
|
|
227
|
+
// AllMemoryBarrier overloads
|
|
228
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all_memory_barrier)
|
|
229
|
+
__attribute__((convergent)) void AllMemoryBarrier();
|
|
230
|
+
|
|
231
|
+
/// \fn void AllMemoryBarrierWithGroupSync(void)
|
|
232
|
+
/// \brief Blocks execution of all threads in a group until all memory
|
|
233
|
+
/// accesses have been completed and all threads in the group have reached this call.
|
|
234
|
+
// AllMemoryBarrierWithGroupSync overloads
|
|
235
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_all_memory_barrier_with_group_sync)
|
|
236
|
+
__attribute__((convergent)) void AllMemoryBarrierWithGroupSync();
|
|
295
237
|
|
|
296
238
|
/// \fn bool and(bool x, bool y)
|
|
297
239
|
/// \brief Logically ands two boolean vectors or matrices elementwise and
|
|
298
240
|
/// produces a bool vector or matrix output.
|
|
299
|
-
|
|
300
|
-
// TODO: Clean up clang-format marker once we've resolved
|
|
301
|
-
// https://github.com/llvm/llvm-project/issues/127851
|
|
302
|
-
//
|
|
303
|
-
// clang-format off
|
|
241
|
+
// and overloads
|
|
304
242
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
305
|
-
bool and(bool
|
|
243
|
+
bool and(bool, bool);
|
|
306
244
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
307
|
-
bool2 and(bool2
|
|
245
|
+
bool2 and(bool2, bool2);
|
|
308
246
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
309
|
-
bool3 and(bool3
|
|
247
|
+
bool3 and(bool3, bool3);
|
|
310
248
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
311
|
-
bool4 and(bool4
|
|
312
|
-
|
|
313
|
-
|
|
249
|
+
bool4 and(bool4, bool4);
|
|
314
250
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
315
|
-
bool1x2 and(bool1x2
|
|
251
|
+
bool1x2 and(bool1x2, bool1x2);
|
|
316
252
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
317
|
-
bool1x3 and(bool1x3
|
|
253
|
+
bool1x3 and(bool1x3, bool1x3);
|
|
318
254
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
319
|
-
bool1x4 and(bool1x4
|
|
255
|
+
bool1x4 and(bool1x4, bool1x4);
|
|
320
256
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
321
|
-
bool2x1 and(bool2x1
|
|
257
|
+
bool2x1 and(bool2x1, bool2x1);
|
|
322
258
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
323
|
-
bool2x2 and(bool2x2
|
|
259
|
+
bool2x2 and(bool2x2, bool2x2);
|
|
324
260
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
325
|
-
bool2x3 and(bool2x3
|
|
261
|
+
bool2x3 and(bool2x3, bool2x3);
|
|
326
262
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
327
|
-
bool2x4 and(bool2x4
|
|
263
|
+
bool2x4 and(bool2x4, bool2x4);
|
|
328
264
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
329
|
-
bool3x1 and(bool3x1
|
|
265
|
+
bool3x1 and(bool3x1, bool3x1);
|
|
330
266
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
331
|
-
bool3x2 and(bool3x2
|
|
267
|
+
bool3x2 and(bool3x2, bool3x2);
|
|
332
268
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
333
|
-
bool3x3 and(bool3x3
|
|
269
|
+
bool3x3 and(bool3x3, bool3x3);
|
|
334
270
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
335
|
-
bool3x4 and(bool3x4
|
|
271
|
+
bool3x4 and(bool3x4, bool3x4);
|
|
336
272
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
337
|
-
bool4x1 and(bool4x1
|
|
273
|
+
bool4x1 and(bool4x1, bool4x1);
|
|
338
274
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
339
|
-
bool4x2 and(bool4x2
|
|
275
|
+
bool4x2 and(bool4x2, bool4x2);
|
|
340
276
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
341
|
-
bool4x3 and(bool4x3
|
|
277
|
+
bool4x3 and(bool4x3, bool4x3);
|
|
342
278
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
343
|
-
bool4x4 and(bool4x4
|
|
344
|
-
// clang-format on
|
|
345
|
-
|
|
346
|
-
//===----------------------------------------------------------------------===//
|
|
347
|
-
// any builtins
|
|
348
|
-
//===----------------------------------------------------------------------===//
|
|
279
|
+
bool4x4 and(bool4x4, bool4x4);
|
|
349
280
|
|
|
350
281
|
/// \fn bool any(T x)
|
|
351
282
|
/// \brief Returns True if any components of the \a x parameter are non-zero;
|
|
352
|
-
/// otherwise, false.
|
|
283
|
+
/// otherwise, false.
|
|
284
|
+
/// \param x The input value.
|
|
285
|
+
// any overloads
|
|
286
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
287
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
288
|
+
bool any(half);
|
|
289
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
290
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
291
|
+
bool any(half2);
|
|
292
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
293
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
294
|
+
bool any(half3);
|
|
295
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
296
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
297
|
+
bool any(half4);
|
|
353
298
|
|
|
354
299
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
355
300
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
@@ -364,6 +309,7 @@ bool any(int16_t3);
|
|
|
364
309
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
365
310
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
366
311
|
bool any(int16_t4);
|
|
312
|
+
|
|
367
313
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
368
314
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
369
315
|
bool any(uint16_t);
|
|
@@ -378,19 +324,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
|
378
324
|
bool any(uint16_t4);
|
|
379
325
|
#endif
|
|
380
326
|
|
|
381
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
382
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
383
|
-
bool any(half);
|
|
384
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
385
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
386
|
-
bool any(half2);
|
|
387
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
388
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
389
|
-
bool any(half3);
|
|
390
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
391
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
392
|
-
bool any(half4);
|
|
393
|
-
|
|
394
327
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
395
328
|
bool any(bool);
|
|
396
329
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -399,7 +332,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
|
399
332
|
bool any(bool3);
|
|
400
333
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
401
334
|
bool any(bool4);
|
|
402
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
403
335
|
|
|
404
336
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
405
337
|
bool any(int);
|
|
@@ -419,15 +351,6 @@ bool any(uint3);
|
|
|
419
351
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
420
352
|
bool any(uint4);
|
|
421
353
|
|
|
422
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
423
|
-
bool any(float);
|
|
424
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
425
|
-
bool any(float2);
|
|
426
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
427
|
-
bool any(float3);
|
|
428
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
429
|
-
bool any(float4);
|
|
430
|
-
|
|
431
354
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
432
355
|
bool any(int64_t);
|
|
433
356
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -446,6 +369,15 @@ bool any(uint64_t3);
|
|
|
446
369
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
447
370
|
bool any(uint64_t4);
|
|
448
371
|
|
|
372
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
373
|
+
bool any(float);
|
|
374
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
375
|
+
bool any(float2);
|
|
376
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
377
|
+
bool any(float3);
|
|
378
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
379
|
+
bool any(float4);
|
|
380
|
+
|
|
449
381
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
450
382
|
bool any(double);
|
|
451
383
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -455,15 +387,11 @@ bool any(double3);
|
|
|
455
387
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
456
388
|
bool any(double4);
|
|
457
389
|
|
|
458
|
-
//===----------------------------------------------------------------------===//
|
|
459
|
-
// asdouble builtins
|
|
460
|
-
//===----------------------------------------------------------------------===//
|
|
461
|
-
|
|
462
390
|
/// \fn double asdouble(uint LowBits, uint HighBits)
|
|
463
391
|
/// \brief Reinterprets a cast value (two 32-bit values) into a double.
|
|
464
392
|
/// \param LowBits The low 32-bit pattern of the input value.
|
|
465
393
|
/// \param HighBits The high 32-bit pattern of the input value.
|
|
466
|
-
|
|
394
|
+
// asdouble overloads
|
|
467
395
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
468
396
|
double asdouble(uint, uint);
|
|
469
397
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
@@ -473,14 +401,10 @@ double3 asdouble(uint3, uint3);
|
|
|
473
401
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
474
402
|
double4 asdouble(uint4, uint4);
|
|
475
403
|
|
|
476
|
-
//===----------------------------------------------------------------------===//
|
|
477
|
-
// asin builtins
|
|
478
|
-
//===----------------------------------------------------------------------===//
|
|
479
|
-
|
|
480
404
|
/// \fn T asin(T Val)
|
|
481
405
|
/// \brief Returns the arcsine of the input value, \a Val.
|
|
482
406
|
/// \param Val The input value.
|
|
483
|
-
|
|
407
|
+
// asin overloads
|
|
484
408
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
485
409
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_asin)
|
|
486
410
|
half asin(half);
|
|
@@ -503,14 +427,10 @@ float3 asin(float3);
|
|
|
503
427
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_asin)
|
|
504
428
|
float4 asin(float4);
|
|
505
429
|
|
|
506
|
-
//===----------------------------------------------------------------------===//
|
|
507
|
-
// atan builtins
|
|
508
|
-
//===----------------------------------------------------------------------===//
|
|
509
|
-
|
|
510
430
|
/// \fn T atan(T Val)
|
|
511
431
|
/// \brief Returns the arctangent of the input value, \a Val.
|
|
512
432
|
/// \param Val The input value.
|
|
513
|
-
|
|
433
|
+
// atan overloads
|
|
514
434
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
515
435
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan)
|
|
516
436
|
half atan(half);
|
|
@@ -533,47 +453,114 @@ float3 atan(float3);
|
|
|
533
453
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan)
|
|
534
454
|
float4 atan(float4);
|
|
535
455
|
|
|
536
|
-
//===----------------------------------------------------------------------===//
|
|
537
|
-
// atan2 builtins
|
|
538
|
-
//===----------------------------------------------------------------------===//
|
|
539
|
-
|
|
540
456
|
/// \fn T atan2(T y, T x)
|
|
541
457
|
/// \brief Returns the arctangent of y/x, using the signs of the arguments to
|
|
542
458
|
/// determine the correct quadrant.
|
|
543
459
|
/// \param y The y-coordinate.
|
|
544
460
|
/// \param x The x-coordinate.
|
|
545
|
-
|
|
461
|
+
// atan2 overloads
|
|
546
462
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
547
463
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
548
|
-
half atan2(half
|
|
464
|
+
half atan2(half, half);
|
|
549
465
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
550
466
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
551
|
-
half2 atan2(half2
|
|
467
|
+
half2 atan2(half2, half2);
|
|
552
468
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
553
469
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
554
|
-
half3 atan2(half3
|
|
470
|
+
half3 atan2(half3, half3);
|
|
555
471
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
556
472
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
557
|
-
half4 atan2(half4
|
|
558
|
-
|
|
473
|
+
half4 atan2(half4, half4);
|
|
474
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
475
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
476
|
+
half1x2 atan2(half1x2, half1x2);
|
|
477
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
478
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
479
|
+
half1x3 atan2(half1x3, half1x3);
|
|
480
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
481
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
482
|
+
half1x4 atan2(half1x4, half1x4);
|
|
483
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
484
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
485
|
+
half2x1 atan2(half2x1, half2x1);
|
|
486
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
487
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
488
|
+
half2x2 atan2(half2x2, half2x2);
|
|
489
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
490
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
491
|
+
half2x3 atan2(half2x3, half2x3);
|
|
492
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
493
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
494
|
+
half2x4 atan2(half2x4, half2x4);
|
|
495
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
559
496
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
560
|
-
|
|
497
|
+
half3x1 atan2(half3x1, half3x1);
|
|
498
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
499
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
500
|
+
half3x2 atan2(half3x2, half3x2);
|
|
501
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
502
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
503
|
+
half3x3 atan2(half3x3, half3x3);
|
|
504
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
505
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
506
|
+
half3x4 atan2(half3x4, half3x4);
|
|
507
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
508
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
509
|
+
half4x1 atan2(half4x1, half4x1);
|
|
510
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
561
511
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
562
|
-
|
|
512
|
+
half4x2 atan2(half4x2, half4x2);
|
|
513
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
563
514
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
564
|
-
|
|
515
|
+
half4x3 atan2(half4x3, half4x3);
|
|
516
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
565
517
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
566
|
-
|
|
518
|
+
half4x4 atan2(half4x4, half4x4);
|
|
567
519
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
520
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
521
|
+
float atan2(float, float);
|
|
522
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
523
|
+
float2 atan2(float2, float2);
|
|
524
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
525
|
+
float3 atan2(float3, float3);
|
|
526
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
527
|
+
float4 atan2(float4, float4);
|
|
528
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
529
|
+
float1x2 atan2(float1x2, float1x2);
|
|
530
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
531
|
+
float1x3 atan2(float1x3, float1x3);
|
|
532
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
533
|
+
float1x4 atan2(float1x4, float1x4);
|
|
534
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
535
|
+
float2x1 atan2(float2x1, float2x1);
|
|
536
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
537
|
+
float2x2 atan2(float2x2, float2x2);
|
|
538
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
539
|
+
float2x3 atan2(float2x3, float2x3);
|
|
540
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
541
|
+
float2x4 atan2(float2x4, float2x4);
|
|
542
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
543
|
+
float3x1 atan2(float3x1, float3x1);
|
|
544
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
545
|
+
float3x2 atan2(float3x2, float3x2);
|
|
546
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
547
|
+
float3x3 atan2(float3x3, float3x3);
|
|
548
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
549
|
+
float3x4 atan2(float3x4, float3x4);
|
|
550
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
551
|
+
float4x1 atan2(float4x1, float4x1);
|
|
552
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
553
|
+
float4x2 atan2(float4x2, float4x2);
|
|
554
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
555
|
+
float4x3 atan2(float4x3, float4x3);
|
|
556
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
557
|
+
float4x4 atan2(float4x4, float4x4);
|
|
571
558
|
|
|
572
559
|
/// \fn T ceil(T Val)
|
|
573
560
|
/// \brief Returns the smallest integer value that is greater than or equal to
|
|
574
561
|
/// the input value, \a Val.
|
|
575
562
|
/// \param Val The input value.
|
|
576
|
-
|
|
563
|
+
// ceil overloads
|
|
577
564
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
578
565
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
|
579
566
|
half ceil(half);
|
|
@@ -596,10 +583,6 @@ float3 ceil(float3);
|
|
|
596
583
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
|
597
584
|
float4 ceil(float4);
|
|
598
585
|
|
|
599
|
-
//===----------------------------------------------------------------------===//
|
|
600
|
-
// clamp builtins
|
|
601
|
-
//===----------------------------------------------------------------------===//
|
|
602
|
-
|
|
603
586
|
/// \fn T clamp(T X, T Min, T Max)
|
|
604
587
|
/// \brief Clamps the specified value \a X to the specified
|
|
605
588
|
/// minimum ( \a Min) and maximum ( \a Max) range.
|
|
@@ -610,7 +593,7 @@ float4 ceil(float4);
|
|
|
610
593
|
/// Returns The clamped value for the \a X parameter.
|
|
611
594
|
/// For values of -INF or INF, clamp will behave as expected.
|
|
612
595
|
/// However for values of NaN, the results are undefined.
|
|
613
|
-
|
|
596
|
+
// clamp overloads
|
|
614
597
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
615
598
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clamp)
|
|
616
599
|
half clamp(half, half, half);
|
|
@@ -706,13 +689,22 @@ double3 clamp(double3, double3, double3);
|
|
|
706
689
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clamp)
|
|
707
690
|
double4 clamp(double4, double4, double4);
|
|
708
691
|
|
|
709
|
-
//===----------------------------------------------------------------------===//
|
|
710
|
-
// clip builtins
|
|
711
|
-
//===----------------------------------------------------------------------===//
|
|
712
|
-
|
|
713
692
|
/// \fn void clip(T Val)
|
|
714
693
|
/// \brief Discards the current pixel if the specified value is less than zero.
|
|
715
694
|
/// \param Val The input value.
|
|
695
|
+
// clip overloads
|
|
696
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
697
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
698
|
+
void clip(half);
|
|
699
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
700
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
701
|
+
void clip(half2);
|
|
702
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
703
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
704
|
+
void clip(half3);
|
|
705
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
706
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
707
|
+
void clip(half4);
|
|
716
708
|
|
|
717
709
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
718
710
|
void clip(float);
|
|
@@ -723,14 +715,10 @@ void clip(float3);
|
|
|
723
715
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
724
716
|
void clip(float4);
|
|
725
717
|
|
|
726
|
-
//===----------------------------------------------------------------------===//
|
|
727
|
-
// cos builtins
|
|
728
|
-
//===----------------------------------------------------------------------===//
|
|
729
|
-
|
|
730
718
|
/// \fn T cos(T Val)
|
|
731
719
|
/// \brief Returns the cosine of the input value, \a Val.
|
|
732
720
|
/// \param Val The input value.
|
|
733
|
-
|
|
721
|
+
// cos overloads
|
|
734
722
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
735
723
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
|
736
724
|
half cos(half);
|
|
@@ -753,14 +741,10 @@ float3 cos(float3);
|
|
|
753
741
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
|
754
742
|
float4 cos(float4);
|
|
755
743
|
|
|
756
|
-
//===----------------------------------------------------------------------===//
|
|
757
|
-
// cosh builtins
|
|
758
|
-
//===----------------------------------------------------------------------===//
|
|
759
|
-
|
|
760
744
|
/// \fn T cosh(T Val)
|
|
761
745
|
/// \brief Returns the hyperbolic cosine of the input value, \a Val.
|
|
762
746
|
/// \param Val The input value.
|
|
763
|
-
|
|
747
|
+
// cosh overloads
|
|
764
748
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
765
749
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cosh)
|
|
766
750
|
half cosh(half);
|
|
@@ -783,111 +767,153 @@ float3 cosh(float3);
|
|
|
783
767
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cosh)
|
|
784
768
|
float4 cosh(float4);
|
|
785
769
|
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
/// \fn T countbits(T Val)
|
|
791
|
-
/// \brief Return the number of bits (per component) set in the input integer.
|
|
792
|
-
/// \param Val The input value.
|
|
770
|
+
// cross overloads
|
|
771
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_crossf32)
|
|
772
|
+
float3 cross(float3, float3);
|
|
793
773
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
return __builtin_elementwise_popcount(x);
|
|
806
|
-
}
|
|
807
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
808
|
-
const inline uint4 countbits(int16_t4 x) {
|
|
809
|
-
return __builtin_elementwise_popcount(x);
|
|
810
|
-
}
|
|
811
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
812
|
-
const inline uint countbits(uint16_t x) {
|
|
813
|
-
return __builtin_elementwise_popcount(x);
|
|
814
|
-
}
|
|
815
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
816
|
-
const inline uint2 countbits(uint16_t2 x) {
|
|
817
|
-
return __builtin_elementwise_popcount(x);
|
|
818
|
-
}
|
|
819
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
820
|
-
const inline uint3 countbits(uint16_t3 x) {
|
|
821
|
-
return __builtin_elementwise_popcount(x);
|
|
822
|
-
}
|
|
774
|
+
/// \fn T cross(T x, T y)
|
|
775
|
+
/// \brief Returns the cross product of two floating-point, 3D vectors.
|
|
776
|
+
/// \param x [in] The first floating-point, 3D vector.
|
|
777
|
+
/// \param y [in] The second floating-point, 3D vector.
|
|
778
|
+
///
|
|
779
|
+
/// Result is the cross product of x and y, i.e., the resulting
|
|
780
|
+
/// components are, in order :
|
|
781
|
+
/// x[1] * y[2] - y[1] * x[2]
|
|
782
|
+
/// x[2] * y[0] - y[2] * x[0]
|
|
783
|
+
/// x[0] * y[1] - y[0] * x[1]
|
|
784
|
+
// cross overloads
|
|
823
785
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
}
|
|
827
|
-
#endif
|
|
828
|
-
|
|
829
|
-
const inline uint countbits(int x) { return __builtin_elementwise_popcount(x); }
|
|
830
|
-
const inline uint2 countbits(int2 x) {
|
|
831
|
-
return __builtin_elementwise_popcount(x);
|
|
832
|
-
}
|
|
833
|
-
const inline uint3 countbits(int3 x) {
|
|
834
|
-
return __builtin_elementwise_popcount(x);
|
|
835
|
-
}
|
|
836
|
-
const inline uint4 countbits(int4 x) {
|
|
837
|
-
return __builtin_elementwise_popcount(x);
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
const inline uint countbits(uint x) {
|
|
841
|
-
return __builtin_elementwise_popcount(x);
|
|
842
|
-
}
|
|
843
|
-
const inline uint2 countbits(uint2 x) {
|
|
844
|
-
return __builtin_elementwise_popcount(x);
|
|
845
|
-
}
|
|
846
|
-
const inline uint3 countbits(uint3 x) {
|
|
847
|
-
return __builtin_elementwise_popcount(x);
|
|
848
|
-
}
|
|
849
|
-
const inline uint4 countbits(uint4 x) {
|
|
850
|
-
return __builtin_elementwise_popcount(x);
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
const inline uint countbits(int64_t x) {
|
|
854
|
-
return __builtin_elementwise_popcount(x);
|
|
855
|
-
}
|
|
856
|
-
const inline uint2 countbits(int64_t2 x) {
|
|
857
|
-
return __builtin_elementwise_popcount(x);
|
|
858
|
-
}
|
|
859
|
-
const inline uint3 countbits(int64_t3 x) {
|
|
860
|
-
return __builtin_elementwise_popcount(x);
|
|
861
|
-
}
|
|
862
|
-
const inline uint4 countbits(int64_t4 x) {
|
|
863
|
-
return __builtin_elementwise_popcount(x);
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
const inline uint countbits(uint64_t x) {
|
|
867
|
-
return __builtin_elementwise_popcount(x);
|
|
868
|
-
}
|
|
869
|
-
const inline uint2 countbits(uint64_t2 x) {
|
|
870
|
-
return __builtin_elementwise_popcount(x);
|
|
871
|
-
}
|
|
872
|
-
const inline uint3 countbits(uint64_t3 x) {
|
|
873
|
-
return __builtin_elementwise_popcount(x);
|
|
874
|
-
}
|
|
875
|
-
const inline uint4 countbits(uint64_t4 x) {
|
|
876
|
-
return __builtin_elementwise_popcount(x);
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
//===----------------------------------------------------------------------===//
|
|
880
|
-
// degrees builtins
|
|
881
|
-
//===----------------------------------------------------------------------===//
|
|
882
|
-
|
|
883
|
-
/// \fn T degrees(T x)
|
|
884
|
-
/// \brief Converts the specified value from radians to degrees.
|
|
885
|
-
/// \param x The specified input value.
|
|
786
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_crossf16)
|
|
787
|
+
half3 cross(half3, half3);
|
|
886
788
|
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
789
|
+
/// \fn T ddx_coarse(T value)
|
|
790
|
+
/// \brief Computes a low precision partial derivative with respect to the
|
|
791
|
+
/// screen-space x-coordinate.
|
|
792
|
+
/// \param value The input value.
|
|
793
|
+
///
|
|
794
|
+
/// The return value is a floating point scalar or vector containing the low
|
|
795
|
+
/// prevision partial derivative of the input value.
|
|
796
|
+
// ddx_coarse overloads
|
|
797
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
798
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
799
|
+
half ddx_coarse(half);
|
|
800
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
801
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
802
|
+
half2 ddx_coarse(half2);
|
|
803
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
804
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
805
|
+
half3 ddx_coarse(half3);
|
|
806
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
807
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
808
|
+
half4 ddx_coarse(half4);
|
|
809
|
+
|
|
810
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
811
|
+
float ddx_coarse(float);
|
|
812
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
813
|
+
float2 ddx_coarse(float2);
|
|
814
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
815
|
+
float3 ddx_coarse(float3);
|
|
816
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_coarse)
|
|
817
|
+
float4 ddx_coarse(float4);
|
|
818
|
+
|
|
819
|
+
/// \fn T ddx_fine(T value)
|
|
820
|
+
/// \brief Computes a high precision partial derivative with respect to the
|
|
821
|
+
/// screen-space x-coordinate.
|
|
822
|
+
/// \param value The input value.
|
|
823
|
+
///
|
|
824
|
+
/// The return value is a floating point scalar or vector containing the high
|
|
825
|
+
/// prevision partial derivative of the input value.
|
|
826
|
+
// ddx_fine overloads
|
|
827
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
828
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
829
|
+
half ddx_fine(half);
|
|
830
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
831
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
832
|
+
half2 ddx_fine(half2);
|
|
833
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
834
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
835
|
+
half3 ddx_fine(half3);
|
|
836
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
837
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
838
|
+
half4 ddx_fine(half4);
|
|
839
|
+
|
|
840
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
841
|
+
float ddx_fine(float);
|
|
842
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
843
|
+
float2 ddx_fine(float2);
|
|
844
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
845
|
+
float3 ddx_fine(float3);
|
|
846
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddx_fine)
|
|
847
|
+
float4 ddx_fine(float4);
|
|
848
|
+
|
|
849
|
+
/// \fn T ddy_coarse(T value)
|
|
850
|
+
/// \brief Computes a low precision partial derivative with respect to the
|
|
851
|
+
/// screen-space y-coordinate.
|
|
852
|
+
/// \param value The input value.
|
|
853
|
+
///
|
|
854
|
+
/// The return value is a floating point scalar or vector containing the low
|
|
855
|
+
/// prevision partial derivative of the input value.
|
|
856
|
+
// ddy_coarse overloads
|
|
857
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
858
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
859
|
+
half ddy_coarse(half);
|
|
860
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
861
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
862
|
+
half2 ddy_coarse(half2);
|
|
863
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
864
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
865
|
+
half3 ddy_coarse(half3);
|
|
866
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
867
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
868
|
+
half4 ddy_coarse(half4);
|
|
869
|
+
|
|
870
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
871
|
+
float ddy_coarse(float);
|
|
872
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
873
|
+
float2 ddy_coarse(float2);
|
|
874
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
875
|
+
float3 ddy_coarse(float3);
|
|
876
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_coarse)
|
|
877
|
+
float4 ddy_coarse(float4);
|
|
878
|
+
|
|
879
|
+
/// \fn T ddy_fine(T value)
|
|
880
|
+
/// \brief Computes a high precision partial derivative with respect to the
|
|
881
|
+
/// screen-space y-coordinate.
|
|
882
|
+
/// \param value The input value.
|
|
883
|
+
///
|
|
884
|
+
/// The return value is a floating point scalar or vector containing the high
|
|
885
|
+
/// prevision partial derivative of the input value.
|
|
886
|
+
// ddy_fine overloads
|
|
887
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
888
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
889
|
+
half ddy_fine(half);
|
|
890
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
891
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
892
|
+
half2 ddy_fine(half2);
|
|
893
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
894
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
895
|
+
half3 ddy_fine(half3);
|
|
896
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
897
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
898
|
+
half4 ddy_fine(half4);
|
|
899
|
+
|
|
900
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
901
|
+
float ddy_fine(float);
|
|
902
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
903
|
+
float2 ddy_fine(float2);
|
|
904
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
905
|
+
float3 ddy_fine(float3);
|
|
906
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_ddy_fine)
|
|
907
|
+
float4 ddy_fine(float4);
|
|
908
|
+
|
|
909
|
+
/// \fn T degrees(T x)
|
|
910
|
+
/// \brief Converts the specified value from radians to degrees.
|
|
911
|
+
/// \param x The specified input value.
|
|
912
|
+
// degrees overloads
|
|
913
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
914
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees)
|
|
915
|
+
half degrees(half);
|
|
916
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
891
917
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees)
|
|
892
918
|
half2 degrees(half2);
|
|
893
919
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
@@ -906,15 +932,25 @@ float3 degrees(float3);
|
|
|
906
932
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees)
|
|
907
933
|
float4 degrees(float4);
|
|
908
934
|
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
935
|
+
/// \fn void DeviceMemoryBarrier(void)
|
|
936
|
+
/// \brief Blocks execution of all threads in a group until all device memory
|
|
937
|
+
/// accesses have been completed.
|
|
938
|
+
// DeviceMemoryBarrier overloads
|
|
939
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_device_memory_barrier)
|
|
940
|
+
__attribute__((convergent)) void DeviceMemoryBarrier();
|
|
941
|
+
|
|
942
|
+
/// \fn void DeviceMemoryBarrierWithGroupSync(void)
|
|
943
|
+
/// \brief Blocks execution of all threads in a group until all device memory
|
|
944
|
+
/// accesses have been completed and all threads in the group have reached this call.
|
|
945
|
+
// DeviceMemoryBarrierWithGroupSync overloads
|
|
946
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_device_memory_barrier_with_group_sync)
|
|
947
|
+
__attribute__((convergent)) void DeviceMemoryBarrierWithGroupSync();
|
|
912
948
|
|
|
913
949
|
/// \fn K dot(T X, T Y)
|
|
914
950
|
/// \brief Return the dot product (a scalar value) of \a X and \a Y.
|
|
915
951
|
/// \param X The X input value.
|
|
916
952
|
/// \param Y The Y input value.
|
|
917
|
-
|
|
953
|
+
// dot overloads
|
|
918
954
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
919
955
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
920
956
|
half dot(half, half);
|
|
@@ -956,18 +992,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
|
956
992
|
uint16_t dot(uint16_t4, uint16_t4);
|
|
957
993
|
#endif
|
|
958
994
|
|
|
959
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
960
|
-
float dot(float, float);
|
|
961
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
962
|
-
float dot(float2, float2);
|
|
963
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
964
|
-
float dot(float3, float3);
|
|
965
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
966
|
-
float dot(float4, float4);
|
|
967
|
-
|
|
968
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
969
|
-
double dot(double, double);
|
|
970
|
-
|
|
971
995
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
972
996
|
int dot(int, int);
|
|
973
997
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
@@ -1004,32 +1028,41 @@ uint64_t dot(uint64_t3, uint64_t3);
|
|
|
1004
1028
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1005
1029
|
uint64_t dot(uint64_t4, uint64_t4);
|
|
1006
1030
|
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1031
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1032
|
+
float dot(float, float);
|
|
1033
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1034
|
+
float dot(float2, float2);
|
|
1035
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1036
|
+
float dot(float3, float3);
|
|
1037
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1038
|
+
float dot(float4, float4);
|
|
1010
1039
|
|
|
1011
1040
|
/// \fn int dot4add_i8packed(uint A, uint B, int C)
|
|
1012
|
-
|
|
1041
|
+
/// \brief Dot product of two packed 8-bit signed integer vectors, accumulated
|
|
1042
|
+
/// with a 32-bit signed integer.
|
|
1043
|
+
// dot4add_i8packed overloads
|
|
1013
1044
|
_HLSL_AVAILABILITY(shadermodel, 6.4)
|
|
1014
1045
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_i8packed)
|
|
1015
1046
|
int dot4add_i8packed(uint, uint, int);
|
|
1016
1047
|
|
|
1017
1048
|
/// \fn uint dot4add_u8packed(uint A, uint B, uint C)
|
|
1018
|
-
|
|
1049
|
+
/// \brief Dot product of two packed 8-bit unsigned integer vectors, accumulated
|
|
1050
|
+
/// with a 32-bit unsigned integer.
|
|
1051
|
+
// dot4add_u8packed overloads
|
|
1019
1052
|
_HLSL_AVAILABILITY(shadermodel, 6.4)
|
|
1020
1053
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_u8packed)
|
|
1021
1054
|
uint dot4add_u8packed(uint, uint, uint);
|
|
1022
1055
|
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1056
|
+
// dot overloads
|
|
1057
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1058
|
+
double dot(double, double);
|
|
1026
1059
|
|
|
1027
1060
|
/// \fn T exp(T x)
|
|
1028
1061
|
/// \brief Returns the base-e exponential, or \a e**x, of the specified value.
|
|
1029
1062
|
/// \param x The specified input value.
|
|
1030
1063
|
///
|
|
1031
1064
|
/// The return value is the base-e exponential of the \a x parameter.
|
|
1032
|
-
|
|
1065
|
+
// exp overloads
|
|
1033
1066
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1034
1067
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
|
|
1035
1068
|
half exp(half);
|
|
@@ -1052,16 +1085,12 @@ float3 exp(float3);
|
|
|
1052
1085
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
|
|
1053
1086
|
float4 exp(float4);
|
|
1054
1087
|
|
|
1055
|
-
//===----------------------------------------------------------------------===//
|
|
1056
|
-
// exp2 builtins
|
|
1057
|
-
//===----------------------------------------------------------------------===//
|
|
1058
|
-
|
|
1059
1088
|
/// \fn T exp2(T x)
|
|
1060
1089
|
/// \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
|
|
1061
1090
|
/// \param x The specified input value.
|
|
1062
1091
|
///
|
|
1063
1092
|
/// The base 2 exponential of the \a x parameter.
|
|
1064
|
-
|
|
1093
|
+
// exp2 overloads
|
|
1065
1094
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1066
1095
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
|
|
1067
1096
|
half exp2(half);
|
|
@@ -1084,18 +1113,14 @@ float3 exp2(float3);
|
|
|
1084
1113
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
|
|
1085
1114
|
float4 exp2(float4);
|
|
1086
1115
|
|
|
1087
|
-
//===----------------------------------------------------------------------===//
|
|
1088
|
-
// f16tof32 builtins
|
|
1089
|
-
//===----------------------------------------------------------------------===//
|
|
1090
|
-
|
|
1091
1116
|
/// \fn float f16tof32(uint x)
|
|
1092
1117
|
/// \brief Returns the half value stored in the low 16 bits of the uint arg
|
|
1093
1118
|
/// converted to a float.
|
|
1094
1119
|
/// \param x The uint containing two half values.
|
|
1095
1120
|
///
|
|
1096
|
-
/// The float value of the half value found in the low 16 bits of the \a
|
|
1121
|
+
/// The float value of the half value found in the low 16 bits of the \a x
|
|
1097
1122
|
/// parameter.
|
|
1098
|
-
|
|
1123
|
+
// f16tof32 overloads
|
|
1099
1124
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1100
1125
|
float f16tof32(uint);
|
|
1101
1126
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
@@ -1105,15 +1130,28 @@ float3 f16tof32(uint3);
|
|
|
1105
1130
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1106
1131
|
float4 f16tof32(uint4);
|
|
1107
1132
|
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1133
|
+
/// \fn uint f32tof16(float x)
|
|
1134
|
+
/// \brief Returns the float arg value converted to half in the low 16 bits of
|
|
1135
|
+
/// the uint return value.
|
|
1136
|
+
/// \param x The float to be converted to half.
|
|
1137
|
+
///
|
|
1138
|
+
/// The return value is a uint containing the converted half value in the low
|
|
1139
|
+
/// 16 bits.
|
|
1140
|
+
// f32tof16 overloads
|
|
1141
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f32tof16)
|
|
1142
|
+
uint f32tof16(float);
|
|
1143
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f32tof16)
|
|
1144
|
+
uint2 f32tof16(float2);
|
|
1145
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f32tof16)
|
|
1146
|
+
uint3 f32tof16(float3);
|
|
1147
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f32tof16)
|
|
1148
|
+
uint4 f32tof16(float4);
|
|
1111
1149
|
|
|
1112
1150
|
/// \fn T firstbitlow(T Val)
|
|
1113
1151
|
/// \brief Returns the location of the first set bit starting from the lowest
|
|
1114
1152
|
/// order bit and working upward, per component.
|
|
1115
1153
|
/// \param Val the input value.
|
|
1116
|
-
|
|
1154
|
+
// firstbitlow overloads
|
|
1117
1155
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
1118
1156
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1119
1157
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
@@ -1127,6 +1165,7 @@ uint3 firstbitlow(int16_t3);
|
|
|
1127
1165
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1128
1166
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1129
1167
|
uint4 firstbitlow(int16_t4);
|
|
1168
|
+
|
|
1130
1169
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1131
1170
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1132
1171
|
uint firstbitlow(uint16_t);
|
|
@@ -1177,15 +1216,11 @@ uint3 firstbitlow(uint64_t3);
|
|
|
1177
1216
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1178
1217
|
uint4 firstbitlow(uint64_t4);
|
|
1179
1218
|
|
|
1180
|
-
//===----------------------------------------------------------------------===//
|
|
1181
|
-
// floor builtins
|
|
1182
|
-
//===----------------------------------------------------------------------===//
|
|
1183
|
-
|
|
1184
1219
|
/// \fn T floor(T Val)
|
|
1185
1220
|
/// \brief Returns the largest integer that is less than or equal to the input
|
|
1186
1221
|
/// value, \a Val.
|
|
1187
1222
|
/// \param Val The input value.
|
|
1188
|
-
|
|
1223
|
+
// floor overloads
|
|
1189
1224
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1190
1225
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
|
1191
1226
|
half floor(half);
|
|
@@ -1208,16 +1243,57 @@ float3 floor(float3);
|
|
|
1208
1243
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
|
1209
1244
|
float4 floor(float4);
|
|
1210
1245
|
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1246
|
+
/// \fn double fma(double a, double b, double c)
|
|
1247
|
+
/// \brief Returns the double-precision fused multiply-addition of a * b + c.
|
|
1248
|
+
/// \param a The first value in the fused multiply-addition.
|
|
1249
|
+
/// \param b The second value in the fused multiply-addition.
|
|
1250
|
+
/// \param c The third value in the fused multiply-addition.
|
|
1251
|
+
// fma overloads
|
|
1252
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1253
|
+
double fma(double, double, double);
|
|
1254
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1255
|
+
double2 fma(double2, double2, double2);
|
|
1256
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1257
|
+
double3 fma(double3, double3, double3);
|
|
1258
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1259
|
+
double4 fma(double4, double4, double4);
|
|
1260
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1261
|
+
double1x2 fma(double1x2, double1x2, double1x2);
|
|
1262
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1263
|
+
double1x3 fma(double1x3, double1x3, double1x3);
|
|
1264
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1265
|
+
double1x4 fma(double1x4, double1x4, double1x4);
|
|
1266
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1267
|
+
double2x1 fma(double2x1, double2x1, double2x1);
|
|
1268
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1269
|
+
double2x2 fma(double2x2, double2x2, double2x2);
|
|
1270
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1271
|
+
double2x3 fma(double2x3, double2x3, double2x3);
|
|
1272
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1273
|
+
double2x4 fma(double2x4, double2x4, double2x4);
|
|
1274
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1275
|
+
double3x1 fma(double3x1, double3x1, double3x1);
|
|
1276
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1277
|
+
double3x2 fma(double3x2, double3x2, double3x2);
|
|
1278
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1279
|
+
double3x3 fma(double3x3, double3x3, double3x3);
|
|
1280
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1281
|
+
double3x4 fma(double3x4, double3x4, double3x4);
|
|
1282
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1283
|
+
double4x1 fma(double4x1, double4x1, double4x1);
|
|
1284
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1285
|
+
double4x2 fma(double4x2, double4x2, double4x2);
|
|
1286
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1287
|
+
double4x3 fma(double4x3, double4x3, double4x3);
|
|
1288
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_fma)
|
|
1289
|
+
double4x4 fma(double4x4, double4x4, double4x4);
|
|
1214
1290
|
|
|
1215
1291
|
/// \fn T frac(T x)
|
|
1216
1292
|
/// \brief Returns the fractional (or decimal) part of x. \a x parameter.
|
|
1217
1293
|
/// \param x The specified input value.
|
|
1218
1294
|
///
|
|
1219
1295
|
/// If \a the return value is greater than or equal to 0 and less than 1.
|
|
1220
|
-
|
|
1296
|
+
// frac overloads
|
|
1221
1297
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1222
1298
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_frac)
|
|
1223
1299
|
half frac(half);
|
|
@@ -1240,9 +1316,20 @@ float3 frac(float3);
|
|
|
1240
1316
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_frac)
|
|
1241
1317
|
float4 frac(float4);
|
|
1242
1318
|
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1319
|
+
/// \fn void GroupMemoryBarrier(void)
|
|
1320
|
+
/// \brief Blocks execution of all threads in a group until all group shared
|
|
1321
|
+
/// accesses have been completed.
|
|
1322
|
+
// GroupMemoryBarrier overloads
|
|
1323
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_group_memory_barrier)
|
|
1324
|
+
__attribute__((convergent)) void GroupMemoryBarrier();
|
|
1325
|
+
|
|
1326
|
+
/// \fn void GroupMemoryBarrierWithGroupSync(void)
|
|
1327
|
+
/// \brief Blocks execution of all threads in a group until all group shared
|
|
1328
|
+
/// accesses have been completed and all threads in the group have reached this
|
|
1329
|
+
/// call.
|
|
1330
|
+
// GroupMemoryBarrierWithGroupSync overloads
|
|
1331
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_group_memory_barrier_with_group_sync)
|
|
1332
|
+
__attribute__((convergent)) void GroupMemoryBarrierWithGroupSync();
|
|
1246
1333
|
|
|
1247
1334
|
/// \fn T isinf(T x)
|
|
1248
1335
|
/// \brief Determines if the specified value \a x is infinite.
|
|
@@ -1250,7 +1337,7 @@ float4 frac(float4);
|
|
|
1250
1337
|
///
|
|
1251
1338
|
/// Returns a value of the same size as the input, with a value set
|
|
1252
1339
|
/// to True if the x parameter is +INF or -INF. Otherwise, False.
|
|
1253
|
-
|
|
1340
|
+
// isinf overloads
|
|
1254
1341
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1255
1342
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isinf)
|
|
1256
1343
|
bool isinf(half);
|
|
@@ -1273,17 +1360,13 @@ bool3 isinf(float3);
|
|
|
1273
1360
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isinf)
|
|
1274
1361
|
bool4 isinf(float4);
|
|
1275
1362
|
|
|
1276
|
-
//===----------------------------------------------------------------------===//
|
|
1277
|
-
// isnan builtins
|
|
1278
|
-
//===----------------------------------------------------------------------===//
|
|
1279
|
-
|
|
1280
1363
|
/// \fn T isnan(T x)
|
|
1281
1364
|
/// \brief Determines if the specified value \a x is Not a Number.
|
|
1282
1365
|
/// \param x The specified input value.
|
|
1283
1366
|
///
|
|
1284
1367
|
/// Returns a value of the same size as the input, with a value set
|
|
1285
1368
|
/// to True if the x parameter is NaN or QNaN. Otherwise, False.
|
|
1286
|
-
|
|
1369
|
+
// isnan overloads
|
|
1287
1370
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1288
1371
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1289
1372
|
bool isnan(half);
|
|
@@ -1306,10 +1389,6 @@ bool3 isnan(float3);
|
|
|
1306
1389
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1307
1390
|
bool4 isnan(float4);
|
|
1308
1391
|
|
|
1309
|
-
//===----------------------------------------------------------------------===//
|
|
1310
|
-
// lerp builtins
|
|
1311
|
-
//===----------------------------------------------------------------------===//
|
|
1312
|
-
|
|
1313
1392
|
/// \fn T lerp(T x, T y, T s)
|
|
1314
1393
|
/// \brief Returns the linear interpolation of x to y by s.
|
|
1315
1394
|
/// \param x [in] The first-floating point value.
|
|
@@ -1319,7 +1398,7 @@ bool4 isnan(float4);
|
|
|
1319
1398
|
///
|
|
1320
1399
|
/// Linear interpolation is based on the following formula: x*(1-s) + y*s which
|
|
1321
1400
|
/// can equivalently be written as x + s(y-x).
|
|
1322
|
-
|
|
1401
|
+
// lerp overloads
|
|
1323
1402
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1324
1403
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_lerp)
|
|
1325
1404
|
half lerp(half, half, half);
|
|
@@ -1342,17 +1421,13 @@ float3 lerp(float3, float3, float3);
|
|
|
1342
1421
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_lerp)
|
|
1343
1422
|
float4 lerp(float4, float4, float4);
|
|
1344
1423
|
|
|
1345
|
-
//===----------------------------------------------------------------------===//
|
|
1346
|
-
// log builtins
|
|
1347
|
-
//===----------------------------------------------------------------------===//
|
|
1348
|
-
|
|
1349
1424
|
/// \fn T log(T Val)
|
|
1350
1425
|
/// \brief The base-e logarithm of the input value, \a Val parameter.
|
|
1351
1426
|
/// \param Val The input value.
|
|
1352
1427
|
///
|
|
1353
1428
|
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1354
1429
|
/// function returns negative infinity.
|
|
1355
|
-
|
|
1430
|
+
// log overloads
|
|
1356
1431
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1357
1432
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
|
1358
1433
|
half log(half);
|
|
@@ -1375,50 +1450,13 @@ float3 log(float3);
|
|
|
1375
1450
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
|
1376
1451
|
float4 log(float4);
|
|
1377
1452
|
|
|
1378
|
-
//===----------------------------------------------------------------------===//
|
|
1379
|
-
// log10 builtins
|
|
1380
|
-
//===----------------------------------------------------------------------===//
|
|
1381
|
-
|
|
1382
|
-
/// \fn T log10(T Val)
|
|
1383
|
-
/// \brief The base-10 logarithm of the input value, \a Val parameter.
|
|
1384
|
-
/// \param Val The input value.
|
|
1385
|
-
///
|
|
1386
|
-
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1387
|
-
/// function returns negative infinity.
|
|
1388
|
-
|
|
1389
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1390
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1391
|
-
half log10(half);
|
|
1392
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1393
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1394
|
-
half2 log10(half2);
|
|
1395
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1396
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1397
|
-
half3 log10(half3);
|
|
1398
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1399
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1400
|
-
half4 log10(half4);
|
|
1401
|
-
|
|
1402
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1403
|
-
float log10(float);
|
|
1404
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1405
|
-
float2 log10(float2);
|
|
1406
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1407
|
-
float3 log10(float3);
|
|
1408
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1409
|
-
float4 log10(float4);
|
|
1410
|
-
|
|
1411
|
-
//===----------------------------------------------------------------------===//
|
|
1412
|
-
// log2 builtins
|
|
1413
|
-
//===----------------------------------------------------------------------===//
|
|
1414
|
-
|
|
1415
1453
|
/// \fn T log2(T Val)
|
|
1416
1454
|
/// \brief The base-2 logarithm of the input value, \a Val parameter.
|
|
1417
1455
|
/// \param Val The input value.
|
|
1418
1456
|
///
|
|
1419
1457
|
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1420
1458
|
/// function returns negative infinity.
|
|
1421
|
-
|
|
1459
|
+
// log2 overloads
|
|
1422
1460
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1423
1461
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
|
1424
1462
|
half log2(half);
|
|
@@ -1441,16 +1479,41 @@ float3 log2(float3);
|
|
|
1441
1479
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
|
1442
1480
|
float4 log2(float4);
|
|
1443
1481
|
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1482
|
+
/// \fn T log10(T Val)
|
|
1483
|
+
/// \brief The base-10 logarithm of the input value, \a Val parameter.
|
|
1484
|
+
/// \param Val The input value.
|
|
1485
|
+
///
|
|
1486
|
+
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1487
|
+
/// function returns negative infinity.
|
|
1488
|
+
// log10 overloads
|
|
1489
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1490
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1491
|
+
half log10(half);
|
|
1492
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1493
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1494
|
+
half2 log10(half2);
|
|
1495
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1496
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1497
|
+
half3 log10(half3);
|
|
1498
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1499
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1500
|
+
half4 log10(half4);
|
|
1501
|
+
|
|
1502
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1503
|
+
float log10(float);
|
|
1504
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1505
|
+
float2 log10(float2);
|
|
1506
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1507
|
+
float3 log10(float3);
|
|
1508
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1509
|
+
float4 log10(float4);
|
|
1447
1510
|
|
|
1448
1511
|
/// \fn T mad(T M, T A, T B)
|
|
1449
1512
|
/// \brief The result of \a M * \a A + \a B.
|
|
1450
1513
|
/// \param M The multiplication value.
|
|
1451
1514
|
/// \param A The first addition value.
|
|
1452
1515
|
/// \param B The second addition value.
|
|
1453
|
-
|
|
1516
|
+
// mad overloads
|
|
1454
1517
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1455
1518
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_mad)
|
|
1456
1519
|
half mad(half, half, half);
|
|
@@ -1546,15 +1609,11 @@ double3 mad(double3, double3, double3);
|
|
|
1546
1609
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_mad)
|
|
1547
1610
|
double4 mad(double4, double4, double4);
|
|
1548
1611
|
|
|
1549
|
-
//===----------------------------------------------------------------------===//
|
|
1550
|
-
// max builtins
|
|
1551
|
-
//===----------------------------------------------------------------------===//
|
|
1552
|
-
|
|
1553
1612
|
/// \fn T max(T X, T Y)
|
|
1554
1613
|
/// \brief Return the greater of \a X and \a Y.
|
|
1555
1614
|
/// \param X The X input value.
|
|
1556
1615
|
/// \param Y The Y input value.
|
|
1557
|
-
|
|
1616
|
+
// max overloads
|
|
1558
1617
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1559
1618
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
|
1560
1619
|
half max(half, half);
|
|
@@ -1650,15 +1709,11 @@ double3 max(double3, double3);
|
|
|
1650
1709
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
|
1651
1710
|
double4 max(double4, double4);
|
|
1652
1711
|
|
|
1653
|
-
//===----------------------------------------------------------------------===//
|
|
1654
|
-
// min builtins
|
|
1655
|
-
//===----------------------------------------------------------------------===//
|
|
1656
|
-
|
|
1657
1712
|
/// \fn T min(T X, T Y)
|
|
1658
1713
|
/// \brief Return the lesser of \a X and \a Y.
|
|
1659
1714
|
/// \param X The X input value.
|
|
1660
1715
|
/// \param Y The Y input value.
|
|
1661
|
-
|
|
1716
|
+
// min overloads
|
|
1662
1717
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1663
1718
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1664
1719
|
half min(half, half);
|
|
@@ -1718,15 +1773,6 @@ uint3 min(uint3, uint3);
|
|
|
1718
1773
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1719
1774
|
uint4 min(uint4, uint4);
|
|
1720
1775
|
|
|
1721
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1722
|
-
float min(float, float);
|
|
1723
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1724
|
-
float2 min(float2, float2);
|
|
1725
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1726
|
-
float3 min(float3, float3);
|
|
1727
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1728
|
-
float4 min(float4, float4);
|
|
1729
|
-
|
|
1730
1776
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1731
1777
|
int64_t min(int64_t, int64_t);
|
|
1732
1778
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
@@ -1745,6 +1791,15 @@ uint64_t3 min(uint64_t3, uint64_t3);
|
|
|
1745
1791
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1746
1792
|
uint64_t4 min(uint64_t4, uint64_t4);
|
|
1747
1793
|
|
|
1794
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1795
|
+
float min(float, float);
|
|
1796
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1797
|
+
float2 min(float2, float2);
|
|
1798
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1799
|
+
float3 min(float3, float3);
|
|
1800
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1801
|
+
float4 min(float4, float4);
|
|
1802
|
+
|
|
1748
1803
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1749
1804
|
double min(double, double);
|
|
1750
1805
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
@@ -1754,16 +1809,23 @@ double3 min(double3, double3);
|
|
|
1754
1809
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1755
1810
|
double4 min(double4, double4);
|
|
1756
1811
|
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1812
|
+
/// \fn uint NonUniformResourceIndex(uint I)
|
|
1813
|
+
/// \brief A compiler hint to indicate that a resource index varies across
|
|
1814
|
+
/// threads within a wave (i.e., it is non-uniform).
|
|
1815
|
+
/// \param I [in] Resource array index
|
|
1816
|
+
///
|
|
1817
|
+
/// The return value is the \a I parameter.
|
|
1818
|
+
// NonUniformResourceIndex overloads
|
|
1819
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_resource_nonuniformindex)
|
|
1820
|
+
uint NonUniformResourceIndex(uint);
|
|
1760
1821
|
|
|
1761
1822
|
/// \fn T normalize(T x)
|
|
1762
1823
|
/// \brief Returns the normalized unit vector of the specified floating-point
|
|
1763
|
-
/// vector.
|
|
1824
|
+
/// vector.
|
|
1825
|
+
/// \param x [in] The vector of floats.
|
|
1764
1826
|
///
|
|
1765
1827
|
/// Normalize is based on the following formula: x / length(x).
|
|
1766
|
-
|
|
1828
|
+
// normalize overloads
|
|
1767
1829
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1768
1830
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_normalize)
|
|
1769
1831
|
half normalize(half);
|
|
@@ -1786,18 +1848,10 @@ float3 normalize(float3);
|
|
|
1786
1848
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_normalize)
|
|
1787
1849
|
float4 normalize(float4);
|
|
1788
1850
|
|
|
1789
|
-
//===----------------------------------------------------------------------===//
|
|
1790
|
-
// or builtins
|
|
1791
|
-
//===----------------------------------------------------------------------===//
|
|
1792
|
-
|
|
1793
1851
|
/// \fn bool or(bool x, bool y)
|
|
1794
1852
|
/// \brief Logically ors two boolean vectors or matrices elementwise and
|
|
1795
1853
|
/// produces a bool vector or matrix output.
|
|
1796
|
-
|
|
1797
|
-
// TODO: Clean up clang-format marker once we've resolved
|
|
1798
|
-
// https://github.com/llvm/llvm-project/issues/127851
|
|
1799
|
-
//
|
|
1800
|
-
// clang-format off
|
|
1854
|
+
// or overloads
|
|
1801
1855
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1802
1856
|
bool or(bool, bool);
|
|
1803
1857
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
@@ -1806,48 +1860,42 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
|
1806
1860
|
bool3 or(bool3, bool3);
|
|
1807
1861
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1808
1862
|
bool4 or(bool4, bool4);
|
|
1809
|
-
|
|
1810
1863
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1811
|
-
bool1x2 or(bool1x2
|
|
1864
|
+
bool1x2 or(bool1x2, bool1x2);
|
|
1812
1865
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1813
|
-
bool1x3 or(bool1x3
|
|
1866
|
+
bool1x3 or(bool1x3, bool1x3);
|
|
1814
1867
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1815
|
-
bool1x4 or(bool1x4
|
|
1868
|
+
bool1x4 or(bool1x4, bool1x4);
|
|
1816
1869
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1817
|
-
bool2x1 or(bool2x1
|
|
1870
|
+
bool2x1 or(bool2x1, bool2x1);
|
|
1818
1871
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1819
|
-
bool2x2 or(bool2x2
|
|
1872
|
+
bool2x2 or(bool2x2, bool2x2);
|
|
1820
1873
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1821
|
-
bool2x3 or(bool2x3
|
|
1874
|
+
bool2x3 or(bool2x3, bool2x3);
|
|
1822
1875
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1823
|
-
bool2x4 or(bool2x4
|
|
1876
|
+
bool2x4 or(bool2x4, bool2x4);
|
|
1824
1877
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1825
|
-
bool3x1 or(bool3x1
|
|
1878
|
+
bool3x1 or(bool3x1, bool3x1);
|
|
1826
1879
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1827
|
-
bool3x2 or(bool3x2
|
|
1880
|
+
bool3x2 or(bool3x2, bool3x2);
|
|
1828
1881
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1829
|
-
bool3x3 or(bool3x3
|
|
1882
|
+
bool3x3 or(bool3x3, bool3x3);
|
|
1830
1883
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1831
|
-
bool3x4 or(bool3x4
|
|
1884
|
+
bool3x4 or(bool3x4, bool3x4);
|
|
1832
1885
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1833
|
-
bool4x1 or(bool4x1
|
|
1886
|
+
bool4x1 or(bool4x1, bool4x1);
|
|
1834
1887
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1835
|
-
bool4x2 or(bool4x2
|
|
1888
|
+
bool4x2 or(bool4x2, bool4x2);
|
|
1836
1889
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1837
|
-
bool4x3 or(bool4x3
|
|
1890
|
+
bool4x3 or(bool4x3, bool4x3);
|
|
1838
1891
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1839
|
-
bool4x4 or(bool4x4
|
|
1840
|
-
// clang-format on
|
|
1841
|
-
|
|
1842
|
-
//===----------------------------------------------------------------------===//
|
|
1843
|
-
// pow builtins
|
|
1844
|
-
//===----------------------------------------------------------------------===//
|
|
1892
|
+
bool4x4 or(bool4x4, bool4x4);
|
|
1845
1893
|
|
|
1846
1894
|
/// \fn T pow(T Val, T Pow)
|
|
1847
1895
|
/// \brief Return the value \a Val, raised to the power \a Pow.
|
|
1848
1896
|
/// \param Val The input value.
|
|
1849
1897
|
/// \param Pow The specified power.
|
|
1850
|
-
|
|
1898
|
+
// pow overloads
|
|
1851
1899
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1852
1900
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
|
1853
1901
|
half pow(half, half);
|
|
@@ -1870,79 +1918,331 @@ float3 pow(float3, float3);
|
|
|
1870
1918
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
|
1871
1919
|
float4 pow(float4, float4);
|
|
1872
1920
|
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1921
|
+
/// \brief Returns the value from the lane diagonally opposite from the current lane in the quad.
|
|
1922
|
+
/// \param Val The input value.
|
|
1923
|
+
// QuadReadAcrossDiagonal overloads
|
|
1924
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1925
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1926
|
+
__attribute__((convergent)) half QuadReadAcrossDiagonal(half);
|
|
1927
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1928
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1929
|
+
__attribute__((convergent)) half2 QuadReadAcrossDiagonal(half2);
|
|
1930
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1931
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1932
|
+
__attribute__((convergent)) half3 QuadReadAcrossDiagonal(half3);
|
|
1933
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1934
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1935
|
+
__attribute__((convergent)) half4 QuadReadAcrossDiagonal(half4);
|
|
1876
1936
|
|
|
1877
|
-
|
|
1878
|
-
|
|
1937
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
1938
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1939
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1940
|
+
__attribute__((convergent)) int16_t QuadReadAcrossDiagonal(int16_t);
|
|
1941
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1942
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1943
|
+
__attribute__((convergent)) int16_t2 QuadReadAcrossDiagonal(int16_t2);
|
|
1944
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1945
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1946
|
+
__attribute__((convergent)) int16_t3 QuadReadAcrossDiagonal(int16_t3);
|
|
1947
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1948
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1949
|
+
__attribute__((convergent)) int16_t4 QuadReadAcrossDiagonal(int16_t4);
|
|
1950
|
+
|
|
1951
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1952
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1953
|
+
__attribute__((convergent)) uint16_t QuadReadAcrossDiagonal(uint16_t);
|
|
1954
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1955
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1956
|
+
__attribute__((convergent)) uint16_t2 QuadReadAcrossDiagonal(uint16_t2);
|
|
1957
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1958
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1959
|
+
__attribute__((convergent)) uint16_t3 QuadReadAcrossDiagonal(uint16_t3);
|
|
1960
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1961
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1962
|
+
__attribute__((convergent)) uint16_t4 QuadReadAcrossDiagonal(uint16_t4);
|
|
1963
|
+
#endif
|
|
1964
|
+
|
|
1965
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1966
|
+
__attribute__((convergent)) int QuadReadAcrossDiagonal(int);
|
|
1967
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1968
|
+
__attribute__((convergent)) int2 QuadReadAcrossDiagonal(int2);
|
|
1969
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1970
|
+
__attribute__((convergent)) int3 QuadReadAcrossDiagonal(int3);
|
|
1971
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1972
|
+
__attribute__((convergent)) int4 QuadReadAcrossDiagonal(int4);
|
|
1973
|
+
|
|
1974
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1975
|
+
__attribute__((convergent)) uint QuadReadAcrossDiagonal(uint);
|
|
1976
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1977
|
+
__attribute__((convergent)) uint2 QuadReadAcrossDiagonal(uint2);
|
|
1978
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1979
|
+
__attribute__((convergent)) uint3 QuadReadAcrossDiagonal(uint3);
|
|
1980
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1981
|
+
__attribute__((convergent)) uint4 QuadReadAcrossDiagonal(uint4);
|
|
1982
|
+
|
|
1983
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1984
|
+
__attribute__((convergent)) int64_t QuadReadAcrossDiagonal(int64_t);
|
|
1985
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1986
|
+
__attribute__((convergent)) int64_t2 QuadReadAcrossDiagonal(int64_t2);
|
|
1987
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1988
|
+
__attribute__((convergent)) int64_t3 QuadReadAcrossDiagonal(int64_t3);
|
|
1989
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1990
|
+
__attribute__((convergent)) int64_t4 QuadReadAcrossDiagonal(int64_t4);
|
|
1991
|
+
|
|
1992
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1993
|
+
__attribute__((convergent)) uint64_t QuadReadAcrossDiagonal(uint64_t);
|
|
1994
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1995
|
+
__attribute__((convergent)) uint64_t2 QuadReadAcrossDiagonal(uint64_t2);
|
|
1996
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1997
|
+
__attribute__((convergent)) uint64_t3 QuadReadAcrossDiagonal(uint64_t3);
|
|
1998
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1999
|
+
__attribute__((convergent)) uint64_t4 QuadReadAcrossDiagonal(uint64_t4);
|
|
2000
|
+
|
|
2001
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2002
|
+
__attribute__((convergent)) float QuadReadAcrossDiagonal(float);
|
|
2003
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2004
|
+
__attribute__((convergent)) float2 QuadReadAcrossDiagonal(float2);
|
|
2005
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2006
|
+
__attribute__((convergent)) float3 QuadReadAcrossDiagonal(float3);
|
|
2007
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2008
|
+
__attribute__((convergent)) float4 QuadReadAcrossDiagonal(float4);
|
|
2009
|
+
|
|
2010
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2011
|
+
__attribute__((convergent)) double QuadReadAcrossDiagonal(double);
|
|
2012
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2013
|
+
__attribute__((convergent)) double2 QuadReadAcrossDiagonal(double2);
|
|
2014
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2015
|
+
__attribute__((convergent)) double3 QuadReadAcrossDiagonal(double3);
|
|
2016
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
2017
|
+
__attribute__((convergent)) double4 QuadReadAcrossDiagonal(double4);
|
|
2018
|
+
|
|
2019
|
+
/// \brief Reads the value from the lane across the X axis of the quad.
|
|
1879
2020
|
/// \param Val The input value.
|
|
2021
|
+
// QuadReadAcrossX overloads
|
|
2022
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2023
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2024
|
+
__attribute__((convergent)) half QuadReadAcrossX(half);
|
|
2025
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2026
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2027
|
+
__attribute__((convergent)) half2 QuadReadAcrossX(half2);
|
|
2028
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2029
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2030
|
+
__attribute__((convergent)) half3 QuadReadAcrossX(half3);
|
|
2031
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2032
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2033
|
+
__attribute__((convergent)) half4 QuadReadAcrossX(half4);
|
|
1880
2034
|
|
|
1881
2035
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
1882
2036
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1883
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1884
|
-
|
|
2037
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2038
|
+
__attribute__((convergent)) int16_t QuadReadAcrossX(int16_t);
|
|
1885
2039
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1886
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1887
|
-
|
|
2040
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2041
|
+
__attribute__((convergent)) int16_t2 QuadReadAcrossX(int16_t2);
|
|
1888
2042
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1889
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1890
|
-
|
|
2043
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2044
|
+
__attribute__((convergent)) int16_t3 QuadReadAcrossX(int16_t3);
|
|
1891
2045
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1892
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1893
|
-
|
|
2046
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2047
|
+
__attribute__((convergent)) int16_t4 QuadReadAcrossX(int16_t4);
|
|
2048
|
+
|
|
2049
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2050
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2051
|
+
__attribute__((convergent)) uint16_t QuadReadAcrossX(uint16_t);
|
|
2052
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2053
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2054
|
+
__attribute__((convergent)) uint16_t2 QuadReadAcrossX(uint16_t2);
|
|
2055
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2056
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2057
|
+
__attribute__((convergent)) uint16_t3 QuadReadAcrossX(uint16_t3);
|
|
2058
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2059
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2060
|
+
__attribute__((convergent)) uint16_t4 QuadReadAcrossX(uint16_t4);
|
|
1894
2061
|
#endif
|
|
1895
2062
|
|
|
1896
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1897
|
-
|
|
1898
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1899
|
-
|
|
1900
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1901
|
-
|
|
1902
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1903
|
-
|
|
2063
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2064
|
+
__attribute__((convergent)) int QuadReadAcrossX(int);
|
|
2065
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2066
|
+
__attribute__((convergent)) int2 QuadReadAcrossX(int2);
|
|
2067
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2068
|
+
__attribute__((convergent)) int3 QuadReadAcrossX(int3);
|
|
2069
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2070
|
+
__attribute__((convergent)) int4 QuadReadAcrossX(int4);
|
|
2071
|
+
|
|
2072
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2073
|
+
__attribute__((convergent)) uint QuadReadAcrossX(uint);
|
|
2074
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2075
|
+
__attribute__((convergent)) uint2 QuadReadAcrossX(uint2);
|
|
2076
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2077
|
+
__attribute__((convergent)) uint3 QuadReadAcrossX(uint3);
|
|
2078
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2079
|
+
__attribute__((convergent)) uint4 QuadReadAcrossX(uint4);
|
|
2080
|
+
|
|
2081
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2082
|
+
__attribute__((convergent)) int64_t QuadReadAcrossX(int64_t);
|
|
2083
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2084
|
+
__attribute__((convergent)) int64_t2 QuadReadAcrossX(int64_t2);
|
|
2085
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2086
|
+
__attribute__((convergent)) int64_t3 QuadReadAcrossX(int64_t3);
|
|
2087
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2088
|
+
__attribute__((convergent)) int64_t4 QuadReadAcrossX(int64_t4);
|
|
2089
|
+
|
|
2090
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2091
|
+
__attribute__((convergent)) uint64_t QuadReadAcrossX(uint64_t);
|
|
2092
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2093
|
+
__attribute__((convergent)) uint64_t2 QuadReadAcrossX(uint64_t2);
|
|
2094
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2095
|
+
__attribute__((convergent)) uint64_t3 QuadReadAcrossX(uint64_t3);
|
|
2096
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2097
|
+
__attribute__((convergent)) uint64_t4 QuadReadAcrossX(uint64_t4);
|
|
2098
|
+
|
|
2099
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2100
|
+
__attribute__((convergent)) float QuadReadAcrossX(float);
|
|
2101
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2102
|
+
__attribute__((convergent)) float2 QuadReadAcrossX(float2);
|
|
2103
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2104
|
+
__attribute__((convergent)) float3 QuadReadAcrossX(float3);
|
|
2105
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2106
|
+
__attribute__((convergent)) float4 QuadReadAcrossX(float4);
|
|
2107
|
+
|
|
2108
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2109
|
+
__attribute__((convergent)) double QuadReadAcrossX(double);
|
|
2110
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2111
|
+
__attribute__((convergent)) double2 QuadReadAcrossX(double2);
|
|
2112
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2113
|
+
__attribute__((convergent)) double3 QuadReadAcrossX(double3);
|
|
2114
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2115
|
+
__attribute__((convergent)) double4 QuadReadAcrossX(double4);
|
|
2116
|
+
|
|
2117
|
+
/// \brief Reads the value from the lane across the Y axis of the quad.
|
|
2118
|
+
/// \param Val The input value.
|
|
2119
|
+
// QuadReadAcrossY overloads
|
|
2120
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2121
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2122
|
+
__attribute__((convergent)) half QuadReadAcrossY(half);
|
|
2123
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2124
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2125
|
+
__attribute__((convergent)) half2 QuadReadAcrossY(half2);
|
|
2126
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2127
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2128
|
+
__attribute__((convergent)) half3 QuadReadAcrossY(half3);
|
|
2129
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2130
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2131
|
+
__attribute__((convergent)) half4 QuadReadAcrossY(half4);
|
|
1904
2132
|
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
2133
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
2134
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2135
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2136
|
+
__attribute__((convergent)) int16_t QuadReadAcrossY(int16_t);
|
|
2137
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2138
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2139
|
+
__attribute__((convergent)) int16_t2 QuadReadAcrossY(int16_t2);
|
|
2140
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2141
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2142
|
+
__attribute__((convergent)) int16_t3 QuadReadAcrossY(int16_t3);
|
|
2143
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2144
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2145
|
+
__attribute__((convergent)) int16_t4 QuadReadAcrossY(int16_t4);
|
|
1913
2146
|
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
2147
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2148
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2149
|
+
__attribute__((convergent)) uint16_t QuadReadAcrossY(uint16_t);
|
|
2150
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2151
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2152
|
+
__attribute__((convergent)) uint16_t2 QuadReadAcrossY(uint16_t2);
|
|
2153
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2154
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2155
|
+
__attribute__((convergent)) uint16_t3 QuadReadAcrossY(uint16_t3);
|
|
2156
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2157
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2158
|
+
__attribute__((convergent)) uint16_t4 QuadReadAcrossY(uint16_t4);
|
|
2159
|
+
#endif
|
|
1917
2160
|
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
2161
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2162
|
+
__attribute__((convergent)) int QuadReadAcrossY(int);
|
|
2163
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2164
|
+
__attribute__((convergent)) int2 QuadReadAcrossY(int2);
|
|
2165
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2166
|
+
__attribute__((convergent)) int3 QuadReadAcrossY(int3);
|
|
2167
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2168
|
+
__attribute__((convergent)) int4 QuadReadAcrossY(int4);
|
|
2169
|
+
|
|
2170
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2171
|
+
__attribute__((convergent)) uint QuadReadAcrossY(uint);
|
|
2172
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2173
|
+
__attribute__((convergent)) uint2 QuadReadAcrossY(uint2);
|
|
2174
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2175
|
+
__attribute__((convergent)) uint3 QuadReadAcrossY(uint3);
|
|
2176
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2177
|
+
__attribute__((convergent)) uint4 QuadReadAcrossY(uint4);
|
|
2178
|
+
|
|
2179
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2180
|
+
__attribute__((convergent)) int64_t QuadReadAcrossY(int64_t);
|
|
2181
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2182
|
+
__attribute__((convergent)) int64_t2 QuadReadAcrossY(int64_t2);
|
|
2183
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2184
|
+
__attribute__((convergent)) int64_t3 QuadReadAcrossY(int64_t3);
|
|
2185
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2186
|
+
__attribute__((convergent)) int64_t4 QuadReadAcrossY(int64_t4);
|
|
2187
|
+
|
|
2188
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2189
|
+
__attribute__((convergent)) uint64_t QuadReadAcrossY(uint64_t);
|
|
2190
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2191
|
+
__attribute__((convergent)) uint64_t2 QuadReadAcrossY(uint64_t2);
|
|
2192
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2193
|
+
__attribute__((convergent)) uint64_t3 QuadReadAcrossY(uint64_t3);
|
|
2194
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2195
|
+
__attribute__((convergent)) uint64_t4 QuadReadAcrossY(uint64_t4);
|
|
2196
|
+
|
|
2197
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2198
|
+
__attribute__((convergent)) float QuadReadAcrossY(float);
|
|
2199
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2200
|
+
__attribute__((convergent)) float2 QuadReadAcrossY(float2);
|
|
2201
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2202
|
+
__attribute__((convergent)) float3 QuadReadAcrossY(float3);
|
|
2203
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2204
|
+
__attribute__((convergent)) float4 QuadReadAcrossY(float4);
|
|
2205
|
+
|
|
2206
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2207
|
+
__attribute__((convergent)) double QuadReadAcrossY(double);
|
|
2208
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2209
|
+
__attribute__((convergent)) double2 QuadReadAcrossY(double2);
|
|
2210
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2211
|
+
__attribute__((convergent)) double3 QuadReadAcrossY(double3);
|
|
2212
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_y)
|
|
2213
|
+
__attribute__((convergent)) double4 QuadReadAcrossY(double4);
|
|
1928
2214
|
|
|
2215
|
+
/// \fn T radians(T Val)
|
|
2216
|
+
/// \brief Converts the specified value from degrees to radians.
|
|
2217
|
+
// radians overloads
|
|
1929
2218
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1930
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1934
|
-
|
|
2219
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2220
|
+
half radians(half);
|
|
2221
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2222
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2223
|
+
half2 radians(half2);
|
|
2224
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2225
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2226
|
+
half3 radians(half3);
|
|
2227
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2228
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2229
|
+
half4 radians(half4);
|
|
1935
2230
|
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
2231
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2232
|
+
float radians(float);
|
|
2233
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2234
|
+
float2 radians(float2);
|
|
2235
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2236
|
+
float3 radians(float3);
|
|
2237
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_radians)
|
|
2238
|
+
float4 radians(float4);
|
|
1939
2239
|
|
|
1940
2240
|
/// \fn T rcp(T x)
|
|
1941
2241
|
/// \brief Calculates a fast, approximate, per-component reciprocal ie 1 / \a x.
|
|
1942
2242
|
/// \param x The specified input value.
|
|
1943
2243
|
///
|
|
1944
2244
|
/// The return value is the reciprocal of the \a x parameter.
|
|
1945
|
-
|
|
2245
|
+
// rcp overloads
|
|
1946
2246
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1947
2247
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rcp)
|
|
1948
2248
|
half rcp(half);
|
|
@@ -1974,42 +2274,73 @@ double3 rcp(double3);
|
|
|
1974
2274
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rcp)
|
|
1975
2275
|
double4 rcp(double4);
|
|
1976
2276
|
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
2277
|
+
/// \fn T reversebits(T Val)
|
|
2278
|
+
/// \brief Return the value \a Val with the bit order reversed.
|
|
2279
|
+
/// \param Val The input value.
|
|
2280
|
+
// reversebits overloads
|
|
2281
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
2282
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2283
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2284
|
+
int16_t reversebits(int16_t);
|
|
2285
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2286
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2287
|
+
int16_t2 reversebits(int16_t2);
|
|
2288
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2289
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2290
|
+
int16_t3 reversebits(int16_t3);
|
|
2291
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2292
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2293
|
+
int16_t4 reversebits(int16_t4);
|
|
1980
2294
|
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
2295
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2296
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2297
|
+
uint16_t reversebits(uint16_t);
|
|
2298
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2299
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2300
|
+
uint16_t2 reversebits(uint16_t2);
|
|
2301
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2302
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2303
|
+
uint16_t3 reversebits(uint16_t3);
|
|
2304
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2305
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2306
|
+
uint16_t4 reversebits(uint16_t4);
|
|
2307
|
+
#endif
|
|
1987
2308
|
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
half3 rsqrt(half3);
|
|
1997
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1998
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
1999
|
-
half4 rsqrt(half4);
|
|
2309
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2310
|
+
int reversebits(int);
|
|
2311
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2312
|
+
int2 reversebits(int2);
|
|
2313
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2314
|
+
int3 reversebits(int3);
|
|
2315
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2316
|
+
int4 reversebits(int4);
|
|
2000
2317
|
|
|
2001
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2002
|
-
|
|
2003
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2004
|
-
|
|
2005
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2006
|
-
|
|
2007
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2008
|
-
|
|
2318
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2319
|
+
uint reversebits(uint);
|
|
2320
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2321
|
+
uint2 reversebits(uint2);
|
|
2322
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2323
|
+
uint3 reversebits(uint3);
|
|
2324
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2325
|
+
uint4 reversebits(uint4);
|
|
2326
|
+
|
|
2327
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2328
|
+
int64_t reversebits(int64_t);
|
|
2329
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2330
|
+
int64_t2 reversebits(int64_t2);
|
|
2331
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2332
|
+
int64_t3 reversebits(int64_t3);
|
|
2333
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2334
|
+
int64_t4 reversebits(int64_t4);
|
|
2009
2335
|
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2336
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2337
|
+
uint64_t reversebits(uint64_t);
|
|
2338
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2339
|
+
uint64_t2 reversebits(uint64_t2);
|
|
2340
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2341
|
+
uint64_t3 reversebits(uint64_t3);
|
|
2342
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
|
2343
|
+
uint64_t4 reversebits(uint64_t4);
|
|
2013
2344
|
|
|
2014
2345
|
/// \fn T round(T x)
|
|
2015
2346
|
/// \brief Rounds the specified value \a x to the nearest integer.
|
|
@@ -2018,7 +2349,7 @@ float4 rsqrt(float4);
|
|
|
2018
2349
|
/// The return value is the \a x parameter, rounded to the nearest integer
|
|
2019
2350
|
/// within a floating-point type. Halfway cases are
|
|
2020
2351
|
/// rounded to the nearest even value.
|
|
2021
|
-
|
|
2352
|
+
// round overloads
|
|
2022
2353
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2023
2354
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_roundeven)
|
|
2024
2355
|
half round(half);
|
|
@@ -2041,14 +2372,40 @@ float3 round(float3);
|
|
|
2041
2372
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_roundeven)
|
|
2042
2373
|
float4 round(float4);
|
|
2043
2374
|
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2375
|
+
/// \fn T rsqrt(T x)
|
|
2376
|
+
/// \brief Returns the reciprocal of the square root of the specified value.
|
|
2377
|
+
/// ie 1 / sqrt( \a x).
|
|
2378
|
+
/// \param x The specified input value.
|
|
2379
|
+
///
|
|
2380
|
+
/// This function uses the following formula: 1 / sqrt(x).
|
|
2381
|
+
// rsqrt overloads
|
|
2382
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2383
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2384
|
+
half rsqrt(half);
|
|
2385
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2386
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2387
|
+
half2 rsqrt(half2);
|
|
2388
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2389
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2390
|
+
half3 rsqrt(half3);
|
|
2391
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2392
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2393
|
+
half4 rsqrt(half4);
|
|
2394
|
+
|
|
2395
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2396
|
+
float rsqrt(float);
|
|
2397
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2398
|
+
float2 rsqrt(float2);
|
|
2399
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2400
|
+
float3 rsqrt(float3);
|
|
2401
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
2402
|
+
float4 rsqrt(float4);
|
|
2047
2403
|
|
|
2048
2404
|
/// \fn T saturate(T Val)
|
|
2049
2405
|
/// \brief Returns input value, \a Val, clamped within the range of 0.0f
|
|
2050
|
-
/// to 1.0f.
|
|
2051
|
-
|
|
2406
|
+
/// to 1.0f.
|
|
2407
|
+
/// \param Val The input value.
|
|
2408
|
+
// saturate overloads
|
|
2052
2409
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2053
2410
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_saturate)
|
|
2054
2411
|
half saturate(half);
|
|
@@ -2080,142 +2437,139 @@ double3 saturate(double3);
|
|
|
2080
2437
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_saturate)
|
|
2081
2438
|
double4 saturate(double4);
|
|
2082
2439
|
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
/// \fn T select(bool Cond, T TrueVal, T FalseVal)
|
|
2088
|
-
/// \brief ternary operator.
|
|
2089
|
-
/// \param Cond The Condition input value.
|
|
2090
|
-
/// \param TrueVal The Value returned if Cond is true.
|
|
2091
|
-
/// \param FalseVal The Value returned if Cond is false.
|
|
2092
|
-
|
|
2093
|
-
template <typename T>
|
|
2094
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2095
|
-
T select(bool, T, T);
|
|
2096
|
-
|
|
2097
|
-
/// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
|
|
2098
|
-
/// vector<T,Sz> FalseVals)
|
|
2099
|
-
/// \brief ternary operator for vectors. All vectors must be the same size.
|
|
2100
|
-
/// \param Conds The Condition input values.
|
|
2101
|
-
/// \param TrueVals The vector values are chosen from when conditions are true.
|
|
2102
|
-
/// \param FalseVals The vector values are chosen from when conditions are
|
|
2103
|
-
/// false.
|
|
2104
|
-
|
|
2105
|
-
template <typename T>
|
|
2106
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2107
|
-
vector<T, 2> select(vector<bool, 2>, vector<T, 2>, vector<T, 2>);
|
|
2108
|
-
|
|
2109
|
-
template <typename T>
|
|
2110
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2111
|
-
vector<T, 3> select(vector<bool, 3>, vector<T, 3>, vector<T, 3>);
|
|
2112
|
-
|
|
2113
|
-
template <typename T>
|
|
2114
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2115
|
-
vector<T, 4> select(vector<bool, 4>, vector<T, 4>, vector<T, 4>);
|
|
2116
|
-
|
|
2117
|
-
/// \fn vector<T,Sz> select(vector<bool,Sz> Conds, T TrueVal,
|
|
2118
|
-
/// vector<T,Sz> FalseVals)
|
|
2119
|
-
/// \brief ternary operator for vectors. All vectors must be the same size.
|
|
2120
|
-
/// \param Conds The Condition input values.
|
|
2121
|
-
/// \param TrueVal The scalar value to splat from when conditions are true.
|
|
2122
|
-
/// \param FalseVals The vector values are chosen from when conditions are
|
|
2123
|
-
/// false.
|
|
2124
|
-
|
|
2125
|
-
template <typename T>
|
|
2126
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2127
|
-
vector<T, 2> select(vector<bool, 2>, T, vector<T, 2>);
|
|
2128
|
-
|
|
2129
|
-
template <typename T>
|
|
2130
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2131
|
-
vector<T, 3> select(vector<bool, 3>, T, vector<T, 3>);
|
|
2132
|
-
|
|
2133
|
-
template <typename T>
|
|
2134
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2135
|
-
vector<T, 4> select(vector<bool, 4>, T, vector<T, 4>);
|
|
2136
|
-
|
|
2137
|
-
/// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
|
|
2138
|
-
/// T FalseVal)
|
|
2139
|
-
/// \brief ternary operator for vectors. All vectors must be the same size.
|
|
2140
|
-
/// \param Conds The Condition input values.
|
|
2141
|
-
/// \param TrueVals The vector values are chosen from when conditions are true.
|
|
2142
|
-
/// \param FalseVal The scalar value to splat from when conditions are false.
|
|
2143
|
-
|
|
2144
|
-
template <typename T>
|
|
2145
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2146
|
-
vector<T, 2> select(vector<bool, 2>, vector<T, 2>, T);
|
|
2147
|
-
|
|
2148
|
-
template <typename T>
|
|
2149
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2150
|
-
vector<T, 3> select(vector<bool, 3>, vector<T, 3>, T);
|
|
2151
|
-
|
|
2152
|
-
template <typename T>
|
|
2153
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2154
|
-
vector<T, 4> select(vector<bool, 4>, vector<T, 4>, T);
|
|
2155
|
-
|
|
2156
|
-
/// \fn vector<T,Sz> select(vector<bool,Sz> Conds, vector<T,Sz> TrueVals,
|
|
2157
|
-
/// T FalseVal)
|
|
2158
|
-
/// \brief ternary operator for vectors. All vectors must be the same size.
|
|
2159
|
-
/// \param Conds The Condition input values.
|
|
2160
|
-
/// \param TrueVal The scalar value to splat from when conditions are true.
|
|
2161
|
-
/// \param FalseVal The scalar value to splat from when conditions are false.
|
|
2162
|
-
|
|
2163
|
-
template <typename T>
|
|
2164
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2165
|
-
__detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 2>> select(
|
|
2166
|
-
vector<bool, 2>, T, T);
|
|
2167
|
-
|
|
2168
|
-
template <typename T>
|
|
2169
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2170
|
-
__detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 3>> select(
|
|
2171
|
-
vector<bool, 3>, T, T);
|
|
2172
|
-
|
|
2173
|
-
template <typename T>
|
|
2174
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_select)
|
|
2175
|
-
__detail::enable_if_t<__detail::is_arithmetic<T>::Value, vector<T, 4>> select(
|
|
2176
|
-
vector<bool, 4>, T, T);
|
|
2177
|
-
|
|
2178
|
-
//===----------------------------------------------------------------------===//
|
|
2179
|
-
// sin builtins
|
|
2180
|
-
//===----------------------------------------------------------------------===//
|
|
2181
|
-
|
|
2182
|
-
/// \fn T sin(T Val)
|
|
2183
|
-
/// \brief Returns the sine of the input value, \a Val.
|
|
2440
|
+
/// \fn T sign(T Val)
|
|
2441
|
+
/// \brief Returns -1 if \a Val is less than zero; 0 if \a Val equals zero; and
|
|
2442
|
+
/// 1 if \a Val is greater than zero.
|
|
2184
2443
|
/// \param Val The input value.
|
|
2185
|
-
|
|
2444
|
+
// sign overloads
|
|
2186
2445
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2187
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2188
|
-
|
|
2446
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2447
|
+
int sign(half);
|
|
2189
2448
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2190
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2191
|
-
|
|
2449
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2450
|
+
int2 sign(half2);
|
|
2192
2451
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2193
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2194
|
-
|
|
2452
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2453
|
+
int3 sign(half3);
|
|
2195
2454
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2196
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2200
|
-
float sin(float);
|
|
2201
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2202
|
-
float2 sin(float2);
|
|
2203
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2204
|
-
float3 sin(float3);
|
|
2205
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2206
|
-
float4 sin(float4);
|
|
2207
|
-
|
|
2208
|
-
//===----------------------------------------------------------------------===//
|
|
2209
|
-
// sinh builtins
|
|
2210
|
-
//===----------------------------------------------------------------------===//
|
|
2211
|
-
|
|
2212
|
-
/// \fn T sinh(T Val)
|
|
2213
|
-
/// \brief Returns the hyperbolic sine of the input value, \a Val.
|
|
2214
|
-
/// \param Val The input value.
|
|
2455
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2456
|
+
int4 sign(half4);
|
|
2215
2457
|
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2458
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
2459
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2460
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2461
|
+
int sign(int16_t);
|
|
2462
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2463
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2464
|
+
int2 sign(int16_t2);
|
|
2465
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2466
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2467
|
+
int3 sign(int16_t3);
|
|
2468
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2469
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2470
|
+
int4 sign(int16_t4);
|
|
2471
|
+
|
|
2472
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2473
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2474
|
+
int sign(uint16_t);
|
|
2475
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2476
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2477
|
+
int2 sign(uint16_t2);
|
|
2478
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2479
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2480
|
+
int3 sign(uint16_t3);
|
|
2481
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2482
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2483
|
+
int4 sign(uint16_t4);
|
|
2484
|
+
#endif
|
|
2485
|
+
|
|
2486
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2487
|
+
int sign(int);
|
|
2488
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2489
|
+
int2 sign(int2);
|
|
2490
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2491
|
+
int3 sign(int3);
|
|
2492
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2493
|
+
int4 sign(int4);
|
|
2494
|
+
|
|
2495
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2496
|
+
int sign(uint);
|
|
2497
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2498
|
+
int2 sign(uint2);
|
|
2499
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2500
|
+
int3 sign(uint3);
|
|
2501
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2502
|
+
int4 sign(uint4);
|
|
2503
|
+
|
|
2504
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2505
|
+
int sign(int64_t);
|
|
2506
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2507
|
+
int2 sign(int64_t2);
|
|
2508
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2509
|
+
int3 sign(int64_t3);
|
|
2510
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2511
|
+
int4 sign(int64_t4);
|
|
2512
|
+
|
|
2513
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2514
|
+
int sign(uint64_t);
|
|
2515
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2516
|
+
int2 sign(uint64_t2);
|
|
2517
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2518
|
+
int3 sign(uint64_t3);
|
|
2519
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2520
|
+
int4 sign(uint64_t4);
|
|
2521
|
+
|
|
2522
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2523
|
+
int sign(float);
|
|
2524
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2525
|
+
int2 sign(float2);
|
|
2526
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2527
|
+
int3 sign(float3);
|
|
2528
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2529
|
+
int4 sign(float4);
|
|
2530
|
+
|
|
2531
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2532
|
+
int sign(double);
|
|
2533
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2534
|
+
int2 sign(double2);
|
|
2535
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2536
|
+
int3 sign(double3);
|
|
2537
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2538
|
+
int4 sign(double4);
|
|
2539
|
+
|
|
2540
|
+
/// \fn T sin(T Val)
|
|
2541
|
+
/// \brief Returns the sine of the input value, \a Val.
|
|
2542
|
+
/// \param Val The input value.
|
|
2543
|
+
// sin overloads
|
|
2544
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2545
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2546
|
+
half sin(half);
|
|
2547
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2548
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2549
|
+
half2 sin(half2);
|
|
2550
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2551
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2552
|
+
half3 sin(half3);
|
|
2553
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2554
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2555
|
+
half4 sin(half4);
|
|
2556
|
+
|
|
2557
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2558
|
+
float sin(float);
|
|
2559
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2560
|
+
float2 sin(float2);
|
|
2561
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2562
|
+
float3 sin(float3);
|
|
2563
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2564
|
+
float4 sin(float4);
|
|
2565
|
+
|
|
2566
|
+
/// \fn T sinh(T Val)
|
|
2567
|
+
/// \brief Returns the hyperbolic sine of the input value, \a Val.
|
|
2568
|
+
/// \param Val The input value.
|
|
2569
|
+
// sinh overloads
|
|
2570
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2571
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sinh)
|
|
2572
|
+
half sinh(half);
|
|
2219
2573
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2220
2574
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sinh)
|
|
2221
2575
|
half2 sinh(half2);
|
|
@@ -2235,14 +2589,10 @@ float3 sinh(float3);
|
|
|
2235
2589
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sinh)
|
|
2236
2590
|
float4 sinh(float4);
|
|
2237
2591
|
|
|
2238
|
-
//===----------------------------------------------------------------------===//
|
|
2239
|
-
// sqrt builtins
|
|
2240
|
-
//===----------------------------------------------------------------------===//
|
|
2241
|
-
|
|
2242
2592
|
/// \fn T sqrt(T Val)
|
|
2243
2593
|
/// \brief Returns the square root of the input value, \a Val.
|
|
2244
2594
|
/// \param Val The input value.
|
|
2245
|
-
|
|
2595
|
+
// sqrt overloads
|
|
2246
2596
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2247
2597
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sqrt)
|
|
2248
2598
|
half sqrt(half);
|
|
@@ -2265,17 +2615,14 @@ float3 sqrt(float3);
|
|
|
2265
2615
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sqrt)
|
|
2266
2616
|
float4 sqrt(float4);
|
|
2267
2617
|
|
|
2268
|
-
//===----------------------------------------------------------------------===//
|
|
2269
|
-
// step builtins
|
|
2270
|
-
//===----------------------------------------------------------------------===//
|
|
2271
|
-
|
|
2272
2618
|
/// \fn T step(T y, T x)
|
|
2273
2619
|
/// \brief Returns 1 if the x parameter is greater than or equal to the y
|
|
2274
|
-
/// parameter; otherwise, 0.
|
|
2275
|
-
///
|
|
2620
|
+
/// parameter; otherwise, 0.
|
|
2621
|
+
/// \param y [in] The first floating-point value to compare.
|
|
2622
|
+
/// \param x [in] The second floating-point value to compare.
|
|
2276
2623
|
///
|
|
2277
2624
|
/// Step is based on the following formula: (x >= y) ? 1 : 0
|
|
2278
|
-
|
|
2625
|
+
// step overloads
|
|
2279
2626
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2280
2627
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_step)
|
|
2281
2628
|
half step(half, half);
|
|
@@ -2298,14 +2645,10 @@ float3 step(float3, float3);
|
|
|
2298
2645
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_step)
|
|
2299
2646
|
float4 step(float4, float4);
|
|
2300
2647
|
|
|
2301
|
-
//===----------------------------------------------------------------------===//
|
|
2302
|
-
// tan builtins
|
|
2303
|
-
//===----------------------------------------------------------------------===//
|
|
2304
|
-
|
|
2305
2648
|
/// \fn T tan(T Val)
|
|
2306
2649
|
/// \brief Returns the tangent of the input value, \a Val.
|
|
2307
2650
|
/// \param Val The input value.
|
|
2308
|
-
|
|
2651
|
+
// tan overloads
|
|
2309
2652
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2310
2653
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tan)
|
|
2311
2654
|
half tan(half);
|
|
@@ -2328,14 +2671,10 @@ float3 tan(float3);
|
|
|
2328
2671
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tan)
|
|
2329
2672
|
float4 tan(float4);
|
|
2330
2673
|
|
|
2331
|
-
//===----------------------------------------------------------------------===//
|
|
2332
|
-
// tanh builtins
|
|
2333
|
-
//===----------------------------------------------------------------------===//
|
|
2334
|
-
|
|
2335
2674
|
/// \fn T tanh(T Val)
|
|
2336
2675
|
/// \brief Returns the hyperbolic tangent of the input value, \a Val.
|
|
2337
2676
|
/// \param Val The input value.
|
|
2338
|
-
|
|
2677
|
+
// tanh overloads
|
|
2339
2678
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2340
2679
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tanh)
|
|
2341
2680
|
half tanh(half);
|
|
@@ -2358,14 +2697,10 @@ float3 tanh(float3);
|
|
|
2358
2697
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tanh)
|
|
2359
2698
|
float4 tanh(float4);
|
|
2360
2699
|
|
|
2361
|
-
//===----------------------------------------------------------------------===//
|
|
2362
|
-
// trunc builtins
|
|
2363
|
-
//===----------------------------------------------------------------------===//
|
|
2364
|
-
|
|
2365
2700
|
/// \fn T trunc(T Val)
|
|
2366
2701
|
/// \brief Returns the truncated integer value of the input value, \a Val.
|
|
2367
2702
|
/// \param Val The input value.
|
|
2368
|
-
|
|
2703
|
+
// trunc overloads
|
|
2369
2704
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2370
2705
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
|
2371
2706
|
half trunc(half);
|
|
@@ -2388,314 +2723,417 @@ float3 trunc(float3);
|
|
|
2388
2723
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
|
2389
2724
|
float4 trunc(float4);
|
|
2390
2725
|
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2726
|
+
/// \brief Evaluates a value for all active invocations in the group. The
|
|
2727
|
+
/// result is true if Value is equal for all active invocations in the
|
|
2728
|
+
/// group. Otherwise, the result is false.
|
|
2729
|
+
/// \param Value The value to compare with
|
|
2730
|
+
/// \return True if all values across all lanes are equal, false otherwise
|
|
2731
|
+
// WaveActiveAllEqual overloads
|
|
2732
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2733
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2734
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(half);
|
|
2735
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2736
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2737
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(half2);
|
|
2738
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2739
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2740
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(half3);
|
|
2741
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2742
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2743
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(half4);
|
|
2744
|
+
|
|
2745
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
2746
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2747
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2748
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(int16_t);
|
|
2749
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2750
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2751
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(int16_t2);
|
|
2752
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2753
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2754
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(int16_t3);
|
|
2755
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2756
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2757
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(int16_t4);
|
|
2758
|
+
|
|
2759
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2760
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2761
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(uint16_t);
|
|
2762
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2763
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2764
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(uint16_t2);
|
|
2765
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2766
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2767
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(uint16_t3);
|
|
2768
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2769
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2770
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(uint16_t4);
|
|
2771
|
+
#endif
|
|
2772
|
+
|
|
2773
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2774
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2775
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(int);
|
|
2776
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2777
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2778
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(int2);
|
|
2779
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2780
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2781
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(int3);
|
|
2782
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2783
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2784
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(int4);
|
|
2785
|
+
|
|
2786
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2787
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2788
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(uint);
|
|
2789
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2790
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2791
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(uint2);
|
|
2792
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2793
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2794
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(uint3);
|
|
2795
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2796
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2797
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(uint4);
|
|
2798
|
+
|
|
2799
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2800
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2801
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(int64_t);
|
|
2802
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2803
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2804
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(int64_t2);
|
|
2805
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2806
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2807
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(int64_t3);
|
|
2808
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2809
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2810
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(int64_t4);
|
|
2811
|
+
|
|
2812
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2813
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2814
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(uint64_t);
|
|
2815
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2816
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2817
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(uint64_t2);
|
|
2818
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2819
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2820
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(uint64_t3);
|
|
2821
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2822
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2823
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(uint64_t4);
|
|
2824
|
+
|
|
2825
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2826
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2827
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(float);
|
|
2828
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2829
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2830
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(float2);
|
|
2831
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2832
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2833
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(float3);
|
|
2834
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2835
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2836
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(float4);
|
|
2837
|
+
|
|
2838
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2839
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2840
|
+
__attribute__((convergent)) bool WaveActiveAllEqual(double);
|
|
2841
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2842
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2843
|
+
__attribute__((convergent)) bool2 WaveActiveAllEqual(double2);
|
|
2844
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2845
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2846
|
+
__attribute__((convergent)) bool3 WaveActiveAllEqual(double3);
|
|
2847
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2848
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_equal)
|
|
2849
|
+
__attribute__((convergent)) bool4 WaveActiveAllEqual(double4);
|
|
2394
2850
|
|
|
2395
2851
|
/// \brief Returns true if the expression is true in all active lanes in the
|
|
2396
2852
|
/// current wave.
|
|
2397
|
-
///
|
|
2398
2853
|
/// \param Val The boolean expression to evaluate.
|
|
2399
2854
|
/// \return True if the expression is true in all lanes.
|
|
2855
|
+
// WaveActiveAllTrue overloads
|
|
2400
2856
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2401
2857
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_true)
|
|
2402
|
-
__attribute__((convergent)) bool WaveActiveAllTrue(bool
|
|
2858
|
+
__attribute__((convergent)) bool WaveActiveAllTrue(bool);
|
|
2403
2859
|
|
|
2404
2860
|
/// \brief Returns true if the expression is true in any active lane in the
|
|
2405
2861
|
/// current wave.
|
|
2406
|
-
///
|
|
2407
2862
|
/// \param Val The boolean expression to evaluate.
|
|
2408
2863
|
/// \return True if the expression is true in any lane.
|
|
2864
|
+
// WaveActiveAnyTrue overloads
|
|
2409
2865
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2410
2866
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_any_true)
|
|
2411
|
-
__attribute__((convergent)) bool WaveActiveAnyTrue(bool
|
|
2867
|
+
__attribute__((convergent)) bool WaveActiveAnyTrue(bool);
|
|
2412
2868
|
|
|
2413
2869
|
/// \brief Returns a uint4 containing a bitmask of the evaluation of the
|
|
2414
2870
|
/// boolean expression for all active lanes in the current wave.
|
|
2415
2871
|
/// The least-significant bit corresponds to the lane with index zero.
|
|
2416
2872
|
/// The bits corresponding to inactive lanes will be zero. The bits that
|
|
2417
2873
|
/// are greater than or equal to WaveGetLaneCount will be zero.
|
|
2418
|
-
///
|
|
2419
2874
|
/// \param Val The boolean expression to evaluate.
|
|
2420
2875
|
/// \return uint4 bitmask
|
|
2876
|
+
// WaveActiveBallot overloads
|
|
2421
2877
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2422
2878
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_ballot)
|
|
2423
|
-
__attribute__((convergent)) uint4 WaveActiveBallot(bool
|
|
2879
|
+
__attribute__((convergent)) uint4 WaveActiveBallot(bool);
|
|
2424
2880
|
|
|
2425
|
-
|
|
2426
|
-
/// all active lanes in the current wave.
|
|
2427
|
-
///
|
|
2428
|
-
/// \param Val The input boolean value.
|
|
2429
|
-
/// \return The number of lanes for which the boolean variable evaluates to
|
|
2430
|
-
/// true, across all active lanes in the current wave.
|
|
2881
|
+
// WaveActiveBitAnd overloads
|
|
2431
2882
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2432
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2433
|
-
__attribute__((convergent)) uint
|
|
2434
|
-
|
|
2435
|
-
/// \brief Returns the index of the current lane within the current wave.
|
|
2883
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2884
|
+
__attribute__((convergent)) uint WaveActiveBitAnd(uint);
|
|
2436
2885
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2437
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2438
|
-
__attribute__((convergent))
|
|
2439
|
-
|
|
2886
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2887
|
+
__attribute__((convergent)) uint2 WaveActiveBitAnd(uint2);
|
|
2440
2888
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2441
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2442
|
-
__attribute__((convergent))
|
|
2443
|
-
|
|
2889
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2890
|
+
__attribute__((convergent)) uint3 WaveActiveBitAnd(uint3);
|
|
2444
2891
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2445
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2446
|
-
__attribute__((convergent))
|
|
2447
|
-
|
|
2448
|
-
//===----------------------------------------------------------------------===//
|
|
2449
|
-
// WaveReadLaneAt builtins
|
|
2450
|
-
//===----------------------------------------------------------------------===//
|
|
2451
|
-
|
|
2452
|
-
// \brief Returns the value of the expression for the given lane index within
|
|
2453
|
-
// the specified wave.
|
|
2454
|
-
|
|
2455
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2456
|
-
__attribute__((convergent)) bool WaveReadLaneAt(bool, uint32_t);
|
|
2457
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2458
|
-
__attribute__((convergent)) bool2 WaveReadLaneAt(bool2, uint32_t);
|
|
2459
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2460
|
-
__attribute__((convergent)) bool3 WaveReadLaneAt(bool3, uint32_t);
|
|
2461
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2462
|
-
__attribute__((convergent)) bool4 WaveReadLaneAt(bool4, uint32_t);
|
|
2892
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2893
|
+
__attribute__((convergent)) uint4 WaveActiveBitAnd(uint4);
|
|
2463
2894
|
|
|
2464
|
-
#ifdef __HLSL_ENABLE_16_BIT
|
|
2465
2895
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2466
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2467
|
-
__attribute__((convergent))
|
|
2896
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2897
|
+
__attribute__((convergent)) uint64_t WaveActiveBitAnd(uint64_t);
|
|
2468
2898
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2469
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2470
|
-
__attribute__((convergent))
|
|
2899
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2900
|
+
__attribute__((convergent)) uint64_t2 WaveActiveBitAnd(uint64_t2);
|
|
2471
2901
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2472
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2473
|
-
__attribute__((convergent))
|
|
2902
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2903
|
+
__attribute__((convergent)) uint64_t3 WaveActiveBitAnd(uint64_t3);
|
|
2474
2904
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2475
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2476
|
-
__attribute__((convergent))
|
|
2905
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2906
|
+
__attribute__((convergent)) uint64_t4 WaveActiveBitAnd(uint64_t4);
|
|
2477
2907
|
|
|
2908
|
+
/// \brief Returns the bitwise OR of all the values of <expr> across all active
|
|
2909
|
+
/// non-helper lanes in the current wave, and replicates it back to
|
|
2910
|
+
/// all active non-helper lanes.
|
|
2911
|
+
// WaveActiveBitOr overloads
|
|
2478
2912
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2479
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2480
|
-
__attribute__((convergent))
|
|
2913
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2914
|
+
__attribute__((convergent)) uint WaveActiveBitOr(uint);
|
|
2481
2915
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2482
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2483
|
-
__attribute__((convergent))
|
|
2916
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2917
|
+
__attribute__((convergent)) uint2 WaveActiveBitOr(uint2);
|
|
2484
2918
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2485
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2486
|
-
__attribute__((convergent))
|
|
2919
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2920
|
+
__attribute__((convergent)) uint3 WaveActiveBitOr(uint3);
|
|
2487
2921
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2488
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2489
|
-
__attribute__((convergent))
|
|
2490
|
-
#endif
|
|
2491
|
-
|
|
2492
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2493
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2494
|
-
__attribute__((convergent)) half WaveReadLaneAt(half, uint32_t);
|
|
2495
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2496
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2497
|
-
__attribute__((convergent)) half2 WaveReadLaneAt(half2, uint32_t);
|
|
2498
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2499
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2500
|
-
__attribute__((convergent)) half3 WaveReadLaneAt(half3, uint32_t);
|
|
2501
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2502
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2503
|
-
__attribute__((convergent)) half4 WaveReadLaneAt(half4, uint32_t);
|
|
2504
|
-
|
|
2505
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2506
|
-
__attribute__((convergent)) int WaveReadLaneAt(int, uint32_t);
|
|
2507
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2508
|
-
__attribute__((convergent)) int2 WaveReadLaneAt(int2, uint32_t);
|
|
2509
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2510
|
-
__attribute__((convergent)) int3 WaveReadLaneAt(int3, uint32_t);
|
|
2511
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2512
|
-
__attribute__((convergent)) int4 WaveReadLaneAt(int4, uint32_t);
|
|
2513
|
-
|
|
2514
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2515
|
-
__attribute__((convergent)) uint WaveReadLaneAt(uint, uint32_t);
|
|
2516
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2517
|
-
__attribute__((convergent)) uint2 WaveReadLaneAt(uint2, uint32_t);
|
|
2518
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2519
|
-
__attribute__((convergent)) uint3 WaveReadLaneAt(uint3, uint32_t);
|
|
2520
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2521
|
-
__attribute__((convergent)) uint4 WaveReadLaneAt(uint4, uint32_t);
|
|
2522
|
-
|
|
2523
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2524
|
-
__attribute__((convergent)) float WaveReadLaneAt(float, uint32_t);
|
|
2525
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2526
|
-
__attribute__((convergent)) float2 WaveReadLaneAt(float2, uint32_t);
|
|
2527
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2528
|
-
__attribute__((convergent)) float3 WaveReadLaneAt(float3, uint32_t);
|
|
2529
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2530
|
-
__attribute__((convergent)) float4 WaveReadLaneAt(float4, uint32_t);
|
|
2922
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2923
|
+
__attribute__((convergent)) uint4 WaveActiveBitOr(uint4);
|
|
2531
2924
|
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2537
|
-
__attribute__((convergent))
|
|
2538
|
-
|
|
2539
|
-
|
|
2925
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2926
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2927
|
+
__attribute__((convergent)) uint64_t WaveActiveBitOr(uint64_t);
|
|
2928
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2929
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2930
|
+
__attribute__((convergent)) uint64_t2 WaveActiveBitOr(uint64_t2);
|
|
2931
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2932
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2933
|
+
__attribute__((convergent)) uint64_t3 WaveActiveBitOr(uint64_t3);
|
|
2934
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2935
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2936
|
+
__attribute__((convergent)) uint64_t4 WaveActiveBitOr(uint64_t4);
|
|
2540
2937
|
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2544
|
-
__attribute__((convergent))
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2938
|
+
// WaveActiveBitXor overloads
|
|
2939
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2940
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2941
|
+
__attribute__((convergent)) uint WaveActiveBitXor(uint);
|
|
2942
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2943
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2944
|
+
__attribute__((convergent)) uint2 WaveActiveBitXor(uint2);
|
|
2945
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2946
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2947
|
+
__attribute__((convergent)) uint3 WaveActiveBitXor(uint3);
|
|
2948
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2949
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2950
|
+
__attribute__((convergent)) uint4 WaveActiveBitXor(uint4);
|
|
2549
2951
|
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2555
|
-
__attribute__((convergent))
|
|
2556
|
-
|
|
2557
|
-
|
|
2952
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2953
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2954
|
+
__attribute__((convergent)) uint64_t WaveActiveBitXor(uint64_t);
|
|
2955
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2956
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2957
|
+
__attribute__((convergent)) uint64_t2 WaveActiveBitXor(uint64_t2);
|
|
2958
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2959
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2960
|
+
__attribute__((convergent)) uint64_t3 WaveActiveBitXor(uint64_t3);
|
|
2961
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2962
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_xor)
|
|
2963
|
+
__attribute__((convergent)) uint64_t4 WaveActiveBitXor(uint64_t4);
|
|
2558
2964
|
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2965
|
+
/// \brief Counts the number of boolean variables which evaluate to true across
|
|
2966
|
+
/// all active lanes in the current wave.
|
|
2967
|
+
/// \param Val The input boolean value.
|
|
2968
|
+
/// \return The number of lanes for which the boolean variable evaluates to
|
|
2969
|
+
/// true, across all active lanes in the current wave.
|
|
2970
|
+
// WaveActiveCountBits overloads
|
|
2971
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2972
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_count_bits)
|
|
2973
|
+
__attribute__((convergent)) uint WaveActiveCountBits(bool);
|
|
2562
2974
|
|
|
2563
|
-
|
|
2975
|
+
/// \brief Returns the maximum value across all active lanes in the wave.
|
|
2976
|
+
/// \param Val The input value.
|
|
2977
|
+
// WaveActiveMax overloads
|
|
2978
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2564
2979
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2565
2980
|
__attribute__((convergent)) half WaveActiveMax(half);
|
|
2566
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2981
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2567
2982
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2568
2983
|
__attribute__((convergent)) half2 WaveActiveMax(half2);
|
|
2569
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2984
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2570
2985
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2571
2986
|
__attribute__((convergent)) half3 WaveActiveMax(half3);
|
|
2572
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2987
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2573
2988
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2574
2989
|
__attribute__((convergent)) half4 WaveActiveMax(half4);
|
|
2575
2990
|
|
|
2576
2991
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2577
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2992
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2578
2993
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2579
2994
|
__attribute__((convergent)) int16_t WaveActiveMax(int16_t);
|
|
2580
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2995
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2581
2996
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2582
2997
|
__attribute__((convergent)) int16_t2 WaveActiveMax(int16_t2);
|
|
2583
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2998
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2584
2999
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2585
3000
|
__attribute__((convergent)) int16_t3 WaveActiveMax(int16_t3);
|
|
2586
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3001
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2587
3002
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2588
3003
|
__attribute__((convergent)) int16_t4 WaveActiveMax(int16_t4);
|
|
2589
3004
|
|
|
2590
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3005
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2591
3006
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2592
3007
|
__attribute__((convergent)) uint16_t WaveActiveMax(uint16_t);
|
|
2593
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3008
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2594
3009
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2595
3010
|
__attribute__((convergent)) uint16_t2 WaveActiveMax(uint16_t2);
|
|
2596
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3011
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2597
3012
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2598
3013
|
__attribute__((convergent)) uint16_t3 WaveActiveMax(uint16_t3);
|
|
2599
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3014
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2600
3015
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2601
3016
|
__attribute__((convergent)) uint16_t4 WaveActiveMax(uint16_t4);
|
|
2602
3017
|
#endif
|
|
2603
3018
|
|
|
3019
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2604
3020
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2605
3021
|
__attribute__((convergent)) int WaveActiveMax(int);
|
|
3022
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2606
3023
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2607
3024
|
__attribute__((convergent)) int2 WaveActiveMax(int2);
|
|
3025
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2608
3026
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2609
3027
|
__attribute__((convergent)) int3 WaveActiveMax(int3);
|
|
3028
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2610
3029
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2611
3030
|
__attribute__((convergent)) int4 WaveActiveMax(int4);
|
|
2612
3031
|
|
|
3032
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2613
3033
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2614
3034
|
__attribute__((convergent)) uint WaveActiveMax(uint);
|
|
3035
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2615
3036
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2616
3037
|
__attribute__((convergent)) uint2 WaveActiveMax(uint2);
|
|
3038
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2617
3039
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2618
3040
|
__attribute__((convergent)) uint3 WaveActiveMax(uint3);
|
|
3041
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2619
3042
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2620
3043
|
__attribute__((convergent)) uint4 WaveActiveMax(uint4);
|
|
2621
3044
|
|
|
3045
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2622
3046
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2623
3047
|
__attribute__((convergent)) int64_t WaveActiveMax(int64_t);
|
|
3048
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2624
3049
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2625
3050
|
__attribute__((convergent)) int64_t2 WaveActiveMax(int64_t2);
|
|
3051
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2626
3052
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2627
3053
|
__attribute__((convergent)) int64_t3 WaveActiveMax(int64_t3);
|
|
3054
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2628
3055
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2629
3056
|
__attribute__((convergent)) int64_t4 WaveActiveMax(int64_t4);
|
|
2630
3057
|
|
|
3058
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2631
3059
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2632
3060
|
__attribute__((convergent)) uint64_t WaveActiveMax(uint64_t);
|
|
3061
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2633
3062
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2634
3063
|
__attribute__((convergent)) uint64_t2 WaveActiveMax(uint64_t2);
|
|
3064
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2635
3065
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2636
3066
|
__attribute__((convergent)) uint64_t3 WaveActiveMax(uint64_t3);
|
|
3067
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2637
3068
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2638
3069
|
__attribute__((convergent)) uint64_t4 WaveActiveMax(uint64_t4);
|
|
2639
3070
|
|
|
3071
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2640
3072
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2641
3073
|
__attribute__((convergent)) float WaveActiveMax(float);
|
|
3074
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2642
3075
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2643
3076
|
__attribute__((convergent)) float2 WaveActiveMax(float2);
|
|
3077
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2644
3078
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2645
3079
|
__attribute__((convergent)) float3 WaveActiveMax(float3);
|
|
3080
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2646
3081
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2647
3082
|
__attribute__((convergent)) float4 WaveActiveMax(float4);
|
|
2648
3083
|
|
|
3084
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2649
3085
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2650
3086
|
__attribute__((convergent)) double WaveActiveMax(double);
|
|
3087
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2651
3088
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2652
3089
|
__attribute__((convergent)) double2 WaveActiveMax(double2);
|
|
3090
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2653
3091
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2654
3092
|
__attribute__((convergent)) double3 WaveActiveMax(double3);
|
|
3093
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2655
3094
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2656
3095
|
__attribute__((convergent)) double4 WaveActiveMax(double4);
|
|
2657
3096
|
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3097
|
+
/// \brief Returns the minimum value across all active lanes in the wave.
|
|
3098
|
+
/// \param Val The input value.
|
|
3099
|
+
// WaveActiveMin overloads
|
|
3100
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2663
3101
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2664
3102
|
__attribute__((convergent)) half WaveActiveMin(half);
|
|
2665
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3103
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2666
3104
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2667
3105
|
__attribute__((convergent)) half2 WaveActiveMin(half2);
|
|
2668
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3106
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2669
3107
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2670
3108
|
__attribute__((convergent)) half3 WaveActiveMin(half3);
|
|
2671
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3109
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2672
3110
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2673
3111
|
__attribute__((convergent)) half4 WaveActiveMin(half4);
|
|
2674
3112
|
|
|
2675
3113
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2676
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3114
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2677
3115
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2678
3116
|
__attribute__((convergent)) int16_t WaveActiveMin(int16_t);
|
|
2679
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3117
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2680
3118
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2681
3119
|
__attribute__((convergent)) int16_t2 WaveActiveMin(int16_t2);
|
|
2682
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3120
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2683
3121
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2684
3122
|
__attribute__((convergent)) int16_t3 WaveActiveMin(int16_t3);
|
|
2685
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3123
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2686
3124
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2687
3125
|
__attribute__((convergent)) int16_t4 WaveActiveMin(int16_t4);
|
|
2688
3126
|
|
|
2689
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3127
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2690
3128
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2691
3129
|
__attribute__((convergent)) uint16_t WaveActiveMin(uint16_t);
|
|
2692
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3130
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2693
3131
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2694
3132
|
__attribute__((convergent)) uint16_t2 WaveActiveMin(uint16_t2);
|
|
2695
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3133
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2696
3134
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2697
3135
|
__attribute__((convergent)) uint16_t3 WaveActiveMin(uint16_t3);
|
|
2698
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3136
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2699
3137
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2700
3138
|
__attribute__((convergent)) uint16_t4 WaveActiveMin(uint16_t4);
|
|
2701
3139
|
#endif
|
|
@@ -2778,384 +3216,654 @@ _HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
|
2778
3216
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
2779
3217
|
__attribute__((convergent)) double4 WaveActiveMin(double4);
|
|
2780
3218
|
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
3219
|
+
/// \brief Returns the product of values across all active lanes in the wave.
|
|
3220
|
+
/// \param Val The input value.
|
|
3221
|
+
// WaveActiveProduct overloads
|
|
3222
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3223
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3224
|
+
__attribute__((convergent)) half WaveActiveProduct(half);
|
|
3225
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3226
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3227
|
+
__attribute__((convergent)) half2 WaveActiveProduct(half2);
|
|
3228
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3229
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3230
|
+
__attribute__((convergent)) half3 WaveActiveProduct(half3);
|
|
3231
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3232
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3233
|
+
__attribute__((convergent)) half4 WaveActiveProduct(half4);
|
|
3234
|
+
|
|
3235
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
3236
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3237
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3238
|
+
__attribute__((convergent)) int16_t WaveActiveProduct(int16_t);
|
|
3239
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3240
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3241
|
+
__attribute__((convergent)) int16_t2 WaveActiveProduct(int16_t2);
|
|
3242
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3243
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3244
|
+
__attribute__((convergent)) int16_t3 WaveActiveProduct(int16_t3);
|
|
3245
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3246
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3247
|
+
__attribute__((convergent)) int16_t4 WaveActiveProduct(int16_t4);
|
|
3248
|
+
|
|
3249
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3250
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3251
|
+
__attribute__((convergent)) uint16_t WaveActiveProduct(uint16_t);
|
|
3252
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3253
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3254
|
+
__attribute__((convergent)) uint16_t2 WaveActiveProduct(uint16_t2);
|
|
3255
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3256
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3257
|
+
__attribute__((convergent)) uint16_t3 WaveActiveProduct(uint16_t3);
|
|
3258
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3259
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3260
|
+
__attribute__((convergent)) uint16_t4 WaveActiveProduct(uint16_t4);
|
|
3261
|
+
#endif
|
|
3262
|
+
|
|
3263
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3264
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3265
|
+
__attribute__((convergent)) int WaveActiveProduct(int);
|
|
3266
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3267
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3268
|
+
__attribute__((convergent)) int2 WaveActiveProduct(int2);
|
|
3269
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3270
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3271
|
+
__attribute__((convergent)) int3 WaveActiveProduct(int3);
|
|
3272
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3273
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3274
|
+
__attribute__((convergent)) int4 WaveActiveProduct(int4);
|
|
3275
|
+
|
|
3276
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3277
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3278
|
+
__attribute__((convergent)) uint WaveActiveProduct(uint);
|
|
3279
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3280
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3281
|
+
__attribute__((convergent)) uint2 WaveActiveProduct(uint2);
|
|
3282
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3283
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3284
|
+
__attribute__((convergent)) uint3 WaveActiveProduct(uint3);
|
|
3285
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3286
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3287
|
+
__attribute__((convergent)) uint4 WaveActiveProduct(uint4);
|
|
3288
|
+
|
|
3289
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3290
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3291
|
+
__attribute__((convergent)) int64_t WaveActiveProduct(int64_t);
|
|
3292
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3293
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3294
|
+
__attribute__((convergent)) int64_t2 WaveActiveProduct(int64_t2);
|
|
3295
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3296
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3297
|
+
__attribute__((convergent)) int64_t3 WaveActiveProduct(int64_t3);
|
|
3298
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3299
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3300
|
+
__attribute__((convergent)) int64_t4 WaveActiveProduct(int64_t4);
|
|
3301
|
+
|
|
3302
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3303
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3304
|
+
__attribute__((convergent)) uint64_t WaveActiveProduct(uint64_t);
|
|
3305
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3306
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3307
|
+
__attribute__((convergent)) uint64_t2 WaveActiveProduct(uint64_t2);
|
|
3308
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3309
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3310
|
+
__attribute__((convergent)) uint64_t3 WaveActiveProduct(uint64_t3);
|
|
3311
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3312
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3313
|
+
__attribute__((convergent)) uint64_t4 WaveActiveProduct(uint64_t4);
|
|
3314
|
+
|
|
3315
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3316
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3317
|
+
__attribute__((convergent)) float WaveActiveProduct(float);
|
|
3318
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3319
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3320
|
+
__attribute__((convergent)) float2 WaveActiveProduct(float2);
|
|
3321
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3322
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3323
|
+
__attribute__((convergent)) float3 WaveActiveProduct(float3);
|
|
3324
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3325
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3326
|
+
__attribute__((convergent)) float4 WaveActiveProduct(float4);
|
|
3327
|
+
|
|
3328
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3329
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3330
|
+
__attribute__((convergent)) double WaveActiveProduct(double);
|
|
3331
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3332
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3333
|
+
__attribute__((convergent)) double2 WaveActiveProduct(double2);
|
|
3334
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3335
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3336
|
+
__attribute__((convergent)) double3 WaveActiveProduct(double3);
|
|
3337
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3338
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_product)
|
|
3339
|
+
__attribute__((convergent)) double4 WaveActiveProduct(double4);
|
|
2784
3340
|
|
|
2785
|
-
|
|
3341
|
+
/// \brief Returns the sum of values across all active lanes in the wave.
|
|
3342
|
+
/// \param Val The input value.
|
|
3343
|
+
// WaveActiveSum overloads
|
|
3344
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2786
3345
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2787
3346
|
__attribute__((convergent)) half WaveActiveSum(half);
|
|
2788
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3347
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2789
3348
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2790
3349
|
__attribute__((convergent)) half2 WaveActiveSum(half2);
|
|
2791
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3350
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2792
3351
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2793
3352
|
__attribute__((convergent)) half3 WaveActiveSum(half3);
|
|
2794
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
3353
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2795
3354
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2796
3355
|
__attribute__((convergent)) half4 WaveActiveSum(half4);
|
|
2797
3356
|
|
|
2798
3357
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2799
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3358
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2800
3359
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2801
3360
|
__attribute__((convergent)) int16_t WaveActiveSum(int16_t);
|
|
2802
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3361
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2803
3362
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2804
3363
|
__attribute__((convergent)) int16_t2 WaveActiveSum(int16_t2);
|
|
2805
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3364
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2806
3365
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2807
3366
|
__attribute__((convergent)) int16_t3 WaveActiveSum(int16_t3);
|
|
2808
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3367
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2809
3368
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2810
3369
|
__attribute__((convergent)) int16_t4 WaveActiveSum(int16_t4);
|
|
2811
3370
|
|
|
2812
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3371
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2813
3372
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2814
3373
|
__attribute__((convergent)) uint16_t WaveActiveSum(uint16_t);
|
|
2815
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3374
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2816
3375
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2817
3376
|
__attribute__((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
|
|
2818
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3377
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2819
3378
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2820
3379
|
__attribute__((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
|
|
2821
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3380
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2822
3381
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2823
3382
|
__attribute__((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
|
|
2824
3383
|
#endif
|
|
2825
3384
|
|
|
3385
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2826
3386
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2827
3387
|
__attribute__((convergent)) int WaveActiveSum(int);
|
|
3388
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2828
3389
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2829
3390
|
__attribute__((convergent)) int2 WaveActiveSum(int2);
|
|
3391
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2830
3392
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2831
3393
|
__attribute__((convergent)) int3 WaveActiveSum(int3);
|
|
3394
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2832
3395
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2833
3396
|
__attribute__((convergent)) int4 WaveActiveSum(int4);
|
|
2834
3397
|
|
|
3398
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2835
3399
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2836
3400
|
__attribute__((convergent)) uint WaveActiveSum(uint);
|
|
3401
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2837
3402
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2838
3403
|
__attribute__((convergent)) uint2 WaveActiveSum(uint2);
|
|
3404
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2839
3405
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2840
3406
|
__attribute__((convergent)) uint3 WaveActiveSum(uint3);
|
|
3407
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2841
3408
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2842
3409
|
__attribute__((convergent)) uint4 WaveActiveSum(uint4);
|
|
2843
3410
|
|
|
3411
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2844
3412
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2845
3413
|
__attribute__((convergent)) int64_t WaveActiveSum(int64_t);
|
|
3414
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2846
3415
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2847
3416
|
__attribute__((convergent)) int64_t2 WaveActiveSum(int64_t2);
|
|
3417
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2848
3418
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2849
3419
|
__attribute__((convergent)) int64_t3 WaveActiveSum(int64_t3);
|
|
3420
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2850
3421
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2851
3422
|
__attribute__((convergent)) int64_t4 WaveActiveSum(int64_t4);
|
|
2852
3423
|
|
|
3424
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2853
3425
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2854
3426
|
__attribute__((convergent)) uint64_t WaveActiveSum(uint64_t);
|
|
3427
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2855
3428
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2856
3429
|
__attribute__((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
|
|
3430
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2857
3431
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2858
3432
|
__attribute__((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
|
|
3433
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2859
3434
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2860
3435
|
__attribute__((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
|
|
2861
3436
|
|
|
3437
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2862
3438
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2863
3439
|
__attribute__((convergent)) float WaveActiveSum(float);
|
|
3440
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2864
3441
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2865
3442
|
__attribute__((convergent)) float2 WaveActiveSum(float2);
|
|
3443
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2866
3444
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2867
3445
|
__attribute__((convergent)) float3 WaveActiveSum(float3);
|
|
3446
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2868
3447
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2869
3448
|
__attribute__((convergent)) float4 WaveActiveSum(float4);
|
|
2870
3449
|
|
|
3450
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2871
3451
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2872
3452
|
__attribute__((convergent)) double WaveActiveSum(double);
|
|
3453
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2873
3454
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2874
3455
|
__attribute__((convergent)) double2 WaveActiveSum(double2);
|
|
3456
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2875
3457
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2876
3458
|
__attribute__((convergent)) double3 WaveActiveSum(double3);
|
|
3459
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2877
3460
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2878
3461
|
__attribute__((convergent)) double4 WaveActiveSum(double4);
|
|
2879
3462
|
|
|
2880
|
-
|
|
2881
|
-
//
|
|
2882
|
-
|
|
3463
|
+
/// \brief Returns the number of lanes in the current wave.
|
|
3464
|
+
// WaveGetLaneCount overloads
|
|
3465
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3466
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_get_lane_count)
|
|
3467
|
+
__attribute__((convergent)) uint WaveGetLaneCount();
|
|
2883
3468
|
|
|
2884
|
-
/// \
|
|
2885
|
-
|
|
2886
|
-
|
|
3469
|
+
/// \brief Returns the index of the current lane within the current wave.
|
|
3470
|
+
// WaveGetLaneIndex overloads
|
|
3471
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3472
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_get_lane_index)
|
|
3473
|
+
__attribute__((convergent)) uint WaveGetLaneIndex();
|
|
3474
|
+
|
|
3475
|
+
/// \brief Returns true if the current lane is the first active lane in the wave.
|
|
3476
|
+
// WaveIsFirstLane overloads
|
|
3477
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3478
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_is_first_lane)
|
|
3479
|
+
__attribute__((convergent)) bool WaveIsFirstLane();
|
|
3480
|
+
|
|
3481
|
+
/// \brief Returns the count of bits of Expr set to 1 on prior lanes.
|
|
3482
|
+
/// \param Expr The boolean expression to evaluate.
|
|
3483
|
+
/// \return the count of bits set to 1 on prior lanes.
|
|
3484
|
+
// WavePrefixCountBits overloads
|
|
3485
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3486
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_count_bits)
|
|
3487
|
+
__attribute__((convergent)) uint WavePrefixCountBits(bool);
|
|
3488
|
+
|
|
3489
|
+
/// \brief Returns the product of values across lanes with smaller indices in the wave.
|
|
3490
|
+
/// \param Val The input value.
|
|
3491
|
+
// WavePrefixProduct overloads
|
|
3492
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3493
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3494
|
+
__attribute__((convergent)) half WavePrefixProduct(half);
|
|
3495
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3496
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3497
|
+
__attribute__((convergent)) half2 WavePrefixProduct(half2);
|
|
3498
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3499
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3500
|
+
__attribute__((convergent)) half3 WavePrefixProduct(half3);
|
|
3501
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3502
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3503
|
+
__attribute__((convergent)) half4 WavePrefixProduct(half4);
|
|
2887
3504
|
|
|
2888
3505
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2889
3506
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2890
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2891
|
-
|
|
3507
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3508
|
+
__attribute__((convergent)) int16_t WavePrefixProduct(int16_t);
|
|
2892
3509
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2893
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2894
|
-
|
|
3510
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3511
|
+
__attribute__((convergent)) int16_t2 WavePrefixProduct(int16_t2);
|
|
2895
3512
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2896
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2897
|
-
|
|
3513
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3514
|
+
__attribute__((convergent)) int16_t3 WavePrefixProduct(int16_t3);
|
|
2898
3515
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2899
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2900
|
-
|
|
3516
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3517
|
+
__attribute__((convergent)) int16_t4 WavePrefixProduct(int16_t4);
|
|
2901
3518
|
|
|
2902
3519
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2903
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2904
|
-
|
|
3520
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3521
|
+
__attribute__((convergent)) uint16_t WavePrefixProduct(uint16_t);
|
|
2905
3522
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2906
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2907
|
-
|
|
3523
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3524
|
+
__attribute__((convergent)) uint16_t2 WavePrefixProduct(uint16_t2);
|
|
2908
3525
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2909
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2910
|
-
|
|
3526
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3527
|
+
__attribute__((convergent)) uint16_t3 WavePrefixProduct(uint16_t3);
|
|
2911
3528
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2912
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2913
|
-
|
|
3529
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3530
|
+
__attribute__((convergent)) uint16_t4 WavePrefixProduct(uint16_t4);
|
|
2914
3531
|
#endif
|
|
2915
3532
|
|
|
2916
|
-
|
|
2917
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2918
|
-
int
|
|
2919
|
-
|
|
2920
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2921
|
-
int2
|
|
2922
|
-
|
|
2923
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2924
|
-
int3
|
|
2925
|
-
|
|
2926
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2927
|
-
int4
|
|
2928
|
-
|
|
2929
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2930
|
-
int sign(int);
|
|
2931
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2932
|
-
int2 sign(int2);
|
|
2933
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2934
|
-
int3 sign(int3);
|
|
2935
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2936
|
-
int4 sign(int4);
|
|
2937
|
-
|
|
2938
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2939
|
-
int sign(uint);
|
|
2940
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2941
|
-
int2 sign(uint2);
|
|
2942
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2943
|
-
int3 sign(uint3);
|
|
2944
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2945
|
-
int4 sign(uint4);
|
|
2946
|
-
|
|
2947
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2948
|
-
int sign(float);
|
|
2949
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2950
|
-
int2 sign(float2);
|
|
2951
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2952
|
-
int3 sign(float3);
|
|
2953
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2954
|
-
int4 sign(float4);
|
|
2955
|
-
|
|
2956
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2957
|
-
int sign(int64_t);
|
|
2958
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2959
|
-
int2 sign(int64_t2);
|
|
2960
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2961
|
-
int3 sign(int64_t3);
|
|
2962
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2963
|
-
int4 sign(int64_t4);
|
|
2964
|
-
|
|
2965
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2966
|
-
int sign(uint64_t);
|
|
2967
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2968
|
-
int2 sign(uint64_t2);
|
|
2969
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2970
|
-
int3 sign(uint64_t3);
|
|
2971
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2972
|
-
int4 sign(uint64_t4);
|
|
3533
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3534
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3535
|
+
__attribute__((convergent)) int WavePrefixProduct(int);
|
|
3536
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3537
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3538
|
+
__attribute__((convergent)) int2 WavePrefixProduct(int2);
|
|
3539
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3540
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3541
|
+
__attribute__((convergent)) int3 WavePrefixProduct(int3);
|
|
3542
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3543
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3544
|
+
__attribute__((convergent)) int4 WavePrefixProduct(int4);
|
|
2973
3545
|
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
3546
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3547
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3548
|
+
__attribute__((convergent)) uint WavePrefixProduct(uint);
|
|
3549
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3550
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3551
|
+
__attribute__((convergent)) uint2 WavePrefixProduct(uint2);
|
|
3552
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3553
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3554
|
+
__attribute__((convergent)) uint3 WavePrefixProduct(uint3);
|
|
3555
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3556
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3557
|
+
__attribute__((convergent)) uint4 WavePrefixProduct(uint4);
|
|
2982
3558
|
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
3559
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3560
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3561
|
+
__attribute__((convergent)) int64_t WavePrefixProduct(int64_t);
|
|
3562
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3563
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3564
|
+
__attribute__((convergent)) int64_t2 WavePrefixProduct(int64_t2);
|
|
3565
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3566
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3567
|
+
__attribute__((convergent)) int64_t3 WavePrefixProduct(int64_t3);
|
|
3568
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3569
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3570
|
+
__attribute__((convergent)) int64_t4 WavePrefixProduct(int64_t4);
|
|
2986
3571
|
|
|
2987
|
-
|
|
2988
|
-
|
|
3572
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3573
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3574
|
+
__attribute__((convergent)) uint64_t WavePrefixProduct(uint64_t);
|
|
3575
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3576
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3577
|
+
__attribute__((convergent)) uint64_t2 WavePrefixProduct(uint64_t2);
|
|
3578
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3579
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3580
|
+
__attribute__((convergent)) uint64_t3 WavePrefixProduct(uint64_t3);
|
|
3581
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3582
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3583
|
+
__attribute__((convergent)) uint64_t4 WavePrefixProduct(uint64_t4);
|
|
2989
3584
|
|
|
2990
|
-
|
|
2991
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3001
|
-
|
|
3585
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3586
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3587
|
+
__attribute__((convergent)) float WavePrefixProduct(float);
|
|
3588
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3589
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3590
|
+
__attribute__((convergent)) float2 WavePrefixProduct(float2);
|
|
3591
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3592
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3593
|
+
__attribute__((convergent)) float3 WavePrefixProduct(float3);
|
|
3594
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3595
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3596
|
+
__attribute__((convergent)) float4 WavePrefixProduct(float4);
|
|
3002
3597
|
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3598
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3599
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3600
|
+
__attribute__((convergent)) double WavePrefixProduct(double);
|
|
3601
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3602
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3603
|
+
__attribute__((convergent)) double2 WavePrefixProduct(double2);
|
|
3604
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3605
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3606
|
+
__attribute__((convergent)) double3 WavePrefixProduct(double3);
|
|
3607
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3608
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3609
|
+
__attribute__((convergent)) double4 WavePrefixProduct(double4);
|
|
3011
3610
|
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3611
|
+
/// \brief Returns the sum of values across lanes with smaller indices in the wave.
|
|
3612
|
+
/// \param Val The input value.
|
|
3613
|
+
// WavePrefixSum overloads
|
|
3614
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3615
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3616
|
+
__attribute__((convergent)) half WavePrefixSum(half);
|
|
3617
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3618
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3619
|
+
__attribute__((convergent)) half2 WavePrefixSum(half2);
|
|
3620
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3621
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3622
|
+
__attribute__((convergent)) half3 WavePrefixSum(half3);
|
|
3623
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3624
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3625
|
+
__attribute__((convergent)) half4 WavePrefixSum(half4);
|
|
3015
3626
|
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3627
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
3628
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3629
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3630
|
+
__attribute__((convergent)) int16_t WavePrefixSum(int16_t);
|
|
3631
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3632
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3633
|
+
__attribute__((convergent)) int16_t2 WavePrefixSum(int16_t2);
|
|
3634
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3635
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3636
|
+
__attribute__((convergent)) int16_t3 WavePrefixSum(int16_t3);
|
|
3637
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3638
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3639
|
+
__attribute__((convergent)) int16_t4 WavePrefixSum(int16_t4);
|
|
3020
3640
|
|
|
3021
|
-
|
|
3022
|
-
|
|
3641
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3642
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3643
|
+
__attribute__((convergent)) uint16_t WavePrefixSum(uint16_t);
|
|
3644
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3645
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3646
|
+
__attribute__((convergent)) uint16_t2 WavePrefixSum(uint16_t2);
|
|
3647
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3648
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3649
|
+
__attribute__((convergent)) uint16_t3 WavePrefixSum(uint16_t3);
|
|
3650
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3651
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3652
|
+
__attribute__((convergent)) uint16_t4 WavePrefixSum(uint16_t4);
|
|
3653
|
+
#endif
|
|
3023
3654
|
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3655
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3656
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3657
|
+
__attribute__((convergent)) int WavePrefixSum(int);
|
|
3658
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3659
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3660
|
+
__attribute__((convergent)) int2 WavePrefixSum(int2);
|
|
3661
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3662
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3663
|
+
__attribute__((convergent)) int3 WavePrefixSum(int3);
|
|
3664
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3665
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3666
|
+
__attribute__((convergent)) int4 WavePrefixSum(int4);
|
|
3027
3667
|
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3668
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3669
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3670
|
+
__attribute__((convergent)) uint WavePrefixSum(uint);
|
|
3671
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3672
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3673
|
+
__attribute__((convergent)) uint2 WavePrefixSum(uint2);
|
|
3674
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3675
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3676
|
+
__attribute__((convergent)) uint3 WavePrefixSum(uint3);
|
|
3677
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3678
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3679
|
+
__attribute__((convergent)) uint4 WavePrefixSum(uint4);
|
|
3035
3680
|
|
|
3036
|
-
|
|
3037
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3047
|
-
|
|
3681
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3682
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3683
|
+
__attribute__((convergent)) int64_t WavePrefixSum(int64_t);
|
|
3684
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3685
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3686
|
+
__attribute__((convergent)) int64_t2 WavePrefixSum(int64_t2);
|
|
3687
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3688
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3689
|
+
__attribute__((convergent)) int64_t3 WavePrefixSum(int64_t3);
|
|
3690
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3691
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3692
|
+
__attribute__((convergent)) int64_t4 WavePrefixSum(int64_t4);
|
|
3048
3693
|
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3694
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3695
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3696
|
+
__attribute__((convergent)) uint64_t WavePrefixSum(uint64_t);
|
|
3697
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3698
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3699
|
+
__attribute__((convergent)) uint64_t2 WavePrefixSum(uint64_t2);
|
|
3700
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3701
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3702
|
+
__attribute__((convergent)) uint64_t3 WavePrefixSum(uint64_t3);
|
|
3703
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3704
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3705
|
+
__attribute__((convergent)) uint64_t4 WavePrefixSum(uint64_t4);
|
|
3057
3706
|
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3707
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3708
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3709
|
+
__attribute__((convergent)) float WavePrefixSum(float);
|
|
3710
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3711
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3712
|
+
__attribute__((convergent)) float2 WavePrefixSum(float2);
|
|
3713
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3714
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3715
|
+
__attribute__((convergent)) float3 WavePrefixSum(float3);
|
|
3716
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3717
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3718
|
+
__attribute__((convergent)) float4 WavePrefixSum(float4);
|
|
3061
3719
|
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3720
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3721
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3722
|
+
__attribute__((convergent)) double WavePrefixSum(double);
|
|
3723
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3724
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3725
|
+
__attribute__((convergent)) double2 WavePrefixSum(double2);
|
|
3726
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3727
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3728
|
+
__attribute__((convergent)) double3 WavePrefixSum(double3);
|
|
3729
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3730
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
|
|
3731
|
+
__attribute__((convergent)) double4 WavePrefixSum(double4);
|
|
3069
3732
|
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3733
|
+
/// \brief Returns the value of the expression for the given lane index within
|
|
3734
|
+
/// the specified wave.
|
|
3735
|
+
/// \param Val The value to read.
|
|
3736
|
+
/// \param Index The lane index.
|
|
3737
|
+
// WaveReadLaneAt overloads
|
|
3738
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3739
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3740
|
+
__attribute__((convergent)) half WaveReadLaneAt(half, uint);
|
|
3741
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3742
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3743
|
+
__attribute__((convergent)) half2 WaveReadLaneAt(half2, uint);
|
|
3744
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3745
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3746
|
+
__attribute__((convergent)) half3 WaveReadLaneAt(half3, uint);
|
|
3747
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3748
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3749
|
+
__attribute__((convergent)) half4 WaveReadLaneAt(half4, uint);
|
|
3082
3750
|
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3751
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
3752
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3753
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3754
|
+
__attribute__((convergent)) int16_t WaveReadLaneAt(int16_t, uint);
|
|
3755
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3756
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3757
|
+
__attribute__((convergent)) int16_t2 WaveReadLaneAt(int16_t2, uint);
|
|
3758
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3759
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3760
|
+
__attribute__((convergent)) int16_t3 WaveReadLaneAt(int16_t3, uint);
|
|
3761
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3762
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3763
|
+
__attribute__((convergent)) int16_t4 WaveReadLaneAt(int16_t4, uint);
|
|
3091
3764
|
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3765
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3766
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3767
|
+
__attribute__((convergent)) uint16_t WaveReadLaneAt(uint16_t, uint);
|
|
3768
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3769
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3770
|
+
__attribute__((convergent)) uint16_t2 WaveReadLaneAt(uint16_t2, uint);
|
|
3771
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3772
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3773
|
+
__attribute__((convergent)) uint16_t3 WaveReadLaneAt(uint16_t3, uint);
|
|
3774
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3775
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3776
|
+
__attribute__((convergent)) uint16_t4 WaveReadLaneAt(uint16_t4, uint);
|
|
3777
|
+
#endif
|
|
3095
3778
|
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3779
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3780
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3781
|
+
__attribute__((convergent)) bool WaveReadLaneAt(bool, uint);
|
|
3782
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3783
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3784
|
+
__attribute__((convergent)) bool2 WaveReadLaneAt(bool2, uint);
|
|
3785
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3786
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3787
|
+
__attribute__((convergent)) bool3 WaveReadLaneAt(bool3, uint);
|
|
3788
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3789
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3790
|
+
__attribute__((convergent)) bool4 WaveReadLaneAt(bool4, uint);
|
|
3103
3791
|
|
|
3104
|
-
|
|
3105
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3115
|
-
|
|
3792
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3793
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3794
|
+
__attribute__((convergent)) int WaveReadLaneAt(int, uint);
|
|
3795
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3796
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3797
|
+
__attribute__((convergent)) int2 WaveReadLaneAt(int2, uint);
|
|
3798
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3799
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3800
|
+
__attribute__((convergent)) int3 WaveReadLaneAt(int3, uint);
|
|
3801
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3802
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3803
|
+
__attribute__((convergent)) int4 WaveReadLaneAt(int4, uint);
|
|
3116
3804
|
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3805
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3806
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3807
|
+
__attribute__((convergent)) uint WaveReadLaneAt(uint, uint);
|
|
3808
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3809
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3810
|
+
__attribute__((convergent)) uint2 WaveReadLaneAt(uint2, uint);
|
|
3811
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3812
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3813
|
+
__attribute__((convergent)) uint3 WaveReadLaneAt(uint3, uint);
|
|
3814
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3815
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3816
|
+
__attribute__((convergent)) uint4 WaveReadLaneAt(uint4, uint);
|
|
3125
3817
|
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3818
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3819
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3820
|
+
__attribute__((convergent)) int64_t WaveReadLaneAt(int64_t, uint);
|
|
3821
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3822
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3823
|
+
__attribute__((convergent)) int64_t2 WaveReadLaneAt(int64_t2, uint);
|
|
3824
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3825
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3826
|
+
__attribute__((convergent)) int64_t3 WaveReadLaneAt(int64_t3, uint);
|
|
3827
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3828
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3829
|
+
__attribute__((convergent)) int64_t4 WaveReadLaneAt(int64_t4, uint);
|
|
3129
3830
|
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3831
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3832
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3833
|
+
__attribute__((convergent)) uint64_t WaveReadLaneAt(uint64_t, uint);
|
|
3834
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3835
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3836
|
+
__attribute__((convergent)) uint64_t2 WaveReadLaneAt(uint64_t2, uint);
|
|
3837
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3838
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3839
|
+
__attribute__((convergent)) uint64_t3 WaveReadLaneAt(uint64_t3, uint);
|
|
3840
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3841
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3842
|
+
__attribute__((convergent)) uint64_t4 WaveReadLaneAt(uint64_t4, uint);
|
|
3137
3843
|
|
|
3138
|
-
|
|
3139
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3149
|
-
|
|
3844
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3845
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3846
|
+
__attribute__((convergent)) float WaveReadLaneAt(float, uint);
|
|
3847
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3848
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3849
|
+
__attribute__((convergent)) float2 WaveReadLaneAt(float2, uint);
|
|
3850
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3851
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3852
|
+
__attribute__((convergent)) float3 WaveReadLaneAt(float3, uint);
|
|
3853
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3854
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3855
|
+
__attribute__((convergent)) float4 WaveReadLaneAt(float4, uint);
|
|
3150
3856
|
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
_HLSL_BUILTIN_ALIAS(
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3857
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3858
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3859
|
+
__attribute__((convergent)) double WaveReadLaneAt(double, uint);
|
|
3860
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3861
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3862
|
+
__attribute__((convergent)) double2 WaveReadLaneAt(double2, uint);
|
|
3863
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3864
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3865
|
+
__attribute__((convergent)) double3 WaveReadLaneAt(double3, uint);
|
|
3866
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3867
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
3868
|
+
__attribute__((convergent)) double4 WaveReadLaneAt(double4, uint);
|
|
3159
3869
|
|
|
3160
|
-
} // namespace hlsl
|
|
3161
|
-
#endif //_HLSL_HLSL_ALIAS_INTRINSICS_H_
|