@cpp-linter/clang-tidy-win32-x64 21.1.0 → 23.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
- package/lib/clang/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
- package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
- package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -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/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
- package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
- package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
- package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
- 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/{21/include/float.h → 23/include/__float_float.h} +13 -24
- package/lib/clang/23/include/__float_header_macro.h +12 -0
- package/lib/clang/23/include/__float_infinity_nan.h +20 -0
- package/lib/clang/{21 → 23}/include/altivec.h +79 -9
- package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/23/include/amo.h +220 -0
- package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
- package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
- package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
- package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
- package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
- package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
- package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
- package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
- package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
- package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
- package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
- package/lib/clang/23/include/avx512cdintrin.h +112 -0
- package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
- package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
- package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
- package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
- package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
- package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
- package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
- package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
- package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
- package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
- package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
- package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
- package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
- package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
- package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
- package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
- package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
- package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{21 → 23}/include/f16cintrin.h +23 -9
- package/lib/clang/23/include/float.h +48 -0
- package/lib/clang/23/include/fma4intrin.h +220 -0
- package/lib/clang/{21 → 23}/include/fmaintrin.h +96 -66
- package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
- package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
- package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
- package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
- package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
- package/lib/clang/{21 → 23}/include/intrin.h +24 -10
- package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
- package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
- package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
- package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
- package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
- package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
- package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
- package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
- package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
- package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
- package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
- package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
- package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
- package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
- package/lib/clang/{21 → 23}/include/riscv_crypto.h +8 -0
- package/lib/clang/23/include/riscv_mips.h +36 -0
- package/lib/clang/23/include/riscv_nds.h +92 -0
- package/lib/clang/{21 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
- package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
- package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
- package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
- package/lib/clang/23/include/spirvintrin.h +167 -0
- package/lib/clang/23/include/stddefer.h +19 -0
- package/lib/clang/{21 → 23}/include/stdint.h +5 -14
- package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
- package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
- package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
- package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
- package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
- package/lib/clang/{21 → 23}/include/xopintrin.h +20 -10
- 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/21/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
- package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
- package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
- package/lib/clang/21/include/amxtf32intrin.h +0 -108
- package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
- package/lib/clang/21/include/amxtransposeintrin.h +0 -248
- package/lib/clang/21/include/avx512cdintrin.h +0 -125
- package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/21/include/fma4intrin.h +0 -218
- package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
- package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
- package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
- package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
- package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
- /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{21 → 23}/include/cet.h +0 -0
- /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
- /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
- /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
- /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/limits.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
- /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
- /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/msa.h +0 -0
- /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
- /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
- /package/lib/clang/{21 → 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,35 +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();
|
|
295
230
|
|
|
296
|
-
/// \fn
|
|
297
|
-
/// \brief
|
|
298
|
-
///
|
|
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();
|
|
299
237
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
//
|
|
238
|
+
/// \fn bool and(bool x, bool y)
|
|
239
|
+
/// \brief Logically ands two boolean vectors or matrices elementwise and
|
|
240
|
+
/// produces a bool vector or matrix output.
|
|
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
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
249
|
+
bool4 and(bool4, bool4);
|
|
250
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
251
|
+
bool1x2 and(bool1x2, bool1x2);
|
|
252
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
253
|
+
bool1x3 and(bool1x3, bool1x3);
|
|
254
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
255
|
+
bool1x4 and(bool1x4, bool1x4);
|
|
256
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
257
|
+
bool2x1 and(bool2x1, bool2x1);
|
|
258
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
259
|
+
bool2x2 and(bool2x2, bool2x2);
|
|
260
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
261
|
+
bool2x3 and(bool2x3, bool2x3);
|
|
262
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
263
|
+
bool2x4 and(bool2x4, bool2x4);
|
|
264
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
265
|
+
bool3x1 and(bool3x1, bool3x1);
|
|
266
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
267
|
+
bool3x2 and(bool3x2, bool3x2);
|
|
268
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
269
|
+
bool3x3 and(bool3x3, bool3x3);
|
|
270
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
271
|
+
bool3x4 and(bool3x4, bool3x4);
|
|
272
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
273
|
+
bool4x1 and(bool4x1, bool4x1);
|
|
274
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
275
|
+
bool4x2 and(bool4x2, bool4x2);
|
|
276
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
277
|
+
bool4x3 and(bool4x3, bool4x3);
|
|
278
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_and)
|
|
279
|
+
bool4x4 and(bool4x4, bool4x4);
|
|
317
280
|
|
|
318
281
|
/// \fn bool any(T x)
|
|
319
282
|
/// \brief Returns True if any components of the \a x parameter are non-zero;
|
|
320
|
-
/// 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);
|
|
321
298
|
|
|
322
299
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
323
300
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
@@ -332,6 +309,7 @@ bool any(int16_t3);
|
|
|
332
309
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
333
310
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
334
311
|
bool any(int16_t4);
|
|
312
|
+
|
|
335
313
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
336
314
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
337
315
|
bool any(uint16_t);
|
|
@@ -346,19 +324,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
|
346
324
|
bool any(uint16_t4);
|
|
347
325
|
#endif
|
|
348
326
|
|
|
349
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
350
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
351
|
-
bool any(half);
|
|
352
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
353
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
354
|
-
bool any(half2);
|
|
355
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
356
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
357
|
-
bool any(half3);
|
|
358
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
359
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
360
|
-
bool any(half4);
|
|
361
|
-
|
|
362
327
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
363
328
|
bool any(bool);
|
|
364
329
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -367,7 +332,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
|
367
332
|
bool any(bool3);
|
|
368
333
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
369
334
|
bool any(bool4);
|
|
370
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
371
335
|
|
|
372
336
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
373
337
|
bool any(int);
|
|
@@ -387,15 +351,6 @@ bool any(uint3);
|
|
|
387
351
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
388
352
|
bool any(uint4);
|
|
389
353
|
|
|
390
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
391
|
-
bool any(float);
|
|
392
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
393
|
-
bool any(float2);
|
|
394
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
395
|
-
bool any(float3);
|
|
396
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
397
|
-
bool any(float4);
|
|
398
|
-
|
|
399
354
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
400
355
|
bool any(int64_t);
|
|
401
356
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -414,6 +369,15 @@ bool any(uint64_t3);
|
|
|
414
369
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
415
370
|
bool any(uint64_t4);
|
|
416
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
|
+
|
|
417
381
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
418
382
|
bool any(double);
|
|
419
383
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
@@ -423,15 +387,11 @@ bool any(double3);
|
|
|
423
387
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_any)
|
|
424
388
|
bool any(double4);
|
|
425
389
|
|
|
426
|
-
//===----------------------------------------------------------------------===//
|
|
427
|
-
// asdouble builtins
|
|
428
|
-
//===----------------------------------------------------------------------===//
|
|
429
|
-
|
|
430
390
|
/// \fn double asdouble(uint LowBits, uint HighBits)
|
|
431
391
|
/// \brief Reinterprets a cast value (two 32-bit values) into a double.
|
|
432
392
|
/// \param LowBits The low 32-bit pattern of the input value.
|
|
433
393
|
/// \param HighBits The high 32-bit pattern of the input value.
|
|
434
|
-
|
|
394
|
+
// asdouble overloads
|
|
435
395
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
436
396
|
double asdouble(uint, uint);
|
|
437
397
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
@@ -441,14 +401,10 @@ double3 asdouble(uint3, uint3);
|
|
|
441
401
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_asdouble)
|
|
442
402
|
double4 asdouble(uint4, uint4);
|
|
443
403
|
|
|
444
|
-
//===----------------------------------------------------------------------===//
|
|
445
|
-
// asin builtins
|
|
446
|
-
//===----------------------------------------------------------------------===//
|
|
447
|
-
|
|
448
404
|
/// \fn T asin(T Val)
|
|
449
405
|
/// \brief Returns the arcsine of the input value, \a Val.
|
|
450
406
|
/// \param Val The input value.
|
|
451
|
-
|
|
407
|
+
// asin overloads
|
|
452
408
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
453
409
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_asin)
|
|
454
410
|
half asin(half);
|
|
@@ -471,14 +427,10 @@ float3 asin(float3);
|
|
|
471
427
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_asin)
|
|
472
428
|
float4 asin(float4);
|
|
473
429
|
|
|
474
|
-
//===----------------------------------------------------------------------===//
|
|
475
|
-
// atan builtins
|
|
476
|
-
//===----------------------------------------------------------------------===//
|
|
477
|
-
|
|
478
430
|
/// \fn T atan(T Val)
|
|
479
431
|
/// \brief Returns the arctangent of the input value, \a Val.
|
|
480
432
|
/// \param Val The input value.
|
|
481
|
-
|
|
433
|
+
// atan overloads
|
|
482
434
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
483
435
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan)
|
|
484
436
|
half atan(half);
|
|
@@ -501,47 +453,114 @@ float3 atan(float3);
|
|
|
501
453
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan)
|
|
502
454
|
float4 atan(float4);
|
|
503
455
|
|
|
504
|
-
//===----------------------------------------------------------------------===//
|
|
505
|
-
// atan2 builtins
|
|
506
|
-
//===----------------------------------------------------------------------===//
|
|
507
|
-
|
|
508
456
|
/// \fn T atan2(T y, T x)
|
|
509
457
|
/// \brief Returns the arctangent of y/x, using the signs of the arguments to
|
|
510
458
|
/// determine the correct quadrant.
|
|
511
459
|
/// \param y The y-coordinate.
|
|
512
460
|
/// \param x The x-coordinate.
|
|
513
|
-
|
|
461
|
+
// atan2 overloads
|
|
514
462
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
515
463
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
516
|
-
half atan2(half
|
|
464
|
+
half atan2(half, half);
|
|
517
465
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
518
466
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
519
|
-
half2 atan2(half2
|
|
467
|
+
half2 atan2(half2, half2);
|
|
520
468
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
521
469
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
522
|
-
half3 atan2(half3
|
|
470
|
+
half3 atan2(half3, half3);
|
|
523
471
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
524
472
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
525
|
-
half4 atan2(half4
|
|
526
|
-
|
|
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)
|
|
496
|
+
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
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)
|
|
527
508
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
528
|
-
|
|
509
|
+
half4x1 atan2(half4x1, half4x1);
|
|
510
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
529
511
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
530
|
-
|
|
512
|
+
half4x2 atan2(half4x2, half4x2);
|
|
513
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
531
514
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
532
|
-
|
|
515
|
+
half4x3 atan2(half4x3, half4x3);
|
|
516
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
533
517
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_atan2)
|
|
534
|
-
|
|
518
|
+
half4x4 atan2(half4x4, half4x4);
|
|
535
519
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
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);
|
|
539
558
|
|
|
540
559
|
/// \fn T ceil(T Val)
|
|
541
560
|
/// \brief Returns the smallest integer value that is greater than or equal to
|
|
542
561
|
/// the input value, \a Val.
|
|
543
562
|
/// \param Val The input value.
|
|
544
|
-
|
|
563
|
+
// ceil overloads
|
|
545
564
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
546
565
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
|
547
566
|
half ceil(half);
|
|
@@ -564,10 +583,6 @@ float3 ceil(float3);
|
|
|
564
583
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
|
565
584
|
float4 ceil(float4);
|
|
566
585
|
|
|
567
|
-
//===----------------------------------------------------------------------===//
|
|
568
|
-
// clamp builtins
|
|
569
|
-
//===----------------------------------------------------------------------===//
|
|
570
|
-
|
|
571
586
|
/// \fn T clamp(T X, T Min, T Max)
|
|
572
587
|
/// \brief Clamps the specified value \a X to the specified
|
|
573
588
|
/// minimum ( \a Min) and maximum ( \a Max) range.
|
|
@@ -578,7 +593,7 @@ float4 ceil(float4);
|
|
|
578
593
|
/// Returns The clamped value for the \a X parameter.
|
|
579
594
|
/// For values of -INF or INF, clamp will behave as expected.
|
|
580
595
|
/// However for values of NaN, the results are undefined.
|
|
581
|
-
|
|
596
|
+
// clamp overloads
|
|
582
597
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
583
598
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clamp)
|
|
584
599
|
half clamp(half, half, half);
|
|
@@ -674,13 +689,22 @@ double3 clamp(double3, double3, double3);
|
|
|
674
689
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clamp)
|
|
675
690
|
double4 clamp(double4, double4, double4);
|
|
676
691
|
|
|
677
|
-
//===----------------------------------------------------------------------===//
|
|
678
|
-
// clip builtins
|
|
679
|
-
//===----------------------------------------------------------------------===//
|
|
680
|
-
|
|
681
692
|
/// \fn void clip(T Val)
|
|
682
693
|
/// \brief Discards the current pixel if the specified value is less than zero.
|
|
683
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);
|
|
684
708
|
|
|
685
709
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
686
710
|
void clip(float);
|
|
@@ -691,14 +715,10 @@ void clip(float3);
|
|
|
691
715
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_clip)
|
|
692
716
|
void clip(float4);
|
|
693
717
|
|
|
694
|
-
//===----------------------------------------------------------------------===//
|
|
695
|
-
// cos builtins
|
|
696
|
-
//===----------------------------------------------------------------------===//
|
|
697
|
-
|
|
698
718
|
/// \fn T cos(T Val)
|
|
699
719
|
/// \brief Returns the cosine of the input value, \a Val.
|
|
700
720
|
/// \param Val The input value.
|
|
701
|
-
|
|
721
|
+
// cos overloads
|
|
702
722
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
703
723
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
|
704
724
|
half cos(half);
|
|
@@ -721,14 +741,10 @@ float3 cos(float3);
|
|
|
721
741
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
|
722
742
|
float4 cos(float4);
|
|
723
743
|
|
|
724
|
-
//===----------------------------------------------------------------------===//
|
|
725
|
-
// cosh builtins
|
|
726
|
-
//===----------------------------------------------------------------------===//
|
|
727
|
-
|
|
728
744
|
/// \fn T cosh(T Val)
|
|
729
745
|
/// \brief Returns the hyperbolic cosine of the input value, \a Val.
|
|
730
746
|
/// \param Val The input value.
|
|
731
|
-
|
|
747
|
+
// cosh overloads
|
|
732
748
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
733
749
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cosh)
|
|
734
750
|
half cosh(half);
|
|
@@ -751,107 +767,149 @@ float3 cosh(float3);
|
|
|
751
767
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cosh)
|
|
752
768
|
float4 cosh(float4);
|
|
753
769
|
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
/// \fn T countbits(T Val)
|
|
759
|
-
/// \brief Return the number of bits (per component) set in the input integer.
|
|
760
|
-
/// \param Val The input value.
|
|
770
|
+
// cross overloads
|
|
771
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_crossf32)
|
|
772
|
+
float3 cross(float3, float3);
|
|
761
773
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
return __builtin_elementwise_popcount(x);
|
|
774
|
-
}
|
|
775
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
776
|
-
const inline uint4 countbits(int16_t4 x) {
|
|
777
|
-
return __builtin_elementwise_popcount(x);
|
|
778
|
-
}
|
|
779
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
780
|
-
const inline uint countbits(uint16_t x) {
|
|
781
|
-
return __builtin_elementwise_popcount(x);
|
|
782
|
-
}
|
|
783
|
-
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
784
|
-
const inline uint2 countbits(uint16_t2 x) {
|
|
785
|
-
return __builtin_elementwise_popcount(x);
|
|
786
|
-
}
|
|
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
|
|
787
785
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
786
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_crossf16)
|
|
787
|
+
half3 cross(half3, half3);
|
|
788
|
+
|
|
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);
|
|
796
899
|
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
return __builtin_elementwise_popcount(x);
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
const inline uint countbits(uint x) {
|
|
809
|
-
return __builtin_elementwise_popcount(x);
|
|
810
|
-
}
|
|
811
|
-
const inline uint2 countbits(uint2 x) {
|
|
812
|
-
return __builtin_elementwise_popcount(x);
|
|
813
|
-
}
|
|
814
|
-
const inline uint3 countbits(uint3 x) {
|
|
815
|
-
return __builtin_elementwise_popcount(x);
|
|
816
|
-
}
|
|
817
|
-
const inline uint4 countbits(uint4 x) {
|
|
818
|
-
return __builtin_elementwise_popcount(x);
|
|
819
|
-
}
|
|
820
|
-
|
|
821
|
-
const inline uint countbits(int64_t x) {
|
|
822
|
-
return __builtin_elementwise_popcount(x);
|
|
823
|
-
}
|
|
824
|
-
const inline uint2 countbits(int64_t2 x) {
|
|
825
|
-
return __builtin_elementwise_popcount(x);
|
|
826
|
-
}
|
|
827
|
-
const inline uint3 countbits(int64_t3 x) {
|
|
828
|
-
return __builtin_elementwise_popcount(x);
|
|
829
|
-
}
|
|
830
|
-
const inline uint4 countbits(int64_t4 x) {
|
|
831
|
-
return __builtin_elementwise_popcount(x);
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
const inline uint countbits(uint64_t x) {
|
|
835
|
-
return __builtin_elementwise_popcount(x);
|
|
836
|
-
}
|
|
837
|
-
const inline uint2 countbits(uint64_t2 x) {
|
|
838
|
-
return __builtin_elementwise_popcount(x);
|
|
839
|
-
}
|
|
840
|
-
const inline uint3 countbits(uint64_t3 x) {
|
|
841
|
-
return __builtin_elementwise_popcount(x);
|
|
842
|
-
}
|
|
843
|
-
const inline uint4 countbits(uint64_t4 x) {
|
|
844
|
-
return __builtin_elementwise_popcount(x);
|
|
845
|
-
}
|
|
846
|
-
|
|
847
|
-
//===----------------------------------------------------------------------===//
|
|
848
|
-
// degrees builtins
|
|
849
|
-
//===----------------------------------------------------------------------===//
|
|
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);
|
|
850
908
|
|
|
851
909
|
/// \fn T degrees(T x)
|
|
852
910
|
/// \brief Converts the specified value from radians to degrees.
|
|
853
911
|
/// \param x The specified input value.
|
|
854
|
-
|
|
912
|
+
// degrees overloads
|
|
855
913
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
856
914
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees)
|
|
857
915
|
half degrees(half);
|
|
@@ -874,15 +932,25 @@ float3 degrees(float3);
|
|
|
874
932
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees)
|
|
875
933
|
float4 degrees(float4);
|
|
876
934
|
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
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();
|
|
880
948
|
|
|
881
949
|
/// \fn K dot(T X, T Y)
|
|
882
950
|
/// \brief Return the dot product (a scalar value) of \a X and \a Y.
|
|
883
951
|
/// \param X The X input value.
|
|
884
952
|
/// \param Y The Y input value.
|
|
885
|
-
|
|
953
|
+
// dot overloads
|
|
886
954
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
887
955
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
888
956
|
half dot(half, half);
|
|
@@ -924,18 +992,6 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
|
924
992
|
uint16_t dot(uint16_t4, uint16_t4);
|
|
925
993
|
#endif
|
|
926
994
|
|
|
927
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
928
|
-
float dot(float, float);
|
|
929
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
930
|
-
float dot(float2, float2);
|
|
931
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
932
|
-
float dot(float3, float3);
|
|
933
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
934
|
-
float dot(float4, float4);
|
|
935
|
-
|
|
936
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
937
|
-
double dot(double, double);
|
|
938
|
-
|
|
939
995
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
940
996
|
int dot(int, int);
|
|
941
997
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
@@ -972,32 +1028,41 @@ uint64_t dot(uint64_t3, uint64_t3);
|
|
|
972
1028
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
973
1029
|
uint64_t dot(uint64_t4, uint64_t4);
|
|
974
1030
|
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
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);
|
|
978
1039
|
|
|
979
1040
|
/// \fn int dot4add_i8packed(uint A, uint B, int C)
|
|
980
|
-
|
|
1041
|
+
/// \brief Dot product of two packed 8-bit signed integer vectors, accumulated
|
|
1042
|
+
/// with a 32-bit signed integer.
|
|
1043
|
+
// dot4add_i8packed overloads
|
|
981
1044
|
_HLSL_AVAILABILITY(shadermodel, 6.4)
|
|
982
1045
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_i8packed)
|
|
983
1046
|
int dot4add_i8packed(uint, uint, int);
|
|
984
1047
|
|
|
985
1048
|
/// \fn uint dot4add_u8packed(uint A, uint B, uint C)
|
|
986
|
-
|
|
1049
|
+
/// \brief Dot product of two packed 8-bit unsigned integer vectors, accumulated
|
|
1050
|
+
/// with a 32-bit unsigned integer.
|
|
1051
|
+
// dot4add_u8packed overloads
|
|
987
1052
|
_HLSL_AVAILABILITY(shadermodel, 6.4)
|
|
988
1053
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_u8packed)
|
|
989
1054
|
uint dot4add_u8packed(uint, uint, uint);
|
|
990
1055
|
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
1056
|
+
// dot overloads
|
|
1057
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
|
|
1058
|
+
double dot(double, double);
|
|
994
1059
|
|
|
995
1060
|
/// \fn T exp(T x)
|
|
996
1061
|
/// \brief Returns the base-e exponential, or \a e**x, of the specified value.
|
|
997
1062
|
/// \param x The specified input value.
|
|
998
1063
|
///
|
|
999
1064
|
/// The return value is the base-e exponential of the \a x parameter.
|
|
1000
|
-
|
|
1065
|
+
// exp overloads
|
|
1001
1066
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1002
1067
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
|
|
1003
1068
|
half exp(half);
|
|
@@ -1020,16 +1085,12 @@ float3 exp(float3);
|
|
|
1020
1085
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
|
|
1021
1086
|
float4 exp(float4);
|
|
1022
1087
|
|
|
1023
|
-
//===----------------------------------------------------------------------===//
|
|
1024
|
-
// exp2 builtins
|
|
1025
|
-
//===----------------------------------------------------------------------===//
|
|
1026
|
-
|
|
1027
1088
|
/// \fn T exp2(T x)
|
|
1028
1089
|
/// \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
|
|
1029
1090
|
/// \param x The specified input value.
|
|
1030
1091
|
///
|
|
1031
1092
|
/// The base 2 exponential of the \a x parameter.
|
|
1032
|
-
|
|
1093
|
+
// exp2 overloads
|
|
1033
1094
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1034
1095
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
|
|
1035
1096
|
half exp2(half);
|
|
@@ -1052,87 +1113,45 @@ float3 exp2(float3);
|
|
|
1052
1113
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
|
|
1053
1114
|
float4 exp2(float4);
|
|
1054
1115
|
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
///
|
|
1060
|
-
///
|
|
1061
|
-
///
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1085
|
-
uint3
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
uint4 firstbithigh(uint16_t4);
|
|
1089
|
-
#endif
|
|
1090
|
-
|
|
1091
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1092
|
-
uint firstbithigh(int);
|
|
1093
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1094
|
-
uint2 firstbithigh(int2);
|
|
1095
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1096
|
-
uint3 firstbithigh(int3);
|
|
1097
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1098
|
-
uint4 firstbithigh(int4);
|
|
1099
|
-
|
|
1100
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1101
|
-
uint firstbithigh(uint);
|
|
1102
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1103
|
-
uint2 firstbithigh(uint2);
|
|
1104
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1105
|
-
uint3 firstbithigh(uint3);
|
|
1106
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1107
|
-
uint4 firstbithigh(uint4);
|
|
1108
|
-
|
|
1109
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1110
|
-
uint firstbithigh(int64_t);
|
|
1111
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1112
|
-
uint2 firstbithigh(int64_t2);
|
|
1113
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1114
|
-
uint3 firstbithigh(int64_t3);
|
|
1115
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1116
|
-
uint4 firstbithigh(int64_t4);
|
|
1117
|
-
|
|
1118
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1119
|
-
uint firstbithigh(uint64_t);
|
|
1120
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1121
|
-
uint2 firstbithigh(uint64_t2);
|
|
1122
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1123
|
-
uint3 firstbithigh(uint64_t3);
|
|
1124
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
|
|
1125
|
-
uint4 firstbithigh(uint64_t4);
|
|
1126
|
-
|
|
1127
|
-
//===----------------------------------------------------------------------===//
|
|
1128
|
-
// firstbitlow builtins
|
|
1129
|
-
//===----------------------------------------------------------------------===//
|
|
1116
|
+
/// \fn float f16tof32(uint x)
|
|
1117
|
+
/// \brief Returns the half value stored in the low 16 bits of the uint arg
|
|
1118
|
+
/// converted to a float.
|
|
1119
|
+
/// \param x The uint containing two half values.
|
|
1120
|
+
///
|
|
1121
|
+
/// The float value of the half value found in the low 16 bits of the \a x
|
|
1122
|
+
/// parameter.
|
|
1123
|
+
// f16tof32 overloads
|
|
1124
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1125
|
+
float f16tof32(uint);
|
|
1126
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1127
|
+
float2 f16tof32(uint2);
|
|
1128
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1129
|
+
float3 f16tof32(uint3);
|
|
1130
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_f16tof32)
|
|
1131
|
+
float4 f16tof32(uint4);
|
|
1132
|
+
|
|
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);
|
|
1130
1149
|
|
|
1131
1150
|
/// \fn T firstbitlow(T Val)
|
|
1132
1151
|
/// \brief Returns the location of the first set bit starting from the lowest
|
|
1133
1152
|
/// order bit and working upward, per component.
|
|
1134
1153
|
/// \param Val the input value.
|
|
1135
|
-
|
|
1154
|
+
// firstbitlow overloads
|
|
1136
1155
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
1137
1156
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1138
1157
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
@@ -1146,6 +1165,7 @@ uint3 firstbitlow(int16_t3);
|
|
|
1146
1165
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1147
1166
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1148
1167
|
uint4 firstbitlow(int16_t4);
|
|
1168
|
+
|
|
1149
1169
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1150
1170
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1151
1171
|
uint firstbitlow(uint16_t);
|
|
@@ -1196,15 +1216,11 @@ uint3 firstbitlow(uint64_t3);
|
|
|
1196
1216
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
|
|
1197
1217
|
uint4 firstbitlow(uint64_t4);
|
|
1198
1218
|
|
|
1199
|
-
//===----------------------------------------------------------------------===//
|
|
1200
|
-
// floor builtins
|
|
1201
|
-
//===----------------------------------------------------------------------===//
|
|
1202
|
-
|
|
1203
1219
|
/// \fn T floor(T Val)
|
|
1204
1220
|
/// \brief Returns the largest integer that is less than or equal to the input
|
|
1205
1221
|
/// value, \a Val.
|
|
1206
1222
|
/// \param Val The input value.
|
|
1207
|
-
|
|
1223
|
+
// floor overloads
|
|
1208
1224
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1209
1225
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
|
1210
1226
|
half floor(half);
|
|
@@ -1227,16 +1243,57 @@ float3 floor(float3);
|
|
|
1227
1243
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
|
1228
1244
|
float4 floor(float4);
|
|
1229
1245
|
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
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);
|
|
1233
1290
|
|
|
1234
1291
|
/// \fn T frac(T x)
|
|
1235
1292
|
/// \brief Returns the fractional (or decimal) part of x. \a x parameter.
|
|
1236
1293
|
/// \param x The specified input value.
|
|
1237
1294
|
///
|
|
1238
1295
|
/// If \a the return value is greater than or equal to 0 and less than 1.
|
|
1239
|
-
|
|
1296
|
+
// frac overloads
|
|
1240
1297
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1241
1298
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_frac)
|
|
1242
1299
|
half frac(half);
|
|
@@ -1259,9 +1316,20 @@ float3 frac(float3);
|
|
|
1259
1316
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_frac)
|
|
1260
1317
|
float4 frac(float4);
|
|
1261
1318
|
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
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();
|
|
1265
1333
|
|
|
1266
1334
|
/// \fn T isinf(T x)
|
|
1267
1335
|
/// \brief Determines if the specified value \a x is infinite.
|
|
@@ -1269,7 +1337,7 @@ float4 frac(float4);
|
|
|
1269
1337
|
///
|
|
1270
1338
|
/// Returns a value of the same size as the input, with a value set
|
|
1271
1339
|
/// to True if the x parameter is +INF or -INF. Otherwise, False.
|
|
1272
|
-
|
|
1340
|
+
// isinf overloads
|
|
1273
1341
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1274
1342
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isinf)
|
|
1275
1343
|
bool isinf(half);
|
|
@@ -1292,9 +1360,34 @@ bool3 isinf(float3);
|
|
|
1292
1360
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isinf)
|
|
1293
1361
|
bool4 isinf(float4);
|
|
1294
1362
|
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1363
|
+
/// \fn T isnan(T x)
|
|
1364
|
+
/// \brief Determines if the specified value \a x is Not a Number.
|
|
1365
|
+
/// \param x The specified input value.
|
|
1366
|
+
///
|
|
1367
|
+
/// Returns a value of the same size as the input, with a value set
|
|
1368
|
+
/// to True if the x parameter is NaN or QNaN. Otherwise, False.
|
|
1369
|
+
// isnan overloads
|
|
1370
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1371
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1372
|
+
bool isnan(half);
|
|
1373
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1374
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1375
|
+
bool2 isnan(half2);
|
|
1376
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1377
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1378
|
+
bool3 isnan(half3);
|
|
1379
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1380
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1381
|
+
bool4 isnan(half4);
|
|
1382
|
+
|
|
1383
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1384
|
+
bool isnan(float);
|
|
1385
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1386
|
+
bool2 isnan(float2);
|
|
1387
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1388
|
+
bool3 isnan(float3);
|
|
1389
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_isnan)
|
|
1390
|
+
bool4 isnan(float4);
|
|
1298
1391
|
|
|
1299
1392
|
/// \fn T lerp(T x, T y, T s)
|
|
1300
1393
|
/// \brief Returns the linear interpolation of x to y by s.
|
|
@@ -1305,7 +1398,7 @@ bool4 isinf(float4);
|
|
|
1305
1398
|
///
|
|
1306
1399
|
/// Linear interpolation is based on the following formula: x*(1-s) + y*s which
|
|
1307
1400
|
/// can equivalently be written as x + s(y-x).
|
|
1308
|
-
|
|
1401
|
+
// lerp overloads
|
|
1309
1402
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1310
1403
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_lerp)
|
|
1311
1404
|
half lerp(half, half, half);
|
|
@@ -1328,17 +1421,13 @@ float3 lerp(float3, float3, float3);
|
|
|
1328
1421
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_lerp)
|
|
1329
1422
|
float4 lerp(float4, float4, float4);
|
|
1330
1423
|
|
|
1331
|
-
//===----------------------------------------------------------------------===//
|
|
1332
|
-
// log builtins
|
|
1333
|
-
//===----------------------------------------------------------------------===//
|
|
1334
|
-
|
|
1335
1424
|
/// \fn T log(T Val)
|
|
1336
1425
|
/// \brief The base-e logarithm of the input value, \a Val parameter.
|
|
1337
1426
|
/// \param Val The input value.
|
|
1338
1427
|
///
|
|
1339
1428
|
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1340
1429
|
/// function returns negative infinity.
|
|
1341
|
-
|
|
1430
|
+
// log overloads
|
|
1342
1431
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1343
1432
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
|
1344
1433
|
half log(half);
|
|
@@ -1361,50 +1450,13 @@ float3 log(float3);
|
|
|
1361
1450
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
|
1362
1451
|
float4 log(float4);
|
|
1363
1452
|
|
|
1364
|
-
//===----------------------------------------------------------------------===//
|
|
1365
|
-
// log10 builtins
|
|
1366
|
-
//===----------------------------------------------------------------------===//
|
|
1367
|
-
|
|
1368
|
-
/// \fn T log10(T Val)
|
|
1369
|
-
/// \brief The base-10 logarithm of the input value, \a Val parameter.
|
|
1370
|
-
/// \param Val The input value.
|
|
1371
|
-
///
|
|
1372
|
-
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1373
|
-
/// function returns negative infinity.
|
|
1374
|
-
|
|
1375
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1376
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1377
|
-
half log10(half);
|
|
1378
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1379
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1380
|
-
half2 log10(half2);
|
|
1381
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1382
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1383
|
-
half3 log10(half3);
|
|
1384
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1385
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1386
|
-
half4 log10(half4);
|
|
1387
|
-
|
|
1388
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1389
|
-
float log10(float);
|
|
1390
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1391
|
-
float2 log10(float2);
|
|
1392
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1393
|
-
float3 log10(float3);
|
|
1394
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
|
1395
|
-
float4 log10(float4);
|
|
1396
|
-
|
|
1397
|
-
//===----------------------------------------------------------------------===//
|
|
1398
|
-
// log2 builtins
|
|
1399
|
-
//===----------------------------------------------------------------------===//
|
|
1400
|
-
|
|
1401
1453
|
/// \fn T log2(T Val)
|
|
1402
1454
|
/// \brief The base-2 logarithm of the input value, \a Val parameter.
|
|
1403
1455
|
/// \param Val The input value.
|
|
1404
1456
|
///
|
|
1405
1457
|
/// If \a Val is negative, this result is undefined. If \a Val is 0, this
|
|
1406
1458
|
/// function returns negative infinity.
|
|
1407
|
-
|
|
1459
|
+
// log2 overloads
|
|
1408
1460
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1409
1461
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
|
1410
1462
|
half log2(half);
|
|
@@ -1427,16 +1479,41 @@ float3 log2(float3);
|
|
|
1427
1479
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
|
1428
1480
|
float4 log2(float4);
|
|
1429
1481
|
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
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);
|
|
1433
1510
|
|
|
1434
1511
|
/// \fn T mad(T M, T A, T B)
|
|
1435
1512
|
/// \brief The result of \a M * \a A + \a B.
|
|
1436
1513
|
/// \param M The multiplication value.
|
|
1437
1514
|
/// \param A The first addition value.
|
|
1438
1515
|
/// \param B The second addition value.
|
|
1439
|
-
|
|
1516
|
+
// mad overloads
|
|
1440
1517
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1441
1518
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_mad)
|
|
1442
1519
|
half mad(half, half, half);
|
|
@@ -1532,15 +1609,11 @@ double3 mad(double3, double3, double3);
|
|
|
1532
1609
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_mad)
|
|
1533
1610
|
double4 mad(double4, double4, double4);
|
|
1534
1611
|
|
|
1535
|
-
//===----------------------------------------------------------------------===//
|
|
1536
|
-
// max builtins
|
|
1537
|
-
//===----------------------------------------------------------------------===//
|
|
1538
|
-
|
|
1539
1612
|
/// \fn T max(T X, T Y)
|
|
1540
1613
|
/// \brief Return the greater of \a X and \a Y.
|
|
1541
1614
|
/// \param X The X input value.
|
|
1542
1615
|
/// \param Y The Y input value.
|
|
1543
|
-
|
|
1616
|
+
// max overloads
|
|
1544
1617
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1545
1618
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
|
1546
1619
|
half max(half, half);
|
|
@@ -1636,15 +1709,11 @@ double3 max(double3, double3);
|
|
|
1636
1709
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
|
1637
1710
|
double4 max(double4, double4);
|
|
1638
1711
|
|
|
1639
|
-
//===----------------------------------------------------------------------===//
|
|
1640
|
-
// min builtins
|
|
1641
|
-
//===----------------------------------------------------------------------===//
|
|
1642
|
-
|
|
1643
1712
|
/// \fn T min(T X, T Y)
|
|
1644
1713
|
/// \brief Return the lesser of \a X and \a Y.
|
|
1645
1714
|
/// \param X The X input value.
|
|
1646
1715
|
/// \param Y The Y input value.
|
|
1647
|
-
|
|
1716
|
+
// min overloads
|
|
1648
1717
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1649
1718
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1650
1719
|
half min(half, half);
|
|
@@ -1704,15 +1773,6 @@ uint3 min(uint3, uint3);
|
|
|
1704
1773
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1705
1774
|
uint4 min(uint4, uint4);
|
|
1706
1775
|
|
|
1707
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1708
|
-
float min(float, float);
|
|
1709
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1710
|
-
float2 min(float2, float2);
|
|
1711
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1712
|
-
float3 min(float3, float3);
|
|
1713
|
-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1714
|
-
float4 min(float4, float4);
|
|
1715
|
-
|
|
1716
1776
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1717
1777
|
int64_t min(int64_t, int64_t);
|
|
1718
1778
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
@@ -1731,6 +1791,15 @@ uint64_t3 min(uint64_t3, uint64_t3);
|
|
|
1731
1791
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1732
1792
|
uint64_t4 min(uint64_t4, uint64_t4);
|
|
1733
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
|
+
|
|
1734
1803
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1735
1804
|
double min(double, double);
|
|
1736
1805
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
@@ -1740,16 +1809,23 @@ double3 min(double3, double3);
|
|
|
1740
1809
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
|
1741
1810
|
double4 min(double4, double4);
|
|
1742
1811
|
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
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);
|
|
1746
1821
|
|
|
1747
1822
|
/// \fn T normalize(T x)
|
|
1748
1823
|
/// \brief Returns the normalized unit vector of the specified floating-point
|
|
1749
|
-
/// vector.
|
|
1824
|
+
/// vector.
|
|
1825
|
+
/// \param x [in] The vector of floats.
|
|
1750
1826
|
///
|
|
1751
1827
|
/// Normalize is based on the following formula: x / length(x).
|
|
1752
|
-
|
|
1828
|
+
// normalize overloads
|
|
1753
1829
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1754
1830
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_normalize)
|
|
1755
1831
|
half normalize(half);
|
|
@@ -1772,18 +1848,10 @@ float3 normalize(float3);
|
|
|
1772
1848
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_normalize)
|
|
1773
1849
|
float4 normalize(float4);
|
|
1774
1850
|
|
|
1775
|
-
//===----------------------------------------------------------------------===//
|
|
1776
|
-
// or builtins
|
|
1777
|
-
//===----------------------------------------------------------------------===//
|
|
1778
|
-
|
|
1779
1851
|
/// \fn bool or(bool x, bool y)
|
|
1780
|
-
/// \brief Logically ors two boolean vectors elementwise and
|
|
1781
|
-
/// vector output.
|
|
1782
|
-
|
|
1783
|
-
// TODO: Clean up clang-format marker once we've resolved
|
|
1784
|
-
// https://github.com/llvm/llvm-project/issues/127851
|
|
1785
|
-
//
|
|
1786
|
-
// clang-format off
|
|
1852
|
+
/// \brief Logically ors two boolean vectors or matrices elementwise and
|
|
1853
|
+
/// produces a bool vector or matrix output.
|
|
1854
|
+
// or overloads
|
|
1787
1855
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1788
1856
|
bool or(bool, bool);
|
|
1789
1857
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
@@ -1792,17 +1860,42 @@ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
|
1792
1860
|
bool3 or(bool3, bool3);
|
|
1793
1861
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1794
1862
|
bool4 or(bool4, bool4);
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1863
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1864
|
+
bool1x2 or(bool1x2, bool1x2);
|
|
1865
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1866
|
+
bool1x3 or(bool1x3, bool1x3);
|
|
1867
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1868
|
+
bool1x4 or(bool1x4, bool1x4);
|
|
1869
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1870
|
+
bool2x1 or(bool2x1, bool2x1);
|
|
1871
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1872
|
+
bool2x2 or(bool2x2, bool2x2);
|
|
1873
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1874
|
+
bool2x3 or(bool2x3, bool2x3);
|
|
1875
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1876
|
+
bool2x4 or(bool2x4, bool2x4);
|
|
1877
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1878
|
+
bool3x1 or(bool3x1, bool3x1);
|
|
1879
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1880
|
+
bool3x2 or(bool3x2, bool3x2);
|
|
1881
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1882
|
+
bool3x3 or(bool3x3, bool3x3);
|
|
1883
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1884
|
+
bool3x4 or(bool3x4, bool3x4);
|
|
1885
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1886
|
+
bool4x1 or(bool4x1, bool4x1);
|
|
1887
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1888
|
+
bool4x2 or(bool4x2, bool4x2);
|
|
1889
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1890
|
+
bool4x3 or(bool4x3, bool4x3);
|
|
1891
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_or)
|
|
1892
|
+
bool4x4 or(bool4x4, bool4x4);
|
|
1800
1893
|
|
|
1801
1894
|
/// \fn T pow(T Val, T Pow)
|
|
1802
1895
|
/// \brief Return the value \a Val, raised to the power \a Pow.
|
|
1803
1896
|
/// \param Val The input value.
|
|
1804
1897
|
/// \param Pow The specified power.
|
|
1805
|
-
|
|
1898
|
+
// pow overloads
|
|
1806
1899
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1807
1900
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
|
1808
1901
|
half pow(half, half);
|
|
@@ -1825,79 +1918,331 @@ float3 pow(float3, float3);
|
|
|
1825
1918
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
|
1826
1919
|
float4 pow(float4, float4);
|
|
1827
1920
|
|
|
1828
|
-
|
|
1829
|
-
// reversebits builtins
|
|
1830
|
-
//===----------------------------------------------------------------------===//
|
|
1831
|
-
|
|
1832
|
-
/// \fn T reversebits(T Val)
|
|
1833
|
-
/// \brief Return the value \a Val with the bit order reversed.
|
|
1921
|
+
/// \brief Returns the value from the lane diagonally opposite from the current lane in the quad.
|
|
1834
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);
|
|
1835
1936
|
|
|
1836
1937
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
1837
1938
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1838
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1839
|
-
|
|
1939
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1940
|
+
__attribute__((convergent)) int16_t QuadReadAcrossDiagonal(int16_t);
|
|
1840
1941
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1841
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1842
|
-
|
|
1942
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1943
|
+
__attribute__((convergent)) int16_t2 QuadReadAcrossDiagonal(int16_t2);
|
|
1843
1944
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1844
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1845
|
-
|
|
1945
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1946
|
+
__attribute__((convergent)) int16_t3 QuadReadAcrossDiagonal(int16_t3);
|
|
1846
1947
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
1847
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1848
|
-
|
|
1849
|
-
#endif
|
|
1948
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_diagonal)
|
|
1949
|
+
__attribute__((convergent)) int16_t4 QuadReadAcrossDiagonal(int16_t4);
|
|
1850
1950
|
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
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
|
|
1859
1964
|
|
|
1860
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1861
|
-
|
|
1862
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1863
|
-
|
|
1864
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1865
|
-
|
|
1866
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1867
|
-
|
|
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.
|
|
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);
|
|
1868
2034
|
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
2035
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
2036
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2037
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2038
|
+
__attribute__((convergent)) int16_t QuadReadAcrossX(int16_t);
|
|
2039
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2040
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2041
|
+
__attribute__((convergent)) int16_t2 QuadReadAcrossX(int16_t2);
|
|
2042
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2043
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2044
|
+
__attribute__((convergent)) int16_t3 QuadReadAcrossX(int16_t3);
|
|
2045
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2046
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_quad_read_across_x)
|
|
2047
|
+
__attribute__((convergent)) int16_t4 QuadReadAcrossX(int16_t4);
|
|
1872
2048
|
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
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);
|
|
2061
|
+
#endif
|
|
1883
2062
|
|
|
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
|
|
1884
2120
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1885
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1886
|
-
|
|
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);
|
|
1887
2132
|
|
|
1888
|
-
|
|
1889
|
-
|
|
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);
|
|
2146
|
+
|
|
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
|
|
2160
|
+
|
|
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);
|
|
2214
|
+
|
|
2215
|
+
/// \fn T radians(T Val)
|
|
2216
|
+
/// \brief Converts the specified value from degrees to radians.
|
|
2217
|
+
// radians overloads
|
|
2218
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
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);
|
|
1890
2230
|
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
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);
|
|
1894
2239
|
|
|
1895
2240
|
/// \fn T rcp(T x)
|
|
1896
2241
|
/// \brief Calculates a fast, approximate, per-component reciprocal ie 1 / \a x.
|
|
1897
2242
|
/// \param x The specified input value.
|
|
1898
2243
|
///
|
|
1899
2244
|
/// The return value is the reciprocal of the \a x parameter.
|
|
1900
|
-
|
|
2245
|
+
// rcp overloads
|
|
1901
2246
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1902
2247
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rcp)
|
|
1903
2248
|
half rcp(half);
|
|
@@ -1929,42 +2274,73 @@ double3 rcp(double3);
|
|
|
1929
2274
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rcp)
|
|
1930
2275
|
double4 rcp(double4);
|
|
1931
2276
|
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
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);
|
|
1935
2294
|
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
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
|
|
1942
2308
|
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
half3 rsqrt(half3);
|
|
1952
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1953
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_rsqrt)
|
|
1954
|
-
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);
|
|
1955
2317
|
|
|
1956
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1957
|
-
|
|
1958
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1959
|
-
|
|
1960
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1961
|
-
|
|
1962
|
-
_HLSL_BUILTIN_ALIAS(
|
|
1963
|
-
|
|
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);
|
|
1964
2335
|
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
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);
|
|
1968
2344
|
|
|
1969
2345
|
/// \fn T round(T x)
|
|
1970
2346
|
/// \brief Rounds the specified value \a x to the nearest integer.
|
|
@@ -1973,7 +2349,7 @@ float4 rsqrt(float4);
|
|
|
1973
2349
|
/// The return value is the \a x parameter, rounded to the nearest integer
|
|
1974
2350
|
/// within a floating-point type. Halfway cases are
|
|
1975
2351
|
/// rounded to the nearest even value.
|
|
1976
|
-
|
|
2352
|
+
// round overloads
|
|
1977
2353
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
1978
2354
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_roundeven)
|
|
1979
2355
|
half round(half);
|
|
@@ -1996,14 +2372,40 @@ float3 round(float3);
|
|
|
1996
2372
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_roundeven)
|
|
1997
2373
|
float4 round(float4);
|
|
1998
2374
|
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
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);
|
|
2002
2403
|
|
|
2003
2404
|
/// \fn T saturate(T Val)
|
|
2004
2405
|
/// \brief Returns input value, \a Val, clamped within the range of 0.0f
|
|
2005
|
-
/// to 1.0f.
|
|
2006
|
-
|
|
2406
|
+
/// to 1.0f.
|
|
2407
|
+
/// \param Val The input value.
|
|
2408
|
+
// saturate overloads
|
|
2007
2409
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2008
2410
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_saturate)
|
|
2009
2411
|
half saturate(half);
|
|
@@ -2035,75 +2437,110 @@ double3 saturate(double3);
|
|
|
2035
2437
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_saturate)
|
|
2036
2438
|
double4 saturate(double4);
|
|
2037
2439
|
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
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.
|
|
2443
|
+
/// \param Val The input value.
|
|
2444
|
+
// sign overloads
|
|
2445
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2446
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2447
|
+
int sign(half);
|
|
2448
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2449
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2450
|
+
int2 sign(half2);
|
|
2451
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2452
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2453
|
+
int3 sign(half3);
|
|
2454
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2455
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_sign)
|
|
2456
|
+
int4 sign(half4);
|
|
2457
|
+
|
|
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);
|
|
2102
2539
|
|
|
2103
2540
|
/// \fn T sin(T Val)
|
|
2104
2541
|
/// \brief Returns the sine of the input value, \a Val.
|
|
2105
2542
|
/// \param Val The input value.
|
|
2106
|
-
|
|
2543
|
+
// sin overloads
|
|
2107
2544
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2108
2545
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2109
2546
|
half sin(half);
|
|
@@ -2126,14 +2563,10 @@ float3 sin(float3);
|
|
|
2126
2563
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
|
2127
2564
|
float4 sin(float4);
|
|
2128
2565
|
|
|
2129
|
-
//===----------------------------------------------------------------------===//
|
|
2130
|
-
// sinh builtins
|
|
2131
|
-
//===----------------------------------------------------------------------===//
|
|
2132
|
-
|
|
2133
2566
|
/// \fn T sinh(T Val)
|
|
2134
2567
|
/// \brief Returns the hyperbolic sine of the input value, \a Val.
|
|
2135
2568
|
/// \param Val The input value.
|
|
2136
|
-
|
|
2569
|
+
// sinh overloads
|
|
2137
2570
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2138
2571
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sinh)
|
|
2139
2572
|
half sinh(half);
|
|
@@ -2156,14 +2589,10 @@ float3 sinh(float3);
|
|
|
2156
2589
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sinh)
|
|
2157
2590
|
float4 sinh(float4);
|
|
2158
2591
|
|
|
2159
|
-
//===----------------------------------------------------------------------===//
|
|
2160
|
-
// sqrt builtins
|
|
2161
|
-
//===----------------------------------------------------------------------===//
|
|
2162
|
-
|
|
2163
2592
|
/// \fn T sqrt(T Val)
|
|
2164
2593
|
/// \brief Returns the square root of the input value, \a Val.
|
|
2165
2594
|
/// \param Val The input value.
|
|
2166
|
-
|
|
2595
|
+
// sqrt overloads
|
|
2167
2596
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2168
2597
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sqrt)
|
|
2169
2598
|
half sqrt(half);
|
|
@@ -2186,17 +2615,14 @@ float3 sqrt(float3);
|
|
|
2186
2615
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sqrt)
|
|
2187
2616
|
float4 sqrt(float4);
|
|
2188
2617
|
|
|
2189
|
-
|
|
2190
|
-
// step builtins
|
|
2191
|
-
//===----------------------------------------------------------------------===//
|
|
2192
|
-
|
|
2193
|
-
/// \fn T step(T x, T y)
|
|
2618
|
+
/// \fn T step(T y, T x)
|
|
2194
2619
|
/// \brief Returns 1 if the x parameter is greater than or equal to the y
|
|
2195
|
-
/// parameter; otherwise, 0.
|
|
2196
|
-
///
|
|
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.
|
|
2197
2623
|
///
|
|
2198
2624
|
/// Step is based on the following formula: (x >= y) ? 1 : 0
|
|
2199
|
-
|
|
2625
|
+
// step overloads
|
|
2200
2626
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2201
2627
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_step)
|
|
2202
2628
|
half step(half, half);
|
|
@@ -2219,14 +2645,10 @@ float3 step(float3, float3);
|
|
|
2219
2645
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_step)
|
|
2220
2646
|
float4 step(float4, float4);
|
|
2221
2647
|
|
|
2222
|
-
//===----------------------------------------------------------------------===//
|
|
2223
|
-
// tan builtins
|
|
2224
|
-
//===----------------------------------------------------------------------===//
|
|
2225
|
-
|
|
2226
2648
|
/// \fn T tan(T Val)
|
|
2227
2649
|
/// \brief Returns the tangent of the input value, \a Val.
|
|
2228
2650
|
/// \param Val The input value.
|
|
2229
|
-
|
|
2651
|
+
// tan overloads
|
|
2230
2652
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2231
2653
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tan)
|
|
2232
2654
|
half tan(half);
|
|
@@ -2249,14 +2671,10 @@ float3 tan(float3);
|
|
|
2249
2671
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tan)
|
|
2250
2672
|
float4 tan(float4);
|
|
2251
2673
|
|
|
2252
|
-
//===----------------------------------------------------------------------===//
|
|
2253
|
-
// tanh builtins
|
|
2254
|
-
//===----------------------------------------------------------------------===//
|
|
2255
|
-
|
|
2256
2674
|
/// \fn T tanh(T Val)
|
|
2257
2675
|
/// \brief Returns the hyperbolic tangent of the input value, \a Val.
|
|
2258
2676
|
/// \param Val The input value.
|
|
2259
|
-
|
|
2677
|
+
// tanh overloads
|
|
2260
2678
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2261
2679
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tanh)
|
|
2262
2680
|
half tanh(half);
|
|
@@ -2279,14 +2697,10 @@ float3 tanh(float3);
|
|
|
2279
2697
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_tanh)
|
|
2280
2698
|
float4 tanh(float4);
|
|
2281
2699
|
|
|
2282
|
-
//===----------------------------------------------------------------------===//
|
|
2283
|
-
// trunc builtins
|
|
2284
|
-
//===----------------------------------------------------------------------===//
|
|
2285
|
-
|
|
2286
2700
|
/// \fn T trunc(T Val)
|
|
2287
2701
|
/// \brief Returns the truncated integer value of the input value, \a Val.
|
|
2288
2702
|
/// \param Val The input value.
|
|
2289
|
-
|
|
2703
|
+
// trunc overloads
|
|
2290
2704
|
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
|
|
2291
2705
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
|
2292
2706
|
half trunc(half);
|
|
@@ -2309,503 +2723,1147 @@ float3 trunc(float3);
|
|
|
2309
2723
|
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
|
2310
2724
|
float4 trunc(float4);
|
|
2311
2725
|
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
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);
|
|
2315
2744
|
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
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);
|
|
2850
|
+
|
|
2851
|
+
/// \brief Returns true if the expression is true in all active lanes in the
|
|
2852
|
+
/// current wave.
|
|
2853
|
+
/// \param Val The boolean expression to evaluate.
|
|
2320
2854
|
/// \return True if the expression is true in all lanes.
|
|
2855
|
+
// WaveActiveAllTrue overloads
|
|
2321
2856
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2322
2857
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_all_true)
|
|
2323
|
-
__attribute__((convergent)) bool WaveActiveAllTrue(bool
|
|
2858
|
+
__attribute__((convergent)) bool WaveActiveAllTrue(bool);
|
|
2324
2859
|
|
|
2325
2860
|
/// \brief Returns true if the expression is true in any active lane in the
|
|
2326
2861
|
/// current wave.
|
|
2327
|
-
///
|
|
2328
2862
|
/// \param Val The boolean expression to evaluate.
|
|
2329
2863
|
/// \return True if the expression is true in any lane.
|
|
2864
|
+
// WaveActiveAnyTrue overloads
|
|
2330
2865
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2331
2866
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_any_true)
|
|
2332
|
-
__attribute__((convergent)) bool WaveActiveAnyTrue(bool
|
|
2867
|
+
__attribute__((convergent)) bool WaveActiveAnyTrue(bool);
|
|
2333
2868
|
|
|
2334
|
-
/// \brief
|
|
2335
|
-
/// all active lanes in the current wave.
|
|
2336
|
-
///
|
|
2337
|
-
///
|
|
2338
|
-
///
|
|
2339
|
-
///
|
|
2869
|
+
/// \brief Returns a uint4 containing a bitmask of the evaluation of the
|
|
2870
|
+
/// boolean expression for all active lanes in the current wave.
|
|
2871
|
+
/// The least-significant bit corresponds to the lane with index zero.
|
|
2872
|
+
/// The bits corresponding to inactive lanes will be zero. The bits that
|
|
2873
|
+
/// are greater than or equal to WaveGetLaneCount will be zero.
|
|
2874
|
+
/// \param Val The boolean expression to evaluate.
|
|
2875
|
+
/// \return uint4 bitmask
|
|
2876
|
+
// WaveActiveBallot overloads
|
|
2340
2877
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2341
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2342
|
-
__attribute__((convergent))
|
|
2878
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_ballot)
|
|
2879
|
+
__attribute__((convergent)) uint4 WaveActiveBallot(bool);
|
|
2343
2880
|
|
|
2344
|
-
|
|
2881
|
+
// WaveActiveBitAnd overloads
|
|
2345
2882
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2346
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2347
|
-
__attribute__((convergent)) uint
|
|
2348
|
-
|
|
2883
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2884
|
+
__attribute__((convergent)) uint WaveActiveBitAnd(uint);
|
|
2349
2885
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2350
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2351
|
-
__attribute__((convergent))
|
|
2352
|
-
|
|
2886
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2887
|
+
__attribute__((convergent)) uint2 WaveActiveBitAnd(uint2);
|
|
2353
2888
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2354
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2355
|
-
__attribute__((convergent))
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
//===----------------------------------------------------------------------===//
|
|
2360
|
-
|
|
2361
|
-
// \brief Returns the value of the expression for the given lane index within
|
|
2362
|
-
// the specified wave.
|
|
2363
|
-
|
|
2364
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2365
|
-
__attribute__((convergent)) bool WaveReadLaneAt(bool, uint32_t);
|
|
2366
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2367
|
-
__attribute__((convergent)) bool2 WaveReadLaneAt(bool2, uint32_t);
|
|
2368
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2369
|
-
__attribute__((convergent)) bool3 WaveReadLaneAt(bool3, uint32_t);
|
|
2370
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2371
|
-
__attribute__((convergent)) bool4 WaveReadLaneAt(bool4, uint32_t);
|
|
2889
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2890
|
+
__attribute__((convergent)) uint3 WaveActiveBitAnd(uint3);
|
|
2891
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2892
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2893
|
+
__attribute__((convergent)) uint4 WaveActiveBitAnd(uint4);
|
|
2372
2894
|
|
|
2373
|
-
#ifdef __HLSL_ENABLE_16_BIT
|
|
2374
2895
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2375
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2376
|
-
__attribute__((convergent))
|
|
2896
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2897
|
+
__attribute__((convergent)) uint64_t WaveActiveBitAnd(uint64_t);
|
|
2377
2898
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2378
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2379
|
-
__attribute__((convergent))
|
|
2899
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2900
|
+
__attribute__((convergent)) uint64_t2 WaveActiveBitAnd(uint64_t2);
|
|
2380
2901
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2381
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2382
|
-
__attribute__((convergent))
|
|
2902
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2903
|
+
__attribute__((convergent)) uint64_t3 WaveActiveBitAnd(uint64_t3);
|
|
2383
2904
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2384
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2385
|
-
__attribute__((convergent))
|
|
2905
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_and)
|
|
2906
|
+
__attribute__((convergent)) uint64_t4 WaveActiveBitAnd(uint64_t4);
|
|
2386
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
|
|
2387
2912
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2388
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2389
|
-
__attribute__((convergent))
|
|
2913
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2914
|
+
__attribute__((convergent)) uint WaveActiveBitOr(uint);
|
|
2390
2915
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2391
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2392
|
-
__attribute__((convergent))
|
|
2916
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2917
|
+
__attribute__((convergent)) uint2 WaveActiveBitOr(uint2);
|
|
2393
2918
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2394
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2395
|
-
__attribute__((convergent))
|
|
2919
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2920
|
+
__attribute__((convergent)) uint3 WaveActiveBitOr(uint3);
|
|
2396
2921
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2397
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2398
|
-
__attribute__((convergent))
|
|
2399
|
-
#endif
|
|
2400
|
-
|
|
2401
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2402
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2403
|
-
__attribute__((convergent)) half WaveReadLaneAt(half, uint32_t);
|
|
2404
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2405
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2406
|
-
__attribute__((convergent)) half2 WaveReadLaneAt(half2, uint32_t);
|
|
2407
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2408
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2409
|
-
__attribute__((convergent)) half3 WaveReadLaneAt(half3, uint32_t);
|
|
2410
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2411
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2412
|
-
__attribute__((convergent)) half4 WaveReadLaneAt(half4, uint32_t);
|
|
2413
|
-
|
|
2414
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2415
|
-
__attribute__((convergent)) int WaveReadLaneAt(int, uint32_t);
|
|
2416
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2417
|
-
__attribute__((convergent)) int2 WaveReadLaneAt(int2, uint32_t);
|
|
2418
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2419
|
-
__attribute__((convergent)) int3 WaveReadLaneAt(int3, uint32_t);
|
|
2420
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2421
|
-
__attribute__((convergent)) int4 WaveReadLaneAt(int4, uint32_t);
|
|
2422
|
-
|
|
2423
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2424
|
-
__attribute__((convergent)) uint WaveReadLaneAt(uint, uint32_t);
|
|
2425
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2426
|
-
__attribute__((convergent)) uint2 WaveReadLaneAt(uint2, uint32_t);
|
|
2427
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2428
|
-
__attribute__((convergent)) uint3 WaveReadLaneAt(uint3, uint32_t);
|
|
2429
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2430
|
-
__attribute__((convergent)) uint4 WaveReadLaneAt(uint4, uint32_t);
|
|
2922
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_bit_or)
|
|
2923
|
+
__attribute__((convergent)) uint4 WaveActiveBitOr(uint4);
|
|
2431
2924
|
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2437
|
-
__attribute__((convergent))
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
__attribute__((convergent)) int64_t2 WaveReadLaneAt(int64_t2, uint32_t);
|
|
2445
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2446
|
-
__attribute__((convergent)) int64_t3 WaveReadLaneAt(int64_t3, uint32_t);
|
|
2447
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at)
|
|
2448
|
-
__attribute__((convergent)) int64_t4 WaveReadLaneAt(int64_t4, uint32_t);
|
|
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);
|
|
2449
2937
|
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2453
|
-
__attribute__((convergent))
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
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);
|
|
2458
2951
|
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2464
|
-
__attribute__((convergent))
|
|
2465
|
-
|
|
2466
|
-
|
|
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);
|
|
2467
2964
|
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
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);
|
|
2471
2974
|
|
|
2472
|
-
|
|
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)
|
|
2473
2979
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2474
2980
|
__attribute__((convergent)) half WaveActiveMax(half);
|
|
2475
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2981
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2476
2982
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2477
2983
|
__attribute__((convergent)) half2 WaveActiveMax(half2);
|
|
2478
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2984
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2479
2985
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2480
2986
|
__attribute__((convergent)) half3 WaveActiveMax(half3);
|
|
2481
|
-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.0)
|
|
2987
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
2482
2988
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2483
2989
|
__attribute__((convergent)) half4 WaveActiveMax(half4);
|
|
2484
2990
|
|
|
2485
2991
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2486
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2992
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2487
2993
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2488
2994
|
__attribute__((convergent)) int16_t WaveActiveMax(int16_t);
|
|
2489
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2995
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2490
2996
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2491
2997
|
__attribute__((convergent)) int16_t2 WaveActiveMax(int16_t2);
|
|
2492
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
2998
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2493
2999
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2494
3000
|
__attribute__((convergent)) int16_t3 WaveActiveMax(int16_t3);
|
|
2495
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3001
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2496
3002
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2497
3003
|
__attribute__((convergent)) int16_t4 WaveActiveMax(int16_t4);
|
|
2498
3004
|
|
|
2499
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3005
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2500
3006
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2501
3007
|
__attribute__((convergent)) uint16_t WaveActiveMax(uint16_t);
|
|
2502
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3008
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2503
3009
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2504
3010
|
__attribute__((convergent)) uint16_t2 WaveActiveMax(uint16_t2);
|
|
2505
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3011
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2506
3012
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2507
3013
|
__attribute__((convergent)) uint16_t3 WaveActiveMax(uint16_t3);
|
|
2508
|
-
_HLSL_AVAILABILITY(shadermodel, 6.
|
|
3014
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2509
3015
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2510
3016
|
__attribute__((convergent)) uint16_t4 WaveActiveMax(uint16_t4);
|
|
2511
3017
|
#endif
|
|
2512
3018
|
|
|
3019
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2513
3020
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2514
3021
|
__attribute__((convergent)) int WaveActiveMax(int);
|
|
3022
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2515
3023
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2516
3024
|
__attribute__((convergent)) int2 WaveActiveMax(int2);
|
|
3025
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2517
3026
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2518
3027
|
__attribute__((convergent)) int3 WaveActiveMax(int3);
|
|
3028
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2519
3029
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2520
3030
|
__attribute__((convergent)) int4 WaveActiveMax(int4);
|
|
2521
3031
|
|
|
3032
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2522
3033
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2523
3034
|
__attribute__((convergent)) uint WaveActiveMax(uint);
|
|
3035
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2524
3036
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2525
3037
|
__attribute__((convergent)) uint2 WaveActiveMax(uint2);
|
|
3038
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2526
3039
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2527
3040
|
__attribute__((convergent)) uint3 WaveActiveMax(uint3);
|
|
3041
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2528
3042
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2529
3043
|
__attribute__((convergent)) uint4 WaveActiveMax(uint4);
|
|
2530
3044
|
|
|
3045
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2531
3046
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2532
3047
|
__attribute__((convergent)) int64_t WaveActiveMax(int64_t);
|
|
3048
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2533
3049
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2534
3050
|
__attribute__((convergent)) int64_t2 WaveActiveMax(int64_t2);
|
|
3051
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2535
3052
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2536
3053
|
__attribute__((convergent)) int64_t3 WaveActiveMax(int64_t3);
|
|
3054
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2537
3055
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2538
3056
|
__attribute__((convergent)) int64_t4 WaveActiveMax(int64_t4);
|
|
2539
3057
|
|
|
3058
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2540
3059
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2541
3060
|
__attribute__((convergent)) uint64_t WaveActiveMax(uint64_t);
|
|
3061
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2542
3062
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2543
3063
|
__attribute__((convergent)) uint64_t2 WaveActiveMax(uint64_t2);
|
|
3064
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2544
3065
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2545
3066
|
__attribute__((convergent)) uint64_t3 WaveActiveMax(uint64_t3);
|
|
3067
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2546
3068
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2547
3069
|
__attribute__((convergent)) uint64_t4 WaveActiveMax(uint64_t4);
|
|
2548
3070
|
|
|
3071
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2549
3072
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2550
3073
|
__attribute__((convergent)) float WaveActiveMax(float);
|
|
3074
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2551
3075
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2552
3076
|
__attribute__((convergent)) float2 WaveActiveMax(float2);
|
|
3077
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2553
3078
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2554
3079
|
__attribute__((convergent)) float3 WaveActiveMax(float3);
|
|
3080
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2555
3081
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2556
3082
|
__attribute__((convergent)) float4 WaveActiveMax(float4);
|
|
2557
3083
|
|
|
3084
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2558
3085
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2559
3086
|
__attribute__((convergent)) double WaveActiveMax(double);
|
|
3087
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2560
3088
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2561
3089
|
__attribute__((convergent)) double2 WaveActiveMax(double2);
|
|
3090
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2562
3091
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2563
3092
|
__attribute__((convergent)) double3 WaveActiveMax(double3);
|
|
3093
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2564
3094
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_max)
|
|
2565
3095
|
__attribute__((convergent)) double4 WaveActiveMax(double4);
|
|
2566
3096
|
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
__attribute__((convergent)) half4 WaveActiveSum(half4);
|
|
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)
|
|
3101
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3102
|
+
__attribute__((convergent)) half WaveActiveMin(half);
|
|
3103
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3104
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3105
|
+
__attribute__((convergent)) half2 WaveActiveMin(half2);
|
|
3106
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3107
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3108
|
+
__attribute__((convergent)) half3 WaveActiveMin(half3);
|
|
3109
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3110
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3111
|
+
__attribute__((convergent)) half4 WaveActiveMin(half4);
|
|
2583
3112
|
|
|
2584
3113
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
3114
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3115
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3116
|
+
__attribute__((convergent)) int16_t WaveActiveMin(int16_t);
|
|
3117
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3118
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3119
|
+
__attribute__((convergent)) int16_t2 WaveActiveMin(int16_t2);
|
|
3120
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3121
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3122
|
+
__attribute__((convergent)) int16_t3 WaveActiveMin(int16_t3);
|
|
3123
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3124
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3125
|
+
__attribute__((convergent)) int16_t4 WaveActiveMin(int16_t4);
|
|
3126
|
+
|
|
3127
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3128
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3129
|
+
__attribute__((convergent)) uint16_t WaveActiveMin(uint16_t);
|
|
3130
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3131
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3132
|
+
__attribute__((convergent)) uint16_t2 WaveActiveMin(uint16_t2);
|
|
3133
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3134
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3135
|
+
__attribute__((convergent)) uint16_t3 WaveActiveMin(uint16_t3);
|
|
3136
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3137
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3138
|
+
__attribute__((convergent)) uint16_t4 WaveActiveMin(uint16_t4);
|
|
3139
|
+
#endif
|
|
3140
|
+
|
|
2585
3141
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2586
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2587
|
-
__attribute__((convergent))
|
|
3142
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3143
|
+
__attribute__((convergent)) int WaveActiveMin(int);
|
|
2588
3144
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2589
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2590
|
-
__attribute__((convergent))
|
|
3145
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3146
|
+
__attribute__((convergent)) int2 WaveActiveMin(int2);
|
|
2591
3147
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2592
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2593
|
-
__attribute__((convergent))
|
|
3148
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3149
|
+
__attribute__((convergent)) int3 WaveActiveMin(int3);
|
|
2594
3150
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2595
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2596
|
-
__attribute__((convergent))
|
|
3151
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3152
|
+
__attribute__((convergent)) int4 WaveActiveMin(int4);
|
|
2597
3153
|
|
|
2598
3154
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2599
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2600
|
-
__attribute__((convergent))
|
|
3155
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3156
|
+
__attribute__((convergent)) uint WaveActiveMin(uint);
|
|
2601
3157
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2602
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2603
|
-
__attribute__((convergent))
|
|
3158
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3159
|
+
__attribute__((convergent)) uint2 WaveActiveMin(uint2);
|
|
2604
3160
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2605
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2606
|
-
__attribute__((convergent))
|
|
3161
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3162
|
+
__attribute__((convergent)) uint3 WaveActiveMin(uint3);
|
|
2607
3163
|
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2608
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2609
|
-
__attribute__((convergent))
|
|
2610
|
-
#endif
|
|
2611
|
-
|
|
2612
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2613
|
-
__attribute__((convergent)) int WaveActiveSum(int);
|
|
2614
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2615
|
-
__attribute__((convergent)) int2 WaveActiveSum(int2);
|
|
2616
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2617
|
-
__attribute__((convergent)) int3 WaveActiveSum(int3);
|
|
2618
|
-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2619
|
-
__attribute__((convergent)) int4 WaveActiveSum(int4);
|
|
3164
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3165
|
+
__attribute__((convergent)) uint4 WaveActiveMin(uint4);
|
|
2620
3166
|
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2626
|
-
__attribute__((convergent))
|
|
2627
|
-
|
|
2628
|
-
|
|
3167
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3168
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3169
|
+
__attribute__((convergent)) int64_t WaveActiveMin(int64_t);
|
|
3170
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3171
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3172
|
+
__attribute__((convergent)) int64_t2 WaveActiveMin(int64_t2);
|
|
3173
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3174
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3175
|
+
__attribute__((convergent)) int64_t3 WaveActiveMin(int64_t3);
|
|
3176
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3177
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3178
|
+
__attribute__((convergent)) int64_t4 WaveActiveMin(int64_t4);
|
|
2629
3179
|
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2635
|
-
__attribute__((convergent))
|
|
2636
|
-
|
|
2637
|
-
|
|
3180
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3181
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3182
|
+
__attribute__((convergent)) uint64_t WaveActiveMin(uint64_t);
|
|
3183
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3184
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3185
|
+
__attribute__((convergent)) uint64_t2 WaveActiveMin(uint64_t2);
|
|
3186
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3187
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3188
|
+
__attribute__((convergent)) uint64_t3 WaveActiveMin(uint64_t3);
|
|
3189
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3190
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3191
|
+
__attribute__((convergent)) uint64_t4 WaveActiveMin(uint64_t4);
|
|
2638
3192
|
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2644
|
-
__attribute__((convergent))
|
|
2645
|
-
|
|
2646
|
-
|
|
3193
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3194
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3195
|
+
__attribute__((convergent)) float WaveActiveMin(float);
|
|
3196
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3197
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3198
|
+
__attribute__((convergent)) float2 WaveActiveMin(float2);
|
|
3199
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3200
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3201
|
+
__attribute__((convergent)) float3 WaveActiveMin(float3);
|
|
3202
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3203
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3204
|
+
__attribute__((convergent)) float4 WaveActiveMin(float4);
|
|
2647
3205
|
|
|
3206
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3207
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3208
|
+
__attribute__((convergent)) double WaveActiveMin(double);
|
|
3209
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3210
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3211
|
+
__attribute__((convergent)) double2 WaveActiveMin(double2);
|
|
3212
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3213
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3214
|
+
__attribute__((convergent)) double3 WaveActiveMin(double3);
|
|
3215
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3216
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_min)
|
|
3217
|
+
__attribute__((convergent)) double4 WaveActiveMin(double4);
|
|
3218
|
+
|
|
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);
|
|
3340
|
+
|
|
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)
|
|
3345
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3346
|
+
__attribute__((convergent)) half WaveActiveSum(half);
|
|
3347
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3348
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3349
|
+
__attribute__((convergent)) half2 WaveActiveSum(half2);
|
|
3350
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3351
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3352
|
+
__attribute__((convergent)) half3 WaveActiveSum(half3);
|
|
3353
|
+
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2, 6.0)
|
|
3354
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3355
|
+
__attribute__((convergent)) half4 WaveActiveSum(half4);
|
|
3356
|
+
|
|
3357
|
+
#ifdef __HLSL_ENABLE_16_BIT
|
|
3358
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3359
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3360
|
+
__attribute__((convergent)) int16_t WaveActiveSum(int16_t);
|
|
3361
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3362
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3363
|
+
__attribute__((convergent)) int16_t2 WaveActiveSum(int16_t2);
|
|
3364
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3365
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3366
|
+
__attribute__((convergent)) int16_t3 WaveActiveSum(int16_t3);
|
|
3367
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3368
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3369
|
+
__attribute__((convergent)) int16_t4 WaveActiveSum(int16_t4);
|
|
3370
|
+
|
|
3371
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3372
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3373
|
+
__attribute__((convergent)) uint16_t WaveActiveSum(uint16_t);
|
|
3374
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3375
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3376
|
+
__attribute__((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
|
|
3377
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3378
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3379
|
+
__attribute__((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
|
|
3380
|
+
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
3381
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3382
|
+
__attribute__((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
|
|
3383
|
+
#endif
|
|
3384
|
+
|
|
3385
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3386
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3387
|
+
__attribute__((convergent)) int WaveActiveSum(int);
|
|
3388
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3389
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3390
|
+
__attribute__((convergent)) int2 WaveActiveSum(int2);
|
|
3391
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3392
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3393
|
+
__attribute__((convergent)) int3 WaveActiveSum(int3);
|
|
3394
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3395
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3396
|
+
__attribute__((convergent)) int4 WaveActiveSum(int4);
|
|
3397
|
+
|
|
3398
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3399
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3400
|
+
__attribute__((convergent)) uint WaveActiveSum(uint);
|
|
3401
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3402
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3403
|
+
__attribute__((convergent)) uint2 WaveActiveSum(uint2);
|
|
3404
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3405
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3406
|
+
__attribute__((convergent)) uint3 WaveActiveSum(uint3);
|
|
3407
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3408
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3409
|
+
__attribute__((convergent)) uint4 WaveActiveSum(uint4);
|
|
3410
|
+
|
|
3411
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3412
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3413
|
+
__attribute__((convergent)) int64_t WaveActiveSum(int64_t);
|
|
3414
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3415
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3416
|
+
__attribute__((convergent)) int64_t2 WaveActiveSum(int64_t2);
|
|
3417
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3418
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3419
|
+
__attribute__((convergent)) int64_t3 WaveActiveSum(int64_t3);
|
|
3420
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3421
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3422
|
+
__attribute__((convergent)) int64_t4 WaveActiveSum(int64_t4);
|
|
3423
|
+
|
|
3424
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3425
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3426
|
+
__attribute__((convergent)) uint64_t WaveActiveSum(uint64_t);
|
|
3427
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3428
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3429
|
+
__attribute__((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
|
|
3430
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3431
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3432
|
+
__attribute__((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
|
|
3433
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
3434
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
3435
|
+
__attribute__((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
|
|
3436
|
+
|
|
3437
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2648
3438
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2649
3439
|
__attribute__((convergent)) float WaveActiveSum(float);
|
|
3440
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2650
3441
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2651
3442
|
__attribute__((convergent)) float2 WaveActiveSum(float2);
|
|
3443
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2652
3444
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2653
3445
|
__attribute__((convergent)) float3 WaveActiveSum(float3);
|
|
3446
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2654
3447
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2655
3448
|
__attribute__((convergent)) float4 WaveActiveSum(float4);
|
|
2656
3449
|
|
|
3450
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2657
3451
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2658
3452
|
__attribute__((convergent)) double WaveActiveSum(double);
|
|
3453
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2659
3454
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2660
3455
|
__attribute__((convergent)) double2 WaveActiveSum(double2);
|
|
3456
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2661
3457
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2662
3458
|
__attribute__((convergent)) double3 WaveActiveSum(double3);
|
|
3459
|
+
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
|
2663
3460
|
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
|
|
2664
3461
|
__attribute__((convergent)) double4 WaveActiveSum(double4);
|
|
2665
3462
|
|
|
2666
|
-
|
|
2667
|
-
//
|
|
2668
|
-
|
|
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();
|
|
2669
3468
|
|
|
2670
|
-
/// \
|
|
2671
|
-
|
|
2672
|
-
|
|
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);
|
|
2673
3504
|
|
|
2674
3505
|
#ifdef __HLSL_ENABLE_16_BIT
|
|
2675
3506
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2676
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2677
|
-
|
|
3507
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3508
|
+
__attribute__((convergent)) int16_t WavePrefixProduct(int16_t);
|
|
2678
3509
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2679
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2680
|
-
|
|
3510
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3511
|
+
__attribute__((convergent)) int16_t2 WavePrefixProduct(int16_t2);
|
|
2681
3512
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2682
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2683
|
-
|
|
3513
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3514
|
+
__attribute__((convergent)) int16_t3 WavePrefixProduct(int16_t3);
|
|
2684
3515
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2685
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2686
|
-
|
|
3516
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3517
|
+
__attribute__((convergent)) int16_t4 WavePrefixProduct(int16_t4);
|
|
2687
3518
|
|
|
2688
3519
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2689
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2690
|
-
|
|
3520
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3521
|
+
__attribute__((convergent)) uint16_t WavePrefixProduct(uint16_t);
|
|
2691
3522
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2692
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2693
|
-
|
|
3523
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3524
|
+
__attribute__((convergent)) uint16_t2 WavePrefixProduct(uint16_t2);
|
|
2694
3525
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2695
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2696
|
-
|
|
3526
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3527
|
+
__attribute__((convergent)) uint16_t3 WavePrefixProduct(uint16_t3);
|
|
2697
3528
|
_HLSL_AVAILABILITY(shadermodel, 6.2)
|
|
2698
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2699
|
-
|
|
3529
|
+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_product)
|
|
3530
|
+
__attribute__((convergent)) uint16_t4 WavePrefixProduct(uint16_t4);
|
|
2700
3531
|
#endif
|
|
2701
3532
|
|
|
2702
|
-
|
|
2703
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2704
|
-
int
|
|
2705
|
-
|
|
2706
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2707
|
-
int2
|
|
2708
|
-
|
|
2709
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2710
|
-
int3
|
|
2711
|
-
|
|
2712
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2713
|
-
int4
|
|
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);
|
|
2714
3545
|
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
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);
|
|
2723
3558
|
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
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);
|
|
2732
3571
|
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
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);
|
|
2741
3584
|
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
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);
|
|
2750
3597
|
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
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);
|
|
2759
3610
|
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
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);
|
|
2768
3626
|
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
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);
|
|
2772
3640
|
|
|
2773
|
-
|
|
2774
|
-
|
|
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
|
|
2775
3654
|
|
|
2776
|
-
|
|
2777
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2787
|
-
|
|
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);
|
|
2788
3667
|
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
_HLSL_BUILTIN_ALIAS(
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
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);
|
|
2797
3680
|
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
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);
|
|
2801
3693
|
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
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);
|
|
2806
3706
|
|
|
2807
|
-
|
|
2808
|
-
|
|
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);
|
|
3719
|
+
|
|
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);
|
|
3732
|
+
|
|
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);
|
|
3750
|
+
|
|
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);
|
|
3764
|
+
|
|
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
|
|
3778
|
+
|
|
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);
|
|
3791
|
+
|
|
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);
|
|
3804
|
+
|
|
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);
|
|
3817
|
+
|
|
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);
|
|
3830
|
+
|
|
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);
|
|
3843
|
+
|
|
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);
|
|
3856
|
+
|
|
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);
|
|
2809
3869
|
|
|
2810
|
-
} // namespace hlsl
|
|
2811
|
-
#endif //_HLSL_HLSL_ALIAS_INTRINSICS_H_
|