My initializer stuff
This commit is contained in:
67
clangd/lib/clang/18/include/hlsl/hlsl_basic_types.h
Normal file
67
clangd/lib/clang/18/include/hlsl/hlsl_basic_types.h
Normal file
@@ -0,0 +1,67 @@
|
||||
//===----- hlsl_basic_types.h - HLSL definitions for basic types ----------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _HLSL_HLSL_BASIC_TYPES_H_
|
||||
#define _HLSL_HLSL_BASIC_TYPES_H_
|
||||
|
||||
namespace hlsl {
|
||||
// built-in scalar data types:
|
||||
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
// 16-bit integer.
|
||||
typedef unsigned short uint16_t;
|
||||
typedef short int16_t;
|
||||
#endif
|
||||
|
||||
// unsigned 32-bit integer.
|
||||
typedef unsigned int uint;
|
||||
|
||||
// 64-bit integer.
|
||||
typedef unsigned long uint64_t;
|
||||
typedef long int64_t;
|
||||
|
||||
// built-in vector data types:
|
||||
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
typedef vector<int16_t, 2> int16_t2;
|
||||
typedef vector<int16_t, 3> int16_t3;
|
||||
typedef vector<int16_t, 4> int16_t4;
|
||||
typedef vector<uint16_t, 2> uint16_t2;
|
||||
typedef vector<uint16_t, 3> uint16_t3;
|
||||
typedef vector<uint16_t, 4> uint16_t4;
|
||||
#endif
|
||||
|
||||
typedef vector<int, 2> int2;
|
||||
typedef vector<int, 3> int3;
|
||||
typedef vector<int, 4> int4;
|
||||
typedef vector<uint, 2> uint2;
|
||||
typedef vector<uint, 3> uint3;
|
||||
typedef vector<uint, 4> uint4;
|
||||
typedef vector<int64_t, 2> int64_t2;
|
||||
typedef vector<int64_t, 3> int64_t3;
|
||||
typedef vector<int64_t, 4> int64_t4;
|
||||
typedef vector<uint64_t, 2> uint64_t2;
|
||||
typedef vector<uint64_t, 3> uint64_t3;
|
||||
typedef vector<uint64_t, 4> uint64_t4;
|
||||
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
typedef vector<half, 2> half2;
|
||||
typedef vector<half, 3> half3;
|
||||
typedef vector<half, 4> half4;
|
||||
#endif
|
||||
|
||||
typedef vector<float, 2> float2;
|
||||
typedef vector<float, 3> float3;
|
||||
typedef vector<float, 4> float4;
|
||||
typedef vector<double, 2> double2;
|
||||
typedef vector<double, 3> double3;
|
||||
typedef vector<double, 4> double4;
|
||||
|
||||
} // namespace hlsl
|
||||
|
||||
#endif //_HLSL_HLSL_BASIC_TYPES_H_
|
||||
624
clangd/lib/clang/18/include/hlsl/hlsl_intrinsics.h
Normal file
624
clangd/lib/clang/18/include/hlsl/hlsl_intrinsics.h
Normal file
@@ -0,0 +1,624 @@
|
||||
//===----- hlsl_intrinsics.h - HLSL definitions for intrinsics ----------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _HLSL_HLSL_INTRINSICS_H_
|
||||
#define _HLSL_HLSL_INTRINSICS_H_
|
||||
|
||||
namespace hlsl {
|
||||
|
||||
// Note: Functions in this file are sorted alphabetically, then grouped by base
|
||||
// element type, and the element types are sorted by size, then singed integer,
|
||||
// unsigned integer and floating point. Keeping this ordering consistent will
|
||||
// help keep this file manageable as it grows.
|
||||
|
||||
#define _HLSL_BUILTIN_ALIAS(builtin) \
|
||||
__attribute__((clang_builtin_alias(builtin)))
|
||||
#define _HLSL_AVAILABILITY(environment, version) \
|
||||
__attribute__((availability(environment, introduced = version)))
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// abs builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int16_t abs(int16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int16_t2 abs(int16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int16_t3 abs(int16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int16_t4 abs(int16_t4);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
|
||||
half abs(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
half2 abs(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
half3 abs(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
half4 abs(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int abs(int);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int2 abs(int2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int3 abs(int3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int4 abs(int4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
float abs(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
float2 abs(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
float3 abs(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
float4 abs(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int64_t abs(int64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int64_t2 abs(int64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int64_t3 abs(int64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
int64_t4 abs(int64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
double abs(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
double2 abs(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
double3 abs(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_abs)
|
||||
double4 abs(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ceil builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
half ceil(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
half2 ceil(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
half3 ceil(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
half4 ceil(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
float ceil(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
float2 ceil(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
float3 ceil(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
float4 ceil(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
double ceil(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
double2 ceil(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
double3 ceil(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_ceil)
|
||||
double4 ceil(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// cos builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
half cos(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
half2 cos(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
half3 cos(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
half4 cos(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
float cos(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
float2 cos(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
float3 cos(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
float4 cos(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
double cos(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
double2 cos(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
double3 cos(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_cos)
|
||||
double4 cos(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// floor builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
half floor(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
half2 floor(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
half3 floor(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
half4 floor(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
float floor(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
float2 floor(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
float3 floor(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
float4 floor(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
double floor(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
double2 floor(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
double3 floor(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
|
||||
double4 floor(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// log builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
half log(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
half2 log(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
half3 log(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
half4 log(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
float log(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
float2 log(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
float3 log(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
float4 log(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
double log(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
double2 log(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
double3 log(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log)
|
||||
double4 log(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// log10 builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
half log10(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
half2 log10(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
half3 log10(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
half4 log10(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
float log10(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
float2 log10(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
float3 log10(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
float4 log10(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
double log10(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
double2 log10(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
double3 log10(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log10)
|
||||
double4 log10(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// log2 builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
half log2(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
half2 log2(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
half3 log2(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
half4 log2(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
float log2(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
float2 log2(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
float3 log2(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
float4 log2(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
double log2(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
double2 log2(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
double3 log2(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_log2)
|
||||
double4 log2(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// max builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
half max(half, half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
half2 max(half2, half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
half3 max(half3, half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
half4 max(half4, half4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int16_t max(int16_t, int16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int16_t2 max(int16_t2, int16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int16_t3 max(int16_t3, int16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int16_t4 max(int16_t4, int16_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint16_t max(uint16_t, uint16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint16_t2 max(uint16_t2, uint16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint16_t3 max(uint16_t3, uint16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint16_t4 max(uint16_t4, uint16_t4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int max(int, int);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int2 max(int2, int2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int3 max(int3, int3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int4 max(int4, int4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint max(uint, uint);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint2 max(uint2, uint2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint3 max(uint3, uint3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint4 max(uint4, uint4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int64_t max(int64_t, int64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int64_t2 max(int64_t2, int64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int64_t3 max(int64_t3, int64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
int64_t4 max(int64_t4, int64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint64_t max(uint64_t, uint64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint64_t2 max(uint64_t2, uint64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint64_t3 max(uint64_t3, uint64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
uint64_t4 max(uint64_t4, uint64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
float max(float, float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
float2 max(float2, float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
float3 max(float3, float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
float4 max(float4, float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
double max(double, double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
double2 max(double2, double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
double3 max(double3, double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_max)
|
||||
double4 max(double4, double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// min builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
half min(half, half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
half2 min(half2, half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
half3 min(half3, half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
half4 min(half4, half4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int16_t min(int16_t, int16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int16_t2 min(int16_t2, int16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int16_t3 min(int16_t3, int16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int16_t4 min(int16_t4, int16_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint16_t min(uint16_t, uint16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint16_t2 min(uint16_t2, uint16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint16_t3 min(uint16_t3, uint16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint16_t4 min(uint16_t4, uint16_t4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int min(int, int);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int2 min(int2, int2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int3 min(int3, int3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int4 min(int4, int4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint min(uint, uint);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint2 min(uint2, uint2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint3 min(uint3, uint3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint4 min(uint4, uint4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
float min(float, float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
float2 min(float2, float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
float3 min(float3, float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
float4 min(float4, float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int64_t min(int64_t, int64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int64_t2 min(int64_t2, int64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int64_t3 min(int64_t3, int64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
int64_t4 min(int64_t4, int64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint64_t min(uint64_t, uint64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint64_t2 min(uint64_t2, uint64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint64_t3 min(uint64_t3, uint64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
uint64_t4 min(uint64_t4, uint64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
double min(double, double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
double2 min(double2, double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
double3 min(double3, double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_min)
|
||||
double4 min(double4, double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// pow builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
half pow(half, half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
half2 pow(half2, half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
half3 pow(half3, half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
half4 pow(half4, half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
float pow(float, float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
float2 pow(float2, float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
float3 pow(float3, float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
float4 pow(float4, float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
double pow(double, double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
double2 pow(double2, double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
double3 pow(double3, double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_pow)
|
||||
double4 pow(double4, double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// reversebits builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int16_t reversebits(int16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int16_t2 reversebits(int16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int16_t3 reversebits(int16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int16_t4 reversebits(int16_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint16_t reversebits(uint16_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint16_t2 reversebits(uint16_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint16_t3 reversebits(uint16_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint16_t4 reversebits(uint16_t4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int reversebits(int);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int2 reversebits(int2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int3 reversebits(int3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int4 reversebits(int4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint reversebits(uint);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint2 reversebits(uint2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint3 reversebits(uint3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint4 reversebits(uint4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int64_t reversebits(int64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int64_t2 reversebits(int64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int64_t3 reversebits(int64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
int64_t4 reversebits(int64_t4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint64_t reversebits(uint64_t);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint64_t2 reversebits(uint64_t2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint64_t3 reversebits(uint64_t3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_bitreverse)
|
||||
uint64_t4 reversebits(uint64_t4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// sin builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
half sin(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
half2 sin(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
half3 sin(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
half4 sin(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
float sin(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
float2 sin(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
float3 sin(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
float4 sin(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
double sin(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
double2 sin(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
double3 sin(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_sin)
|
||||
double4 sin(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// sqrt builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_sqrtf16)
|
||||
half sqrt(half In);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_sqrtf)
|
||||
float sqrt(float In);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_sqrt)
|
||||
double sqrt(double In);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// trunc builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifdef __HLSL_ENABLE_16_BIT
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
half trunc(half);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
half2 trunc(half2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
half3 trunc(half3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
half4 trunc(half4);
|
||||
#endif
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
float trunc(float);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
float2 trunc(float2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
float3 trunc(float3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
float4 trunc(float4);
|
||||
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
double trunc(double);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
double2 trunc(double2);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
double3 trunc(double3);
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_trunc)
|
||||
double4 trunc(double4);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Wave* builtins
|
||||
//===----------------------------------------------------------------------===//
|
||||
_HLSL_AVAILABILITY(shadermodel, 6.0)
|
||||
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_count_bits)
|
||||
uint WaveActiveCountBits(bool bBit);
|
||||
|
||||
} // namespace hlsl
|
||||
#endif //_HLSL_HLSL_INTRINSICS_H_
|
||||
Reference in New Issue
Block a user