blob: 01ca25c5f79e6443f3535f3514d7634a02231153 [file] [log] [blame]
// This was autogenerated from Generate_Standard_Library.js.
// This standard library has been processed such that functions which share a name are next to each other,
// and before each group of functions, there's a prefix that has to be in a particular form.
// The WebKit build process exploits this structure to build a map of which function name corresponds to which
// part of this file. Then, when we parse WHLSL programs, we can only parse the pieces of this standard library
// which correspond to functions that are actually used in the user program.
native typedef void;
native typedef bool;
native typedef uint;
native typedef int;
native typedef float;
native typedef atomic_int;
native typedef atomic_uint;
native typedef vector<bool, 2>;
typedef bool2 = vector<bool, 2>;
native typedef vector<bool, 3>;
typedef bool3 = vector<bool, 3>;
native typedef vector<bool, 4>;
typedef bool4 = vector<bool, 4>;
native typedef vector<uint, 2>;
typedef uint2 = vector<uint, 2>;
native typedef vector<uint, 3>;
typedef uint3 = vector<uint, 3>;
native typedef vector<uint, 4>;
typedef uint4 = vector<uint, 4>;
native typedef vector<int, 2>;
typedef int2 = vector<int, 2>;
native typedef vector<int, 3>;
typedef int3 = vector<int, 3>;
native typedef vector<int, 4>;
typedef int4 = vector<int, 4>;
native typedef vector<float, 2>;
typedef float2 = vector<float, 2>;
native typedef vector<float, 3>;
typedef float3 = vector<float, 3>;
native typedef vector<float, 4>;
typedef float4 = vector<float, 4>;
native typedef matrix<float, 2, 2>;
typedef float2x2 = matrix<float, 2, 2>;
native typedef matrix<float, 2, 3>;
typedef float2x3 = matrix<float, 2, 3>;
native typedef matrix<float, 2, 4>;
typedef float2x4 = matrix<float, 2, 4>;
native typedef matrix<float, 3, 2>;
typedef float3x2 = matrix<float, 3, 2>;
native typedef matrix<float, 3, 3>;
typedef float3x3 = matrix<float, 3, 3>;
native typedef matrix<float, 3, 4>;
typedef float3x4 = matrix<float, 3, 4>;
native typedef matrix<float, 4, 2>;
typedef float4x2 = matrix<float, 4, 2>;
native typedef matrix<float, 4, 3>;
typedef float4x3 = matrix<float, 4, 3>;
native typedef matrix<float, 4, 4>;
typedef float4x4 = matrix<float, 4, 4>;
native typedef matrix<bool, 2, 2>;
typedef bool2x2 = matrix<bool, 2, 2>;
native typedef matrix<bool, 2, 3>;
typedef bool2x3 = matrix<bool, 2, 3>;
native typedef matrix<bool, 2, 4>;
typedef bool2x4 = matrix<bool, 2, 4>;
native typedef matrix<bool, 3, 2>;
typedef bool3x2 = matrix<bool, 3, 2>;
native typedef matrix<bool, 3, 3>;
typedef bool3x3 = matrix<bool, 3, 3>;
native typedef matrix<bool, 3, 4>;
typedef bool3x4 = matrix<bool, 3, 4>;
native typedef matrix<bool, 4, 2>;
typedef bool4x2 = matrix<bool, 4, 2>;
native typedef matrix<bool, 4, 3>;
typedef bool4x3 = matrix<bool, 4, 3>;
native typedef matrix<bool, 4, 4>;
typedef bool4x4 = matrix<bool, 4, 4>;
native typedef sampler;
native typedef Texture1D<uint>;
native typedef Texture1D<uint2>;
native typedef Texture1D<uint3>;
native typedef Texture1D<uint4>;
native typedef Texture1D<int>;
native typedef Texture1D<int2>;
native typedef Texture1D<int3>;
native typedef Texture1D<int4>;
native typedef Texture1D<float>;
native typedef Texture1D<float2>;
native typedef Texture1D<float3>;
native typedef Texture1D<float4>;
native typedef Texture1DArray<uint>;
native typedef Texture1DArray<uint2>;
native typedef Texture1DArray<uint3>;
native typedef Texture1DArray<uint4>;
native typedef Texture1DArray<int>;
native typedef Texture1DArray<int2>;
native typedef Texture1DArray<int3>;
native typedef Texture1DArray<int4>;
native typedef Texture1DArray<float>;
native typedef Texture1DArray<float2>;
native typedef Texture1DArray<float3>;
native typedef Texture1DArray<float4>;
native typedef Texture2D<uint>;
native typedef Texture2D<uint2>;
native typedef Texture2D<uint3>;
native typedef Texture2D<uint4>;
native typedef Texture2D<int>;
native typedef Texture2D<int2>;
native typedef Texture2D<int3>;
native typedef Texture2D<int4>;
native typedef Texture2D<float>;
native typedef Texture2D<float2>;
native typedef Texture2D<float3>;
native typedef Texture2D<float4>;
native typedef Texture2DArray<uint>;
native typedef Texture2DArray<uint2>;
native typedef Texture2DArray<uint3>;
native typedef Texture2DArray<uint4>;
native typedef Texture2DArray<int>;
native typedef Texture2DArray<int2>;
native typedef Texture2DArray<int3>;
native typedef Texture2DArray<int4>;
native typedef Texture2DArray<float>;
native typedef Texture2DArray<float2>;
native typedef Texture2DArray<float3>;
native typedef Texture2DArray<float4>;
native typedef Texture3D<uint>;
native typedef Texture3D<uint2>;
native typedef Texture3D<uint3>;
native typedef Texture3D<uint4>;
native typedef Texture3D<int>;
native typedef Texture3D<int2>;
native typedef Texture3D<int3>;
native typedef Texture3D<int4>;
native typedef Texture3D<float>;
native typedef Texture3D<float2>;
native typedef Texture3D<float3>;
native typedef Texture3D<float4>;
native typedef TextureCube<uint>;
native typedef TextureCube<uint2>;
native typedef TextureCube<uint3>;
native typedef TextureCube<uint4>;
native typedef TextureCube<int>;
native typedef TextureCube<int2>;
native typedef TextureCube<int3>;
native typedef TextureCube<int4>;
native typedef TextureCube<float>;
native typedef TextureCube<float2>;
native typedef TextureCube<float3>;
native typedef TextureCube<float4>;
native typedef TextureDepth2D<float>;
native typedef TextureDepth2DArray<float>;
native typedef TextureDepthCube<float>;
/* Functions named reversebits */
uint reversebits(uint x) {
return uint(((x & uint(1 << 0)) << 31) |
((x & uint(1 << 1)) << 29) |
((x & uint(1 << 2)) << 27) |
((x & uint(1 << 3)) << 25) |
((x & uint(1 << 4)) << 23) |
((x & uint(1 << 5)) << 21) |
((x & uint(1 << 6)) << 19) |
((x & uint(1 << 7)) << 17) |
((x & uint(1 << 8)) << 15) |
((x & uint(1 << 9)) << 13) |
((x & uint(1 << 10)) << 11) |
((x & uint(1 << 11)) << 9) |
((x & uint(1 << 12)) << 7) |
((x & uint(1 << 13)) << 5) |
((x & uint(1 << 14)) << 3) |
((x & uint(1 << 15)) << 1) |
((x & uint(1 << 16)) >> 1) |
((x & uint(1 << 17)) >> 3) |
((x & uint(1 << 18)) >> 5) |
((x & uint(1 << 19)) >> 7) |
((x & uint(1 << 20)) >> 9) |
((x & uint(1 << 21)) >> 11) |
((x & uint(1 << 22)) >> 13) |
((x & uint(1 << 23)) >> 15) |
((x & uint(1 << 24)) >> 17) |
((x & uint(1 << 25)) >> 19) |
((x & uint(1 << 26)) >> 21) |
((x & uint(1 << 27)) >> 23) |
((x & uint(1 << 28)) >> 25) |
((x & uint(1 << 29)) >> 27) |
((x & uint(1 << 30)) >> 29) |
((x & uint(1 << 31)) >> 31));
}
uint2 reversebits(uint2 x) {
uint2 result;
result[0] = reversebits(x[0]);
result[1] = reversebits(x[1]);
return result;
}
uint3 reversebits(uint3 x) {
uint3 result;
result[0] = reversebits(x[0]);
result[1] = reversebits(x[1]);
result[2] = reversebits(x[2]);
return result;
}
uint4 reversebits(uint4 x) {
uint4 result;
result[0] = reversebits(x[0]);
result[1] = reversebits(x[1]);
result[2] = reversebits(x[2]);
result[3] = reversebits(x[3]);
return result;
}
/* Functions named operator.yww */
bool3 operator.yww(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
return result;
}
uint3 operator.yww(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
return result;
}
int3 operator.yww(int4 v) {
int3 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
return result;
}
float3 operator.yww(float4 v) {
float3 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
return result;
}
/* Functions named operator.yzzy */
bool4 operator.yzzy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.yzzy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yzzy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yzzy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yzzy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yzzy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yzzy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yzzy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.zyxy */
bool4 operator.zyxy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.zyxy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zyxy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zyxy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zyxy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zyxy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zyxy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zyxy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.wxzy */
bool4 operator.wxzy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.wxzy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.wxzy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.wxzy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.yxxz */
bool4 operator.yxxz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.yxxz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yxxz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yxxz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yxxz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yxxz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yxxz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yxxz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.zxwy= */
bool4 operator.zxwy=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
uint4 operator.zxwy=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
int4 operator.zxwy=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
float4 operator.zxwy=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
/* Functions named operator.xwww */
bool4 operator.xwww(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.xwww(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.xwww(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.xwww(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.zwyz */
bool4 operator.zwyz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zwyz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zwyz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zwyz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named isordered */
bool isordered(float x, float y) {
return (x == x) && (y == y);
}
bool2 isordered(float2 x, float2 y) {
bool2 result;
result[0] = isordered(x[0], y[0]);
result[1] = isordered(x[1], y[1]);
return result;
}
bool3 isordered(float3 x, float3 y) {
bool3 result;
result[0] = isordered(x[0], y[0]);
result[1] = isordered(x[1], y[1]);
result[2] = isordered(x[2], y[2]);
return result;
}
bool4 isordered(float4 x, float4 y) {
bool4 result;
result[0] = isordered(x[0], y[0]);
result[1] = isordered(x[1], y[1]);
result[2] = isordered(x[2], y[2]);
result[3] = isordered(x[3], y[3]);
return result;
}
/* Functions named operator.x */
native bool operator.x(bool2);
native bool operator.x(bool3);
native bool operator.x(bool4);
native uint operator.x(uint2);
native uint operator.x(uint3);
native uint operator.x(uint4);
native int operator.x(int2);
native int operator.x(int3);
native int operator.x(int4);
native float operator.x(float2);
native float operator.x(float3);
native float operator.x(float4);
/* Functions named operator.xywx */
bool4 operator.xywx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.xywx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.xywx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.xywx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.wyxy */
bool4 operator.wyxy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.wyxy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.wyxy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.wyxy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named transpose */
float transpose(float x) {
return x;
}
float2x2 transpose(float2x2 x) {
float2x2 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
return result;
}
float2x3 transpose(float3x2 x) {
float2x3 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
return result;
}
float2x4 transpose(float4x2 x) {
float2x4 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[0][3] = x[3][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
result[1][3] = x[3][1];
return result;
}
float3x2 transpose(float2x3 x) {
float3x2 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
return result;
}
float3x3 transpose(float3x3 x) {
float3x3 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
result[2][2] = x[2][2];
return result;
}
float3x4 transpose(float4x3 x) {
float3x4 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[0][3] = x[3][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
result[1][3] = x[3][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
result[2][2] = x[2][2];
result[2][3] = x[3][2];
return result;
}
float4x2 transpose(float2x4 x) {
float4x2 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
result[3][0] = x[0][3];
result[3][1] = x[1][3];
return result;
}
float4x3 transpose(float3x4 x) {
float4x3 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
result[2][2] = x[2][2];
result[3][0] = x[0][3];
result[3][1] = x[1][3];
result[3][2] = x[2][3];
return result;
}
float4x4 transpose(float4x4 x) {
float4x4 result;
result[0][0] = x[0][0];
result[0][1] = x[1][0];
result[0][2] = x[2][0];
result[0][3] = x[3][0];
result[1][0] = x[0][1];
result[1][1] = x[1][1];
result[1][2] = x[2][1];
result[1][3] = x[3][1];
result[2][0] = x[0][2];
result[2][1] = x[1][2];
result[2][2] = x[2][2];
result[2][3] = x[3][2];
result[3][0] = x[0][3];
result[3][1] = x[1][3];
result[3][2] = x[2][3];
result[3][3] = x[3][3];
return result;
}
/* Functions named operator.wyxz= */
bool4 operator.wyxz=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
uint4 operator.wyxz=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
int4 operator.wyxz=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
float4 operator.wyxz=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.yyxz */
bool4 operator.yyxz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.yyxz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yyxz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yyxz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yyxz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yyxz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yyxz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yyxz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.zx */
bool2 operator.zx(bool3 v) {
bool2 result;
result.x = v.z;
result.y = v.x;
return result;
}
bool2 operator.zx(bool4 v) {
bool2 result;
result.x = v.z;
result.y = v.x;
return result;
}
uint2 operator.zx(uint3 v) {
uint2 result;
result.x = v.z;
result.y = v.x;
return result;
}
uint2 operator.zx(uint4 v) {
uint2 result;
result.x = v.z;
result.y = v.x;
return result;
}
int2 operator.zx(int3 v) {
int2 result;
result.x = v.z;
result.y = v.x;
return result;
}
int2 operator.zx(int4 v) {
int2 result;
result.x = v.z;
result.y = v.x;
return result;
}
float2 operator.zx(float3 v) {
float2 result;
result.x = v.z;
result.y = v.x;
return result;
}
float2 operator.zx(float4 v) {
float2 result;
result.x = v.z;
result.y = v.x;
return result;
}
/* Functions named InterlockedAdd */
native void InterlockedAdd(device atomic_uint*, uint, thread uint*);
native void InterlockedAdd(device atomic_int*, int, thread int*);
native void InterlockedAdd(device atomic_uint*, uint, device uint*);
native void InterlockedAdd(device atomic_int*, int, device int*);
native void InterlockedAdd(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedAdd(device atomic_int*, int, threadgroup int*);
native void InterlockedAdd(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedAdd(threadgroup atomic_int*, int, thread int*);
native void InterlockedAdd(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedAdd(threadgroup atomic_int*, int, device int*);
native void InterlockedAdd(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedAdd(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named operator.xzyx */
bool4 operator.xzyx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.xzyx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xzyx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xzyx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xzyx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xzyx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xzyx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xzyx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.wwzw */
bool4 operator.wwzw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.wwzw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.wwzw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.wwzw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.ywwy */
bool4 operator.ywwy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.ywwy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.ywwy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.ywwy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.xzwx */
bool4 operator.xzwx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.xzwx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.xzwx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.xzwx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named saturate */
float saturate(float x) {
return clamp(x, 0, 1);
}
float2 saturate(float2 x) {
float2 result;
result[0] = saturate(x[0]);
result[1] = saturate(x[1]);
return result;
}
float3 saturate(float3 x) {
float3 result;
result[0] = saturate(x[0]);
result[1] = saturate(x[1]);
result[2] = saturate(x[2]);
return result;
}
float4 saturate(float4 x) {
float4 result;
result[0] = saturate(x[0]);
result[1] = saturate(x[1]);
result[2] = saturate(x[2]);
result[3] = saturate(x[3]);
return result;
}
float2x2 saturate(float2x2 x) {
float2x2 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
return result;
}
float2x3 saturate(float2x3 x) {
float2x3 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
return result;
}
float2x4 saturate(float2x4 x) {
float2x4 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[0][3] = saturate(x[0][3]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
result[1][3] = saturate(x[1][3]);
return result;
}
float3x2 saturate(float3x2 x) {
float3x2 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
return result;
}
float3x3 saturate(float3x3 x) {
float3x3 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
result[2][2] = saturate(x[2][2]);
return result;
}
float3x4 saturate(float3x4 x) {
float3x4 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[0][3] = saturate(x[0][3]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
result[1][3] = saturate(x[1][3]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
result[2][2] = saturate(x[2][2]);
result[2][3] = saturate(x[2][3]);
return result;
}
float4x2 saturate(float4x2 x) {
float4x2 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
result[3][0] = saturate(x[3][0]);
result[3][1] = saturate(x[3][1]);
return result;
}
float4x3 saturate(float4x3 x) {
float4x3 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
result[2][2] = saturate(x[2][2]);
result[3][0] = saturate(x[3][0]);
result[3][1] = saturate(x[3][1]);
result[3][2] = saturate(x[3][2]);
return result;
}
float4x4 saturate(float4x4 x) {
float4x4 result;
result[0][0] = saturate(x[0][0]);
result[0][1] = saturate(x[0][1]);
result[0][2] = saturate(x[0][2]);
result[0][3] = saturate(x[0][3]);
result[1][0] = saturate(x[1][0]);
result[1][1] = saturate(x[1][1]);
result[1][2] = saturate(x[1][2]);
result[1][3] = saturate(x[1][3]);
result[2][0] = saturate(x[2][0]);
result[2][1] = saturate(x[2][1]);
result[2][2] = saturate(x[2][2]);
result[2][3] = saturate(x[2][3]);
result[3][0] = saturate(x[3][0]);
result[3][1] = saturate(x[3][1]);
result[3][2] = saturate(x[3][2]);
result[3][3] = saturate(x[3][3]);
return result;
}
/* Functions named mad */
float mad(float x, float y, float z) {
return x * y + z;
}
float2 mad(float2 x, float2 y, float2 z) {
float2 result;
result[0] = mad(x[0], y[0], z[0]);
result[1] = mad(x[1], y[1], z[1]);
return result;
}
float3 mad(float3 x, float3 y, float3 z) {
float3 result;
result[0] = mad(x[0], y[0], z[0]);
result[1] = mad(x[1], y[1], z[1]);
result[2] = mad(x[2], y[2], z[2]);
return result;
}
float4 mad(float4 x, float4 y, float4 z) {
float4 result;
result[0] = mad(x[0], y[0], z[0]);
result[1] = mad(x[1], y[1], z[1]);
result[2] = mad(x[2], y[2], z[2]);
result[3] = mad(x[3], y[3], z[3]);
return result;
}
float2x2 mad(float2x2 x, float2x2 y, float2x2 z) {
float2x2 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
return result;
}
float2x3 mad(float2x3 x, float2x3 y, float2x3 z) {
float2x3 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
return result;
}
float2x4 mad(float2x4 x, float2x4 y, float2x4 z) {
float2x4 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[0][3] = mad(x[0][3], y[0][3], z[0][3]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
result[1][3] = mad(x[1][3], y[1][3], z[1][3]);
return result;
}
float3x2 mad(float3x2 x, float3x2 y, float3x2 z) {
float3x2 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
return result;
}
float3x3 mad(float3x3 x, float3x3 y, float3x3 z) {
float3x3 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
result[2][2] = mad(x[2][2], y[2][2], z[2][2]);
return result;
}
float3x4 mad(float3x4 x, float3x4 y, float3x4 z) {
float3x4 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[0][3] = mad(x[0][3], y[0][3], z[0][3]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
result[1][3] = mad(x[1][3], y[1][3], z[1][3]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
result[2][2] = mad(x[2][2], y[2][2], z[2][2]);
result[2][3] = mad(x[2][3], y[2][3], z[2][3]);
return result;
}
float4x2 mad(float4x2 x, float4x2 y, float4x2 z) {
float4x2 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
result[3][0] = mad(x[3][0], y[3][0], z[3][0]);
result[3][1] = mad(x[3][1], y[3][1], z[3][1]);
return result;
}
float4x3 mad(float4x3 x, float4x3 y, float4x3 z) {
float4x3 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
result[2][2] = mad(x[2][2], y[2][2], z[2][2]);
result[3][0] = mad(x[3][0], y[3][0], z[3][0]);
result[3][1] = mad(x[3][1], y[3][1], z[3][1]);
result[3][2] = mad(x[3][2], y[3][2], z[3][2]);
return result;
}
float4x4 mad(float4x4 x, float4x4 y, float4x4 z) {
float4x4 result;
result[0][0] = mad(x[0][0], y[0][0], z[0][0]);
result[0][1] = mad(x[0][1], y[0][1], z[0][1]);
result[0][2] = mad(x[0][2], y[0][2], z[0][2]);
result[0][3] = mad(x[0][3], y[0][3], z[0][3]);
result[1][0] = mad(x[1][0], y[1][0], z[1][0]);
result[1][1] = mad(x[1][1], y[1][1], z[1][1]);
result[1][2] = mad(x[1][2], y[1][2], z[1][2]);
result[1][3] = mad(x[1][3], y[1][3], z[1][3]);
result[2][0] = mad(x[2][0], y[2][0], z[2][0]);
result[2][1] = mad(x[2][1], y[2][1], z[2][1]);
result[2][2] = mad(x[2][2], y[2][2], z[2][2]);
result[2][3] = mad(x[2][3], y[2][3], z[2][3]);
result[3][0] = mad(x[3][0], y[3][0], z[3][0]);
result[3][1] = mad(x[3][1], y[3][1], z[3][1]);
result[3][2] = mad(x[3][2], y[3][2], z[3][2]);
result[3][3] = mad(x[3][3], y[3][3], z[3][3]);
return result;
}
/* Functions named modf */
float modf(float x, thread float* ip) {
uint result = uint(x);
if (ip != null)
*ip = x - float(result);
return float(result);
}
float2 modf(float2 x, thread float2* y) {
float2 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
return result;
}
float3 modf(float3 x, thread float3* y) {
float3 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
return result;
}
float4 modf(float4 x, thread float4* y) {
float4 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
result[3] = modf(x[3], &buffer);
if (y != null)
(*y)[3] = buffer;
return result;
}
float2x2 modf(float2x2 x, thread float2x2* y) {
float2x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
return result;
}
float2x3 modf(float2x3 x, thread float2x3* y) {
float2x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
return result;
}
float2x4 modf(float2x4 x, thread float2x4* y) {
float2x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
return result;
}
float3x2 modf(float3x2 x, thread float3x2* y) {
float3x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
return result;
}
float3x3 modf(float3x3 x, thread float3x3* y) {
float3x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
return result;
}
float3x4 modf(float3x4 x, thread float3x4* y) {
float3x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
return result;
}
float4x2 modf(float4x2 x, thread float4x2* y) {
float4x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
return result;
}
float4x3 modf(float4x3 x, thread float4x3* y) {
float4x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
return result;
}
float4x4 modf(float4x4 x, thread float4x4* y) {
float4x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
result[3][3] = modf(x[3][3], &buffer);
if (y != null)
(*y)[3][3] = buffer;
return result;
}
float modf(float x, device float* ip) {
uint result = uint(x);
if (ip != null)
*ip = x - float(result);
return float(result);
}
float2 modf(float2 x, device float2* y) {
float2 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
return result;
}
float3 modf(float3 x, device float3* y) {
float3 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
return result;
}
float4 modf(float4 x, device float4* y) {
float4 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
result[3] = modf(x[3], &buffer);
if (y != null)
(*y)[3] = buffer;
return result;
}
float2x2 modf(float2x2 x, device float2x2* y) {
float2x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
return result;
}
float2x3 modf(float2x3 x, device float2x3* y) {
float2x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
return result;
}
float2x4 modf(float2x4 x, device float2x4* y) {
float2x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
return result;
}
float3x2 modf(float3x2 x, device float3x2* y) {
float3x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
return result;
}
float3x3 modf(float3x3 x, device float3x3* y) {
float3x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
return result;
}
float3x4 modf(float3x4 x, device float3x4* y) {
float3x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
return result;
}
float4x2 modf(float4x2 x, device float4x2* y) {
float4x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
return result;
}
float4x3 modf(float4x3 x, device float4x3* y) {
float4x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
return result;
}
float4x4 modf(float4x4 x, device float4x4* y) {
float4x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
result[3][3] = modf(x[3][3], &buffer);
if (y != null)
(*y)[3][3] = buffer;
return result;
}
float modf(float x, threadgroup float* ip) {
uint result = uint(x);
if (ip != null)
*ip = x - float(result);
return float(result);
}
float2 modf(float2 x, threadgroup float2* y) {
float2 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
return result;
}
float3 modf(float3 x, threadgroup float3* y) {
float3 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
return result;
}
float4 modf(float4 x, threadgroup float4* y) {
float4 result;
float buffer;
result[0] = modf(x[0], &buffer);
if (y != null)
(*y)[0] = buffer;
result[1] = modf(x[1], &buffer);
if (y != null)
(*y)[1] = buffer;
result[2] = modf(x[2], &buffer);
if (y != null)
(*y)[2] = buffer;
result[3] = modf(x[3], &buffer);
if (y != null)
(*y)[3] = buffer;
return result;
}
float2x2 modf(float2x2 x, threadgroup float2x2* y) {
float2x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
return result;
}
float2x3 modf(float2x3 x, threadgroup float2x3* y) {
float2x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
return result;
}
float2x4 modf(float2x4 x, threadgroup float2x4* y) {
float2x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
return result;
}
float3x2 modf(float3x2 x, threadgroup float3x2* y) {
float3x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
return result;
}
float3x3 modf(float3x3 x, threadgroup float3x3* y) {
float3x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
return result;
}
float3x4 modf(float3x4 x, threadgroup float3x4* y) {
float3x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
return result;
}
float4x2 modf(float4x2 x, threadgroup float4x2* y) {
float4x2 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
return result;
}
float4x3 modf(float4x3 x, threadgroup float4x3* y) {
float4x3 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
return result;
}
float4x4 modf(float4x4 x, threadgroup float4x4* y) {
float4x4 result;
float buffer;
result[0][0] = modf(x[0][0], &buffer);
if (y != null)
(*y)[0][0] = buffer;
result[0][1] = modf(x[0][1], &buffer);
if (y != null)
(*y)[0][1] = buffer;
result[0][2] = modf(x[0][2], &buffer);
if (y != null)
(*y)[0][2] = buffer;
result[0][3] = modf(x[0][3], &buffer);
if (y != null)
(*y)[0][3] = buffer;
result[1][0] = modf(x[1][0], &buffer);
if (y != null)
(*y)[1][0] = buffer;
result[1][1] = modf(x[1][1], &buffer);
if (y != null)
(*y)[1][1] = buffer;
result[1][2] = modf(x[1][2], &buffer);
if (y != null)
(*y)[1][2] = buffer;
result[1][3] = modf(x[1][3], &buffer);
if (y != null)
(*y)[1][3] = buffer;
result[2][0] = modf(x[2][0], &buffer);
if (y != null)
(*y)[2][0] = buffer;
result[2][1] = modf(x[2][1], &buffer);
if (y != null)
(*y)[2][1] = buffer;
result[2][2] = modf(x[2][2], &buffer);
if (y != null)
(*y)[2][2] = buffer;
result[2][3] = modf(x[2][3], &buffer);
if (y != null)
(*y)[2][3] = buffer;
result[3][0] = modf(x[3][0], &buffer);
if (y != null)
(*y)[3][0] = buffer;
result[3][1] = modf(x[3][1], &buffer);
if (y != null)
(*y)[3][1] = buffer;
result[3][2] = modf(x[3][2], &buffer);
if (y != null)
(*y)[3][2] = buffer;
result[3][3] = modf(x[3][3], &buffer);
if (y != null)
(*y)[3][3] = buffer;
return result;
}
/* Functions named operator.wy= */
bool4 operator.wy=(bool4 v, bool2 c) {
bool4 result = v;
result.w = c.x;
result.y = c.y;
return result;
}
uint4 operator.wy=(uint4 v, uint2 c) {
uint4 result = v;
result.w = c.x;
result.y = c.y;
return result;
}
int4 operator.wy=(int4 v, int2 c) {
int4 result = v;
result.w = c.x;
result.y = c.y;
return result;
}
float4 operator.wy=(float4 v, float2 c) {
float4 result = v;
result.w = c.x;
result.y = c.y;
return result;
}
/* Functions named operator[]= */
native bool2 operator[]=(bool2, uint, bool);
native bool3 operator[]=(bool3, uint, bool);
native bool4 operator[]=(bool4, uint, bool);
native uint2 operator[]=(uint2, uint, uint);
native uint3 operator[]=(uint3, uint, uint);
native uint4 operator[]=(uint4, uint, uint);
native int2 operator[]=(int2, uint, int);
native int3 operator[]=(int3, uint, int);
native int4 operator[]=(int4, uint, int);
native float2 operator[]=(float2, uint, float);
native float3 operator[]=(float3, uint, float);
native float4 operator[]=(float4, uint, float);
native float2x2 operator[]=(float2x2, uint, float2);
native float2x3 operator[]=(float2x3, uint, float3);
native float2x4 operator[]=(float2x4, uint, float4);
native float3x2 operator[]=(float3x2, uint, float2);
native float3x3 operator[]=(float3x3, uint, float3);
native float3x4 operator[]=(float3x4, uint, float4);
native float4x2 operator[]=(float4x2, uint, float2);
native float4x3 operator[]=(float4x3, uint, float3);
native float4x4 operator[]=(float4x4, uint, float4);
native bool2x2 operator[]=(bool2x2, uint, bool2);
native bool2x3 operator[]=(bool2x3, uint, bool3);
native bool2x4 operator[]=(bool2x4, uint, bool4);
native bool3x2 operator[]=(bool3x2, uint, bool2);
native bool3x3 operator[]=(bool3x3, uint, bool3);
native bool3x4 operator[]=(bool3x4, uint, bool4);
native bool4x2 operator[]=(bool4x2, uint, bool2);
native bool4x3 operator[]=(bool4x3, uint, bool3);
native bool4x4 operator[]=(bool4x4, uint, bool4);
/* Functions named operator.yxyx */
bool4 operator.yxyx(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.yxyx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.yxyx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yxyx(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yxyx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yxyx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yxyx(int2 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yxyx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yxyx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yxyx(float2 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yxyx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yxyx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.zwxy */
bool4 operator.zwxy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zwxy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zwxy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zwxy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.wyyw */
bool4 operator.wyyw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.wyyw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.wyyw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.wyyw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.xxxw */
bool4 operator.xxxw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.xxxw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.xxxw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.xxxw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.ywy */
bool3 operator.ywy(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
return result;
}
uint3 operator.ywy(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
return result;
}
int3 operator.ywy(int4 v) {
int3 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
return result;
}
float3 operator.ywy(float4 v) {
float3 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
return result;
}
/* Functions named operator.xyzw= */
bool4 operator.xyzw=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
uint4 operator.xyzw=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
int4 operator.xyzw=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
float4 operator.xyzw=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.xzww */
bool4 operator.xzww(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.xzww(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.xzww(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.xzww(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.xzwy */
bool4 operator.xzwy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.xzwy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.xzwy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.xzwy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wwwz */
bool4 operator.wwwz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.wwwz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.wwwz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.wwwz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.zxzx */
bool4 operator.zxzx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.zxzx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zxzx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zxzx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zxzx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zxzx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zxzx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zxzx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.zyx= */
bool3 operator.zyx=(bool3 v, bool3 c) {
bool3 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
bool4 operator.zyx=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
uint3 operator.zyx=(uint3 v, uint3 c) {
uint3 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
uint4 operator.zyx=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
int3 operator.zyx=(int3 v, int3 c) {
int3 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
int4 operator.zyx=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
float3 operator.zyx=(float3 v, float3 c) {
float3 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
float4 operator.zyx=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
/* Functions named InterlockedMin */
native void InterlockedMin(device atomic_uint*, uint, thread uint*);
native void InterlockedMin(device atomic_int*, int, thread int*);
native void InterlockedMin(device atomic_uint*, uint, device uint*);
native void InterlockedMin(device atomic_int*, int, device int*);
native void InterlockedMin(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedMin(device atomic_int*, int, threadgroup int*);
native void InterlockedMin(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedMin(threadgroup atomic_int*, int, thread int*);
native void InterlockedMin(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedMin(threadgroup atomic_int*, int, device int*);
native void InterlockedMin(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedMin(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named length */
native float length(float);
native float length(float2);
native float length(float3);
native float length(float4);
/* Functions named operator.xwzy */
bool4 operator.xwzy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xwzy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xwzy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xwzy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator-- */
uint operator--(uint value) {
return value - 1;
}
int operator--(int value) {
return value - 1;
}
float operator--(float value) {
return value - 1;
}
/* Functions named operator<< */
native int operator<<(int, uint);
native uint operator<<(uint, uint);
/* Functions named operator.wwyz */
bool4 operator.wwyz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.wwyz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.wwyz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.wwyz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xxy */
bool3 operator.xxy(bool2 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
bool3 operator.xxy(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
bool3 operator.xxy(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.xxy(uint2 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.xxy(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.xxy(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.xxy(int2 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.xxy(int3 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.xxy(int4 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.xxy(float2 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.xxy(float3 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.xxy(float4 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
return result;
}
/* Functions named operator.xww */
bool3 operator.xww(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
return result;
}
uint3 operator.xww(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
return result;
}
int3 operator.xww(int4 v) {
int3 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
return result;
}
float3 operator.xww(float4 v) {
float3 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
return result;
}
/* Functions named operator.zyxw= */
bool4 operator.zyxw=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
uint4 operator.zyxw=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
int4 operator.zyxw=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
float4 operator.zyxw=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.y = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.ywwz */
bool4 operator.ywwz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.ywwz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.ywwz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.ywwz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.wyzz */
bool4 operator.wyzz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.wyzz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.wyzz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.wyzz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named exp2 */
float exp2(float x) {
return exp(x * log(float(2)));
}
float2 exp2(float2 x) {
float2 result;
result[0] = exp2(x[0]);
result[1] = exp2(x[1]);
return result;
}
float3 exp2(float3 x) {
float3 result;
result[0] = exp2(x[0]);
result[1] = exp2(x[1]);
result[2] = exp2(x[2]);
return result;
}
float4 exp2(float4 x) {
float4 result;
result[0] = exp2(x[0]);
result[1] = exp2(x[1]);
result[2] = exp2(x[2]);
result[3] = exp2(x[3]);
return result;
}
float2x2 exp2(float2x2 x) {
float2x2 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
return result;
}
float2x3 exp2(float2x3 x) {
float2x3 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
return result;
}
float2x4 exp2(float2x4 x) {
float2x4 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[0][3] = exp2(x[0][3]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
result[1][3] = exp2(x[1][3]);
return result;
}
float3x2 exp2(float3x2 x) {
float3x2 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
return result;
}
float3x3 exp2(float3x3 x) {
float3x3 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
result[2][2] = exp2(x[2][2]);
return result;
}
float3x4 exp2(float3x4 x) {
float3x4 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[0][3] = exp2(x[0][3]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
result[1][3] = exp2(x[1][3]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
result[2][2] = exp2(x[2][2]);
result[2][3] = exp2(x[2][3]);
return result;
}
float4x2 exp2(float4x2 x) {
float4x2 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
result[3][0] = exp2(x[3][0]);
result[3][1] = exp2(x[3][1]);
return result;
}
float4x3 exp2(float4x3 x) {
float4x3 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
result[2][2] = exp2(x[2][2]);
result[3][0] = exp2(x[3][0]);
result[3][1] = exp2(x[3][1]);
result[3][2] = exp2(x[3][2]);
return result;
}
float4x4 exp2(float4x4 x) {
float4x4 result;
result[0][0] = exp2(x[0][0]);
result[0][1] = exp2(x[0][1]);
result[0][2] = exp2(x[0][2]);
result[0][3] = exp2(x[0][3]);
result[1][0] = exp2(x[1][0]);
result[1][1] = exp2(x[1][1]);
result[1][2] = exp2(x[1][2]);
result[1][3] = exp2(x[1][3]);
result[2][0] = exp2(x[2][0]);
result[2][1] = exp2(x[2][1]);
result[2][2] = exp2(x[2][2]);
result[2][3] = exp2(x[2][3]);
result[3][0] = exp2(x[3][0]);
result[3][1] = exp2(x[3][1]);
result[3][2] = exp2(x[3][2]);
result[3][3] = exp2(x[3][3]);
return result;
}
/* Functions named operator.zyx */
bool3 operator.zyx(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
bool3 operator.zyx(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.zyx(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.zyx(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.zyx(int3 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.zyx(int4 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.zyx(float3 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.zyx(float4 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
return result;
}
/* Functions named operator.wwww */
bool4 operator.wwww(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.wwww(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.wwww(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.wwww(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.wyzw */
bool4 operator.wyzw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.wyzw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.wyzw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.wyzw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.yzzw */
bool4 operator.yzzw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.yzzw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.yzzw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.yzzw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.wwy */
bool3 operator.wwy(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
return result;
}
uint3 operator.wwy(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
return result;
}
int3 operator.wwy(int4 v) {
int3 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
return result;
}
float3 operator.wwy(float4 v) {
float3 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
return result;
}
/* Functions named operator.wz */
bool2 operator.wz(bool4 v) {
bool2 result;
result.x = v.w;
result.y = v.z;
return result;
}
uint2 operator.wz(uint4 v) {
uint2 result;
result.x = v.w;
result.y = v.z;
return result;
}
int2 operator.wz(int4 v) {
int2 result;
result.x = v.w;
result.y = v.z;
return result;
}
float2 operator.wz(float4 v) {
float2 result;
result.x = v.w;
result.y = v.z;
return result;
}
/* Functions named operator.zx= */
bool3 operator.zx=(bool3 v, bool2 c) {
bool3 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
bool4 operator.zx=(bool4 v, bool2 c) {
bool4 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
uint3 operator.zx=(uint3 v, uint2 c) {
uint3 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
uint4 operator.zx=(uint4 v, uint2 c) {
uint4 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
int3 operator.zx=(int3 v, int2 c) {
int3 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
int4 operator.zx=(int4 v, int2 c) {
int4 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
float3 operator.zx=(float3 v, float2 c) {
float3 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
float4 operator.zx=(float4 v, float2 c) {
float4 result = v;
result.z = c.x;
result.x = c.y;
return result;
}
/* Functions named operator.yxyy */
bool4 operator.yxyy(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.yxyy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.yxyy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yxyy(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yxyy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yxyy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yxyy(int2 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yxyy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yxyy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yxyy(float2 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yxyy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yxyy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.wyyx */
bool4 operator.wyyx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.wyyx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.wyyx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.wyyx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.y */
native bool operator.y(bool2);
native bool operator.y(bool3);
native bool operator.y(bool4);
native uint operator.y(uint2);
native uint operator.y(uint3);
native uint operator.y(uint4);
native int operator.y(int2);
native int operator.y(int3);
native int operator.y(int4);
native float operator.y(float2);
native float operator.y(float3);
native float operator.y(float4);
/* Functions named operator.wwzx */
bool4 operator.wwzx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.wwzx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.wwzx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.wwzx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.yxzz */
bool4 operator.yxzz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.yxzz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yxzz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yxzz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yxzz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yxzz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yxzz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yxzz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.wxzw */
bool4 operator.wxzw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.wxzw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.wxzw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.wxzw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.zxyx */
bool4 operator.zxyx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.zxyx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zxyx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zxyx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zxyx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zxyx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zxyx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zxyx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.wxyz= */
bool4 operator.wxyz=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
uint4 operator.wxyz=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
int4 operator.wxyz=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
float4 operator.wxyz=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.yyxy */
bool4 operator.yyxy(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.yyxy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.yyxy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yyxy(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yyxy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yyxy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yyxy(int2 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yyxy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yyxy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yyxy(float2 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yyxy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yyxy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.xz */
bool2 operator.xz(bool3 v) {
bool2 result;
result.x = v.x;
result.y = v.z;
return result;
}
bool2 operator.xz(bool4 v) {
bool2 result;
result.x = v.x;
result.y = v.z;
return result;
}
uint2 operator.xz(uint3 v) {
uint2 result;
result.x = v.x;
result.y = v.z;
return result;
}
uint2 operator.xz(uint4 v) {
uint2 result;
result.x = v.x;
result.y = v.z;
return result;
}
int2 operator.xz(int3 v) {
int2 result;
result.x = v.x;
result.y = v.z;
return result;
}
int2 operator.xz(int4 v) {
int2 result;
result.x = v.x;
result.y = v.z;
return result;
}
float2 operator.xz(float3 v) {
float2 result;
result.x = v.x;
result.y = v.z;
return result;
}
float2 operator.xz(float4 v) {
float2 result;
result.x = v.x;
result.y = v.z;
return result;
}
/* Functions named operator.ywyw */
bool4 operator.ywyw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.ywyw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.ywyw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.ywyw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.wzzz */
bool4 operator.wzzz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.wzzz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.wzzz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.wzzz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named isunordered */
bool isunordered(float x, float y) {
return isnan(x) || isnan(y);
}
bool2 isunordered(float2 x, float2 y) {
bool2 result;
result[0] = isunordered(x[0], y[0]);
result[1] = isunordered(x[1], y[1]);
return result;
}
bool3 isunordered(float3 x, float3 y) {
bool3 result;
result[0] = isunordered(x[0], y[0]);
result[1] = isunordered(x[1], y[1]);
result[2] = isunordered(x[2], y[2]);
return result;
}
bool4 isunordered(float4 x, float4 y) {
bool4 result;
result[0] = isunordered(x[0], y[0]);
result[1] = isunordered(x[1], y[1]);
result[2] = isunordered(x[2], y[2]);
result[3] = isunordered(x[3], y[3]);
return result;
}
/* Functions named operator.zwwy */
bool4 operator.zwwy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.zwwy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.zwwy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.zwwy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.zzxz */
bool4 operator.zzxz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.zzxz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zzxz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zzxz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zzxz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zzxz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zzxz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zzxz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named atan */
native float atan(float);
float2 atan(float2 x) {
float2 result;
result[0] = atan(x[0]);
result[1] = atan(x[1]);
return result;
}
float3 atan(float3 x) {
float3 result;
result[0] = atan(x[0]);
result[1] = atan(x[1]);
result[2] = atan(x[2]);
return result;
}
float4 atan(float4 x) {
float4 result;
result[0] = atan(x[0]);
result[1] = atan(x[1]);
result[2] = atan(x[2]);
result[3] = atan(x[3]);
return result;
}
float2x2 atan(float2x2 x) {
float2x2 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
return result;
}
float2x3 atan(float2x3 x) {
float2x3 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
return result;
}
float2x4 atan(float2x4 x) {
float2x4 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[0][3] = atan(x[0][3]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
result[1][3] = atan(x[1][3]);
return result;
}
float3x2 atan(float3x2 x) {
float3x2 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
return result;
}
float3x3 atan(float3x3 x) {
float3x3 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
result[2][2] = atan(x[2][2]);
return result;
}
float3x4 atan(float3x4 x) {
float3x4 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[0][3] = atan(x[0][3]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
result[1][3] = atan(x[1][3]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
result[2][2] = atan(x[2][2]);
result[2][3] = atan(x[2][3]);
return result;
}
float4x2 atan(float4x2 x) {
float4x2 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
result[3][0] = atan(x[3][0]);
result[3][1] = atan(x[3][1]);
return result;
}
float4x3 atan(float4x3 x) {
float4x3 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
result[2][2] = atan(x[2][2]);
result[3][0] = atan(x[3][0]);
result[3][1] = atan(x[3][1]);
result[3][2] = atan(x[3][2]);
return result;
}
float4x4 atan(float4x4 x) {
float4x4 result;
result[0][0] = atan(x[0][0]);
result[0][1] = atan(x[0][1]);
result[0][2] = atan(x[0][2]);
result[0][3] = atan(x[0][3]);
result[1][0] = atan(x[1][0]);
result[1][1] = atan(x[1][1]);
result[1][2] = atan(x[1][2]);
result[1][3] = atan(x[1][3]);
result[2][0] = atan(x[2][0]);
result[2][1] = atan(x[2][1]);
result[2][2] = atan(x[2][2]);
result[2][3] = atan(x[2][3]);
result[3][0] = atan(x[3][0]);
result[3][1] = atan(x[3][1]);
result[3][2] = atan(x[3][2]);
result[3][3] = atan(x[3][3]);
return result;
}
/* Functions named operator.xxyz */
bool4 operator.xxyz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.xxyz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xxyz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xxyz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xxyz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xxyz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xxyz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xxyz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xywy */
bool4 operator.xywy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.xywy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.xywy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.xywy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named log */
native float log(float);
float2 log(float2 x) {
float2 result;
result[0] = log(x[0]);
result[1] = log(x[1]);
return result;
}
float3 log(float3 x) {
float3 result;
result[0] = log(x[0]);
result[1] = log(x[1]);
result[2] = log(x[2]);
return result;
}
float4 log(float4 x) {
float4 result;
result[0] = log(x[0]);
result[1] = log(x[1]);
result[2] = log(x[2]);
result[3] = log(x[3]);
return result;
}
float2x2 log(float2x2 x) {
float2x2 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
return result;
}
float2x3 log(float2x3 x) {
float2x3 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
return result;
}
float2x4 log(float2x4 x) {
float2x4 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[0][3] = log(x[0][3]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
result[1][3] = log(x[1][3]);
return result;
}
float3x2 log(float3x2 x) {
float3x2 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
return result;
}
float3x3 log(float3x3 x) {
float3x3 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
result[2][2] = log(x[2][2]);
return result;
}
float3x4 log(float3x4 x) {
float3x4 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[0][3] = log(x[0][3]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
result[1][3] = log(x[1][3]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
result[2][2] = log(x[2][2]);
result[2][3] = log(x[2][3]);
return result;
}
float4x2 log(float4x2 x) {
float4x2 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
result[3][0] = log(x[3][0]);
result[3][1] = log(x[3][1]);
return result;
}
float4x3 log(float4x3 x) {
float4x3 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
result[2][2] = log(x[2][2]);
result[3][0] = log(x[3][0]);
result[3][1] = log(x[3][1]);
result[3][2] = log(x[3][2]);
return result;
}
float4x4 log(float4x4 x) {
float4x4 result;
result[0][0] = log(x[0][0]);
result[0][1] = log(x[0][1]);
result[0][2] = log(x[0][2]);
result[0][3] = log(x[0][3]);
result[1][0] = log(x[1][0]);
result[1][1] = log(x[1][1]);
result[1][2] = log(x[1][2]);
result[1][3] = log(x[1][3]);
result[2][0] = log(x[2][0]);
result[2][1] = log(x[2][1]);
result[2][2] = log(x[2][2]);
result[2][3] = log(x[2][3]);
result[3][0] = log(x[3][0]);
result[3][1] = log(x[3][1]);
result[3][2] = log(x[3][2]);
result[3][3] = log(x[3][3]);
return result;
}
/* Functions named operator.wxwx */
bool4 operator.wxwx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.wxwx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.wxwx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.wxwx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.yxzw */
bool4 operator.yxzw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.yxzw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.yxzw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.yxzw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named Load */
native uint Load(Texture1D<uint>, int location);
native uint Load(Texture1DArray<uint>, int2 location);
native uint Load(Texture2D<uint>, int2 location);
native uint Load(Texture2DArray<uint>, int3 location);
native uint Load(Texture3D<uint>, int3 location);
native uint2 Load(Texture1D<uint2>, int location);
native uint2 Load(Texture1DArray<uint2>, int2 location);
native uint2 Load(Texture2D<uint2>, int2 location);
native uint2 Load(Texture2DArray<uint2>, int3 location);
native uint2 Load(Texture3D<uint2>, int3 location);
native uint3 Load(Texture1D<uint3>, int location);
native uint3 Load(Texture1DArray<uint3>, int2 location);
native uint3 Load(Texture2D<uint3>, int2 location);
native uint3 Load(Texture2DArray<uint3>, int3 location);
native uint3 Load(Texture3D<uint3>, int3 location);
native uint4 Load(Texture1D<uint4>, int location);
native uint4 Load(Texture1DArray<uint4>, int2 location);
native uint4 Load(Texture2D<uint4>, int2 location);
native uint4 Load(Texture2DArray<uint4>, int3 location);
native uint4 Load(Texture3D<uint4>, int3 location);
native int Load(Texture1D<int>, int location);
native int Load(Texture1DArray<int>, int2 location);
native int Load(Texture2D<int>, int2 location);
native int Load(Texture2DArray<int>, int3 location);
native int Load(Texture3D<int>, int3 location);
native int2 Load(Texture1D<int2>, int location);
native int2 Load(Texture1DArray<int2>, int2 location);
native int2 Load(Texture2D<int2>, int2 location);
native int2 Load(Texture2DArray<int2>, int3 location);
native int2 Load(Texture3D<int2>, int3 location);
native int3 Load(Texture1D<int3>, int location);
native int3 Load(Texture1DArray<int3>, int2 location);
native int3 Load(Texture2D<int3>, int2 location);
native int3 Load(Texture2DArray<int3>, int3 location);
native int3 Load(Texture3D<int3>, int3 location);
native int4 Load(Texture1D<int4>, int location);
native int4 Load(Texture1DArray<int4>, int2 location);
native int4 Load(Texture2D<int4>, int2 location);
native int4 Load(Texture2DArray<int4>, int3 location);
native int4 Load(Texture3D<int4>, int3 location);
native float Load(Texture1D<float>, int location);
native float Load(Texture1DArray<float>, int2 location);
native float Load(Texture2D<float>, int2 location);
native float Load(Texture2DArray<float>, int3 location);
native float Load(Texture3D<float>, int3 location);
native float2 Load(Texture1D<float2>, int location);
native float2 Load(Texture1DArray<float2>, int2 location);
native float2 Load(Texture2D<float2>, int2 location);
native float2 Load(Texture2DArray<float2>, int3 location);
native float2 Load(Texture3D<float2>, int3 location);
native float3 Load(Texture1D<float3>, int location);
native float3 Load(Texture1DArray<float3>, int2 location);
native float3 Load(Texture2D<float3>, int2 location);
native float3 Load(Texture2DArray<float3>, int3 location);
native float3 Load(Texture3D<float3>, int3 location);
native float4 Load(Texture1D<float4>, int location);
native float4 Load(Texture1DArray<float4>, int2 location);
native float4 Load(Texture2D<float4>, int2 location);
native float4 Load(Texture2DArray<float4>, int3 location);
native float4 Load(Texture3D<float4>, int3 location);
native float Load(TextureDepth2D<float>, int2 location);
native float Load(TextureDepth2DArray<float>, int3 location);
/* Functions named operator.wwyx */
bool4 operator.wwyx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.wwyx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.wwyx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.wwyx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.yzw= */
bool4 operator.yzw=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
uint4 operator.yzw=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
int4 operator.yzw=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
float4 operator.yzw=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
/* Functions named operator.yzw */
bool3 operator.yzw(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
return result;
}
uint3 operator.yzw(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
return result;
}
int3 operator.yzw(int4 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
return result;
}
float3 operator.yzw(float4 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
return result;
}
/* Functions named operator.yzx= */
bool3 operator.yzx=(bool3 v, bool3 c) {
bool3 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
bool4 operator.yzx=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
uint3 operator.yzx=(uint3 v, uint3 c) {
uint3 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
uint4 operator.yzx=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
int3 operator.yzx=(int3 v, int3 c) {
int3 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
int4 operator.yzx=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
float3 operator.yzx=(float3 v, float3 c) {
float3 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
float4 operator.yzx=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
/* Functions named operator.xxwz */
bool4 operator.xxwz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.xxwz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.xxwz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.xxwz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.yzyz */
bool4 operator.yzyz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.yzyz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yzyz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yzyz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yzyz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yzyz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yzyz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yzyz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.yzxw */
bool4 operator.yzxw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.yzxw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.yzxw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.yzxw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zywx */
bool4 operator.zywx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.zywx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.zywx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.zywx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named sin */
native float sin(float);
float2 sin(float2 x) {
float2 result;
result[0] = sin(x[0]);
result[1] = sin(x[1]);
return result;
}
float3 sin(float3 x) {
float3 result;
result[0] = sin(x[0]);
result[1] = sin(x[1]);
result[2] = sin(x[2]);
return result;
}
float4 sin(float4 x) {
float4 result;
result[0] = sin(x[0]);
result[1] = sin(x[1]);
result[2] = sin(x[2]);
result[3] = sin(x[3]);
return result;
}
float2x2 sin(float2x2 x) {
float2x2 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
return result;
}
float2x3 sin(float2x3 x) {
float2x3 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
return result;
}
float2x4 sin(float2x4 x) {
float2x4 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[0][3] = sin(x[0][3]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
result[1][3] = sin(x[1][3]);
return result;
}
float3x2 sin(float3x2 x) {
float3x2 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
return result;
}
float3x3 sin(float3x3 x) {
float3x3 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
result[2][2] = sin(x[2][2]);
return result;
}
float3x4 sin(float3x4 x) {
float3x4 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[0][3] = sin(x[0][3]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
result[1][3] = sin(x[1][3]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
result[2][2] = sin(x[2][2]);
result[2][3] = sin(x[2][3]);
return result;
}
float4x2 sin(float4x2 x) {
float4x2 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
result[3][0] = sin(x[3][0]);
result[3][1] = sin(x[3][1]);
return result;
}
float4x3 sin(float4x3 x) {
float4x3 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
result[2][2] = sin(x[2][2]);
result[3][0] = sin(x[3][0]);
result[3][1] = sin(x[3][1]);
result[3][2] = sin(x[3][2]);
return result;
}
float4x4 sin(float4x4 x) {
float4x4 result;
result[0][0] = sin(x[0][0]);
result[0][1] = sin(x[0][1]);
result[0][2] = sin(x[0][2]);
result[0][3] = sin(x[0][3]);
result[1][0] = sin(x[1][0]);
result[1][1] = sin(x[1][1]);
result[1][2] = sin(x[1][2]);
result[1][3] = sin(x[1][3]);
result[2][0] = sin(x[2][0]);
result[2][1] = sin(x[2][1]);
result[2][2] = sin(x[2][2]);
result[2][3] = sin(x[2][3]);
result[3][0] = sin(x[3][0]);
result[3][1] = sin(x[3][1]);
result[3][2] = sin(x[3][2]);
result[3][3] = sin(x[3][3]);
return result;
}
/* Functions named operator.ywzy */
bool4 operator.ywzy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.ywzy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.ywzy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.ywzy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.zyy */
bool3 operator.zyy(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
bool3 operator.zyy(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.zyy(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.zyy(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.zyy(int3 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.zyy(int4 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.zyy(float3 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.zyy(float4 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
return result;
}
/* Functions named operator.wxwz */
bool4 operator.wxwz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.wxwz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.wxwz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.wxwz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.zwxw */
bool4 operator.zwxw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.zwxw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.zwxw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.zwxw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zwyy */
bool4 operator.zwyy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zwyy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zwyy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zwyy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.wxy= */
bool4 operator.wxy=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
uint4 operator.wxy=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
int4 operator.wxy=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
float4 operator.wxy=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
/* Functions named operator.xyyy */
bool4 operator.xyyy(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.xyyy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.xyyy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xyyy(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xyyy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xyyy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xyyy(int2 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xyyy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xyyy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xyyy(float2 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xyyy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xyyy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.yxzx */
bool4 operator.yxzx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.yxzx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yxzx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yxzx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yxzx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yxzx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yxzx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yxzx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.yy */
bool2 operator.yy(bool2 v) {
bool2 result;
result.x = v.y;
result.y = v.y;
return result;
}
bool2 operator.yy(bool3 v) {
bool2 result;
result.x = v.y;
result.y = v.y;
return result;
}
bool2 operator.yy(bool4 v) {
bool2 result;
result.x = v.y;
result.y = v.y;
return result;
}
uint2 operator.yy(uint2 v) {
uint2 result;
result.x = v.y;
result.y = v.y;
return result;
}
uint2 operator.yy(uint3 v) {
uint2 result;
result.x = v.y;
result.y = v.y;
return result;
}
uint2 operator.yy(uint4 v) {
uint2 result;
result.x = v.y;
result.y = v.y;
return result;
}
int2 operator.yy(int2 v) {
int2 result;
result.x = v.y;
result.y = v.y;
return result;
}
int2 operator.yy(int3 v) {
int2 result;
result.x = v.y;
result.y = v.y;
return result;
}
int2 operator.yy(int4 v) {
int2 result;
result.x = v.y;
result.y = v.y;
return result;
}
float2 operator.yy(float2 v) {
float2 result;
result.x = v.y;
result.y = v.y;
return result;
}
float2 operator.yy(float3 v) {
float2 result;
result.x = v.y;
result.y = v.y;
return result;
}
float2 operator.yy(float4 v) {
float2 result;
result.x = v.y;
result.y = v.y;
return result;
}
/* Functions named operator.wzx */
bool3 operator.wzx(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.wzx(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.wzx(int4 v) {
int3 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.wzx(float4 v) {
float3 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
return result;
}
/* Functions named operator.yyzx */
bool4 operator.yyzx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.yyzx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yyzx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yyzx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yyzx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yyzx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yyzx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yyzx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named sincos */
void sincos(float x, thread float* y, thread float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, thread float2* y, thread float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, thread float3* y, thread float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, thread float4* y, thread float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, thread float2x2* y, thread float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, thread float2x3* y, thread float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, thread float2x4* y, thread float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, thread float3x2* y, thread float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, thread float3x3* y, thread float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, thread float3x4* y, thread float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, thread float4x2* y, thread float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, thread float4x3* y, thread float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, thread float4x4* y, thread float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, thread float* y, device float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, thread float2* y, device float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, thread float3* y, device float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, thread float4* y, device float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, thread float2x2* y, device float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, thread float2x3* y, device float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, thread float2x4* y, device float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, thread float3x2* y, device float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, thread float3x3* y, device float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, thread float3x4* y, device float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, thread float4x2* y, device float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, thread float4x3* y, device float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, thread float4x4* y, device float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, thread float* y, threadgroup float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, thread float2* y, threadgroup float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, thread float3* y, threadgroup float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, thread float4* y, threadgroup float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, thread float2x2* y, threadgroup float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, thread float2x3* y, threadgroup float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, thread float2x4* y, threadgroup float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, thread float3x2* y, threadgroup float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, thread float3x3* y, threadgroup float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, thread float3x4* y, threadgroup float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, thread float4x2* y, threadgroup float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, thread float4x3* y, threadgroup float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, thread float4x4* y, threadgroup float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, device float* y, thread float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, device float2* y, thread float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, device float3* y, thread float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, device float4* y, thread float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, device float2x2* y, thread float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, device float2x3* y, thread float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, device float2x4* y, thread float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, device float3x2* y, thread float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, device float3x3* y, thread float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, device float3x4* y, thread float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, device float4x2* y, thread float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, device float4x3* y, thread float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, device float4x4* y, thread float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, device float* y, device float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, device float2* y, device float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, device float3* y, device float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, device float4* y, device float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, device float2x2* y, device float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, device float2x3* y, device float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, device float2x4* y, device float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, device float3x2* y, device float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, device float3x3* y, device float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, device float3x4* y, device float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, device float4x2* y, device float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, device float4x3* y, device float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, device float4x4* y, device float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, device float* y, threadgroup float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, device float2* y, threadgroup float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, device float3* y, threadgroup float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, device float4* y, threadgroup float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, device float2x2* y, threadgroup float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, device float2x3* y, threadgroup float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, device float2x4* y, threadgroup float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, device float3x2* y, threadgroup float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, device float3x3* y, threadgroup float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, device float3x4* y, threadgroup float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, device float4x2* y, threadgroup float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, device float4x3* y, threadgroup float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, device float4x4* y, threadgroup float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, threadgroup float* y, thread float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, threadgroup float2* y, thread float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, threadgroup float3* y, thread float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, threadgroup float4* y, thread float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, threadgroup float2x2* y, thread float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, threadgroup float2x3* y, thread float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, threadgroup float2x4* y, thread float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, threadgroup float3x2* y, thread float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, threadgroup float3x3* y, thread float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, threadgroup float3x4* y, thread float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, threadgroup float4x2* y, thread float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, threadgroup float4x3* y, thread float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, threadgroup float4x4* y, thread float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, threadgroup float* y, device float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, threadgroup float2* y, device float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, threadgroup float3* y, device float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, threadgroup float4* y, device float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, threadgroup float2x2* y, device float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, threadgroup float2x3* y, device float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, threadgroup float2x4* y, device float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, threadgroup float3x2* y, device float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, threadgroup float3x3* y, device float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, threadgroup float3x4* y, device float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, threadgroup float4x2* y, device float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, threadgroup float4x3* y, device float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, threadgroup float4x4* y, device float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
void sincos(float x, threadgroup float* y, threadgroup float* z) {
if (y != null)
*y = sin(x);
if (z != null)
*z = cos(x);
}
void sincos(float2 x, threadgroup float2* y, threadgroup float2* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
}
void sincos(float3 x, threadgroup float3* y, threadgroup float3* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
}
void sincos(float4 x, threadgroup float4* y, threadgroup float4* z) {
float sinResult;
float cosResult;
sincos(x[0], &sinResult, &cosResult);
if (y != null)
(*y)[0] = sinResult;
if (z != null)
(*z)[0] = cosResult;
sincos(x[1], &sinResult, &cosResult);
if (y != null)
(*y)[1] = sinResult;
if (z != null)
(*z)[1] = cosResult;
sincos(x[2], &sinResult, &cosResult);
if (y != null)
(*y)[2] = sinResult;
if (z != null)
(*z)[2] = cosResult;
sincos(x[3], &sinResult, &cosResult);
if (y != null)
(*y)[3] = sinResult;
if (z != null)
(*z)[3] = cosResult;
}
void sincos(float2x2 x, threadgroup float2x2* y, threadgroup float2x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
}
void sincos(float2x3 x, threadgroup float2x3* y, threadgroup float2x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
}
void sincos(float2x4 x, threadgroup float2x4* y, threadgroup float2x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
}
void sincos(float3x2 x, threadgroup float3x2* y, threadgroup float3x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
}
void sincos(float3x3 x, threadgroup float3x3* y, threadgroup float3x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
}
void sincos(float3x4 x, threadgroup float3x4* y, threadgroup float3x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
}
void sincos(float4x2 x, threadgroup float4x2* y, threadgroup float4x2* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
}
void sincos(float4x3 x, threadgroup float4x3* y, threadgroup float4x3* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
}
void sincos(float4x4 x, threadgroup float4x4* y, threadgroup float4x4* z) {
float sinResult;
float cosResult;
sincos(x[0][0], &sinResult, &cosResult);
if (y != null)
(*y)[0][0] = sinResult;
if (z != null)
(*z)[0][0] = cosResult;
sincos(x[0][1], &sinResult, &cosResult);
if (y != null)
(*y)[0][1] = sinResult;
if (z != null)
(*z)[0][1] = cosResult;
sincos(x[0][2], &sinResult, &cosResult);
if (y != null)
(*y)[0][2] = sinResult;
if (z != null)
(*z)[0][2] = cosResult;
sincos(x[0][3], &sinResult, &cosResult);
if (y != null)
(*y)[0][3] = sinResult;
if (z != null)
(*z)[0][3] = cosResult;
sincos(x[1][0], &sinResult, &cosResult);
if (y != null)
(*y)[1][0] = sinResult;
if (z != null)
(*z)[1][0] = cosResult;
sincos(x[1][1], &sinResult, &cosResult);
if (y != null)
(*y)[1][1] = sinResult;
if (z != null)
(*z)[1][1] = cosResult;
sincos(x[1][2], &sinResult, &cosResult);
if (y != null)
(*y)[1][2] = sinResult;
if (z != null)
(*z)[1][2] = cosResult;
sincos(x[1][3], &sinResult, &cosResult);
if (y != null)
(*y)[1][3] = sinResult;
if (z != null)
(*z)[1][3] = cosResult;
sincos(x[2][0], &sinResult, &cosResult);
if (y != null)
(*y)[2][0] = sinResult;
if (z != null)
(*z)[2][0] = cosResult;
sincos(x[2][1], &sinResult, &cosResult);
if (y != null)
(*y)[2][1] = sinResult;
if (z != null)
(*z)[2][1] = cosResult;
sincos(x[2][2], &sinResult, &cosResult);
if (y != null)
(*y)[2][2] = sinResult;
if (z != null)
(*z)[2][2] = cosResult;
sincos(x[2][3], &sinResult, &cosResult);
if (y != null)
(*y)[2][3] = sinResult;
if (z != null)
(*z)[2][3] = cosResult;
sincos(x[3][0], &sinResult, &cosResult);
if (y != null)
(*y)[3][0] = sinResult;
if (z != null)
(*z)[3][0] = cosResult;
sincos(x[3][1], &sinResult, &cosResult);
if (y != null)
(*y)[3][1] = sinResult;
if (z != null)
(*z)[3][1] = cosResult;
sincos(x[3][2], &sinResult, &cosResult);
if (y != null)
(*y)[3][2] = sinResult;
if (z != null)
(*z)[3][2] = cosResult;
sincos(x[3][3], &sinResult, &cosResult);
if (y != null)
(*y)[3][3] = sinResult;
if (z != null)
(*z)[3][3] = cosResult;
}
/* Functions named InterlockedCompareExchange */
native void InterlockedCompareExchange(device atomic_uint*, uint, uint, thread uint*);
native void InterlockedCompareExchange(device atomic_int*, int, int, thread int*);
native void InterlockedCompareExchange(device atomic_uint*, uint, uint, device uint*);
native void InterlockedCompareExchange(device atomic_int*, int, int, device int*);
native void InterlockedCompareExchange(device atomic_uint*, uint, uint, threadgroup uint*);
native void InterlockedCompareExchange(device atomic_int*, int, int, threadgroup int*);
native void InterlockedCompareExchange(threadgroup atomic_uint*, uint, uint, thread uint*);
native void InterlockedCompareExchange(threadgroup atomic_int*, int, int, thread int*);
native void InterlockedCompareExchange(threadgroup atomic_uint*, uint, uint, device uint*);
native void InterlockedCompareExchange(threadgroup atomic_int*, int, int, device int*);
native void InterlockedCompareExchange(threadgroup atomic_uint*, uint, uint, threadgroup uint*);
native void InterlockedCompareExchange(threadgroup atomic_int*, int, int, threadgroup int*);
/* Functions named operator.xwz */
bool3 operator.xwz(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
return result;
}
uint3 operator.xwz(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
return result;
}
int3 operator.xwz(int4 v) {
int3 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
return result;
}
float3 operator.xwz(float4 v) {
float3 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
return result;
}
/* Functions named operator.wzxz */
bool4 operator.wzxz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.wzxz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.wzxz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.wzxz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.zxwy */
bool4 operator.zxwy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.zxwy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.zxwy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.zxwy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wzxw */
bool4 operator.wzxw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.wzxw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.wzxw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.wzxw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zyz */
bool3 operator.zyz(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
bool3 operator.zyz(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.zyz(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.zyz(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.zyz(int3 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.zyz(int4 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.zyz(float3 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.zyz(float4 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
return result;
}
/* Functions named operator.yyyz */
bool4 operator.yyyz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.yyyz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yyyz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yyyz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yyyz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yyyz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yyyz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yyyz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xzyw */
bool4 operator.xzyw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.xzyw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.xzyw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.xzyw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named smoothstep */
float smoothstep(float edge0, float edge1, float x) {
float t = clamp((x - edge0) / (edge1 - edge0), 0, 1);
return t * t * (3 - 2 * t);
}
float2 smoothstep(float2 x, float2 y, float2 z) {
float2 result;
result[0] = smoothstep(x[0], y[0], z[0]);
result[1] = smoothstep(x[1], y[1], z[1]);
return result;
}
float3 smoothstep(float3 x, float3 y, float3 z) {
float3 result;
result[0] = smoothstep(x[0], y[0], z[0]);
result[1] = smoothstep(x[1], y[1], z[1]);
result[2] = smoothstep(x[2], y[2], z[2]);
return result;
}
float4 smoothstep(float4 x, float4 y, float4 z) {
float4 result;
result[0] = smoothstep(x[0], y[0], z[0]);
result[1] = smoothstep(x[1], y[1], z[1]);
result[2] = smoothstep(x[2], y[2], z[2]);
result[3] = smoothstep(x[3], y[3], z[3]);
return result;
}
float2x2 smoothstep(float2x2 x, float2x2 y, float2x2 z) {
float2x2 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
return result;
}
float2x3 smoothstep(float2x3 x, float2x3 y, float2x3 z) {
float2x3 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
return result;
}
float2x4 smoothstep(float2x4 x, float2x4 y, float2x4 z) {
float2x4 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]);
return result;
}
float3x2 smoothstep(float3x2 x, float3x2 y, float3x2 z) {
float3x2 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
return result;
}
float3x3 smoothstep(float3x3 x, float3x3 y, float3x3 z) {
float3x3 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]);
return result;
}
float3x4 smoothstep(float3x4 x, float3x4 y, float3x4 z) {
float3x4 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]);
result[2][3] = smoothstep(x[2][3], y[2][3], z[2][3]);
return result;
}
float4x2 smoothstep(float4x2 x, float4x2 y, float4x2 z) {
float4x2 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]);
result[3][1] = smoothstep(x[3][1], y[3][1], z[3][1]);
return result;
}
float4x3 smoothstep(float4x3 x, float4x3 y, float4x3 z) {
float4x3 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]);
result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]);
result[3][1] = smoothstep(x[3][1], y[3][1], z[3][1]);
result[3][2] = smoothstep(x[3][2], y[3][2], z[3][2]);
return result;
}
float4x4 smoothstep(float4x4 x, float4x4 y, float4x4 z) {
float4x4 result;
result[0][0] = smoothstep(x[0][0], y[0][0], z[0][0]);
result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]);
result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]);
result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]);
result[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]);
result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]);
result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]);
result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]);
result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]);
result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]);
result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]);
result[2][3] = smoothstep(x[2][3], y[2][3], z[2][3]);
result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]);
result[3][1] = smoothstep(x[3][1], y[3][1], z[3][1]);
result[3][2] = smoothstep(x[3][2], y[3][2], z[3][2]);
result[3][3] = smoothstep(x[3][3], y[3][3], z[3][3]);
return result;
}
/* Functions named operator.wyyz */
bool4 operator.wyyz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.wyyz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.wyyz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.wyyz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.ww */
bool2 operator.ww(bool4 v) {
bool2 result;
result.x = v.w;
result.y = v.w;
return result;
}
uint2 operator.ww(uint4 v) {
uint2 result;
result.x = v.w;
result.y = v.w;
return result;
}
int2 operator.ww(int4 v) {
int2 result;
result.x = v.w;
result.y = v.w;
return result;
}
float2 operator.ww(float4 v) {
float2 result;
result.x = v.w;
result.y = v.w;
return result;
}
/* Functions named operator[] */
native bool operator[](bool2, uint);
native bool operator[](bool3, uint);
native bool operator[](bool4, uint);
native uint operator[](uint2, uint);
native uint operator[](uint3, uint);
native uint operator[](uint4, uint);
native int operator[](int2, uint);
native int operator[](int3, uint);
native int operator[](int4, uint);
native float operator[](float2, uint);
native float operator[](float3, uint);
native float operator[](float4, uint);
native float2 operator[](float2x2, uint);
native float3 operator[](float2x3, uint);
native float4 operator[](float2x4, uint);
native float2 operator[](float3x2, uint);
native float3 operator[](float3x3, uint);
native float4 operator[](float3x4, uint);
native float2 operator[](float4x2, uint);
native float3 operator[](float4x3, uint);
native float4 operator[](float4x4, uint);
native bool2 operator[](bool2x2, uint);
native bool3 operator[](bool2x3, uint);
native bool4 operator[](bool2x4, uint);
native bool2 operator[](bool3x2, uint);
native bool3 operator[](bool3x3, uint);
native bool4 operator[](bool3x4, uint);
native bool2 operator[](bool4x2, uint);
native bool3 operator[](bool4x3, uint);
native bool4 operator[](bool4x4, uint);
/* Functions named operator.yywz */
bool4 operator.yywz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.yywz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.yywz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.yywz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named exp */
native float exp(float);
float2 exp(float2 x) {
float2 result;
result[0] = exp(x[0]);
result[1] = exp(x[1]);
return result;
}
float3 exp(float3 x) {
float3 result;
result[0] = exp(x[0]);
result[1] = exp(x[1]);
result[2] = exp(x[2]);
return result;
}
float4 exp(float4 x) {
float4 result;
result[0] = exp(x[0]);
result[1] = exp(x[1]);
result[2] = exp(x[2]);
result[3] = exp(x[3]);
return result;
}
float2x2 exp(float2x2 x) {
float2x2 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
return result;
}
float2x3 exp(float2x3 x) {
float2x3 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
return result;
}
float2x4 exp(float2x4 x) {
float2x4 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[0][3] = exp(x[0][3]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
result[1][3] = exp(x[1][3]);
return result;
}
float3x2 exp(float3x2 x) {
float3x2 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
return result;
}
float3x3 exp(float3x3 x) {
float3x3 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
result[2][2] = exp(x[2][2]);
return result;
}
float3x4 exp(float3x4 x) {
float3x4 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[0][3] = exp(x[0][3]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
result[1][3] = exp(x[1][3]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
result[2][2] = exp(x[2][2]);
result[2][3] = exp(x[2][3]);
return result;
}
float4x2 exp(float4x2 x) {
float4x2 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
result[3][0] = exp(x[3][0]);
result[3][1] = exp(x[3][1]);
return result;
}
float4x3 exp(float4x3 x) {
float4x3 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
result[2][2] = exp(x[2][2]);
result[3][0] = exp(x[3][0]);
result[3][1] = exp(x[3][1]);
result[3][2] = exp(x[3][2]);
return result;
}
float4x4 exp(float4x4 x) {
float4x4 result;
result[0][0] = exp(x[0][0]);
result[0][1] = exp(x[0][1]);
result[0][2] = exp(x[0][2]);
result[0][3] = exp(x[0][3]);
result[1][0] = exp(x[1][0]);
result[1][1] = exp(x[1][1]);
result[1][2] = exp(x[1][2]);
result[1][3] = exp(x[1][3]);
result[2][0] = exp(x[2][0]);
result[2][1] = exp(x[2][1]);
result[2][2] = exp(x[2][2]);
result[2][3] = exp(x[2][3]);
result[3][0] = exp(x[3][0]);
result[3][1] = exp(x[3][1]);
result[3][2] = exp(x[3][2]);
result[3][3] = exp(x[3][3]);
return result;
}
/* Functions named operator.zxw= */
bool4 operator.zxw=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
uint4 operator.zxw=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
int4 operator.zxw=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
float4 operator.zxw=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
/* Functions named operator.zzz */
bool3 operator.zzz(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
bool3 operator.zzz(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.zzz(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.zzz(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.zzz(int3 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.zzz(int4 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.zzz(float3 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.zzz(float4 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
return result;
}
/* Functions named operator.wzwx */
bool4 operator.wzwx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.wzwx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.wzwx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.wzwx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.yyzz */
bool4 operator.yyzz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.yyzz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yyzz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yyzz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yyzz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yyzz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yyzz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yyzz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.yywx */
bool4 operator.yywx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.yywx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.yywx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.yywx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.zzx */
bool3 operator.zzx(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
bool3 operator.zzx(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.zzx(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.zzx(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.zzx(int3 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.zzx(int4 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.zzx(float3 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.zzx(float4 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
return result;
}
/* Functions named operator.xxx */
bool3 operator.xxx(bool2 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
bool3 operator.xxx(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
bool3 operator.xxx(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.xxx(uint2 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.xxx(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.xxx(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.xxx(int2 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.xxx(int3 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.xxx(int4 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.xxx(float2 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.xxx(float3 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.xxx(float4 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
return result;
}
/* Functions named operator.yxxy */
bool4 operator.yxxy(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.yxxy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.yxxy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yxxy(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yxxy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yxxy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yxxy(int2 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yxxy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yxxy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yxxy(float2 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yxxy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yxxy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.wyyy */
bool4 operator.wyyy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.wyyy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.wyyy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.wyyy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.wyww */
bool4 operator.wyww(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.wyww(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.wyww(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.wyww(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.yyyw */
bool4 operator.yyyw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.yyyw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.yyyw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.yyyw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.xxw */
bool3 operator.xxw(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
return result;
}
uint3 operator.xxw(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
return result;
}
int3 operator.xxw(int4 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
return result;
}
float3 operator.xxw(float4 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
return result;
}
/* Functions named operator.xzxy */
bool4 operator.xzxy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.xzxy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xzxy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xzxy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xzxy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xzxy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xzxy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xzxy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.yw= */
bool4 operator.yw=(bool4 v, bool2 c) {
bool4 result = v;
result.y = c.x;
result.w = c.y;
return result;
}
uint4 operator.yw=(uint4 v, uint2 c) {
uint4 result = v;
result.y = c.x;
result.w = c.y;
return result;
}
int4 operator.yw=(int4 v, int2 c) {
int4 result = v;
result.y = c.x;
result.w = c.y;
return result;
}
float4 operator.yw=(float4 v, float2 c) {
float4 result = v;
result.y = c.x;
result.w = c.y;
return result;
}
/* Functions named operator.xyx */
bool3 operator.xyx(bool2 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
bool3 operator.xyx(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
bool3 operator.xyx(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.xyx(uint2 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.xyx(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.xyx(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.xyx(int2 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.xyx(int3 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.xyx(int4 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.xyx(float2 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.xyx(float3 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.xyx(float4 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
return result;
}
/* Functions named all */
bool all(bool x) {
return x;
}
bool all(bool2 x) {
bool result = true;
result = result && (x[0]);
result = result && (x[1]);
return result;
}
bool all(bool3 x) {
bool result = true;
result = result && (x[0]);
result = result && (x[1]);
result = result && (x[2]);
return result;
}
bool all(bool4 x) {
bool result = true;
result = result && (x[0]);
result = result && (x[1]);
result = result && (x[2]);
result = result && (x[3]);
return result;
}
bool all(uint x) {
return x != 0;
}
bool all(uint2 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
return result;
}
bool all(uint3 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
return result;
}
bool all(uint4 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
result = result && (x[3] != 0);
return result;
}
bool all(int x) {
return x != 0;
}
bool all(int2 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
return result;
}
bool all(int3 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
return result;
}
bool all(int4 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
result = result && (x[3] != 0);
return result;
}
bool all(float x) {
return x != 0;
}
bool all(float2 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
return result;
}
bool all(float3 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
return result;
}
bool all(float4 x) {
bool result = true;
result = result && (x[0] != 0);
result = result && (x[1] != 0);
result = result && (x[2] != 0);
result = result && (x[3] != 0);
return result;
}
bool all(float2x2 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
return result;
}
bool all(float2x3 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
return result;
}
bool all(float2x4 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[0][3] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
result = result && (x[1][3] != 0);
return result;
}
bool all(float3x2 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
return result;
}
bool all(float3x3 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
result = result && (x[2][2] != 0);
return result;
}
bool all(float3x4 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[0][3] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
result = result && (x[1][3] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
result = result && (x[2][2] != 0);
result = result && (x[2][3] != 0);
return result;
}
bool all(float4x2 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
result = result && (x[3][0] != 0);
result = result && (x[3][1] != 0);
return result;
}
bool all(float4x3 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
result = result && (x[2][2] != 0);
result = result && (x[3][0] != 0);
result = result && (x[3][1] != 0);
result = result && (x[3][2] != 0);
return result;
}
bool all(float4x4 x) {
bool result = true;
result = result && (x[0][0] != 0);
result = result && (x[0][1] != 0);
result = result && (x[0][2] != 0);
result = result && (x[0][3] != 0);
result = result && (x[1][0] != 0);
result = result && (x[1][1] != 0);
result = result && (x[1][2] != 0);
result = result && (x[1][3] != 0);
result = result && (x[2][0] != 0);
result = result && (x[2][1] != 0);
result = result && (x[2][2] != 0);
result = result && (x[2][3] != 0);
result = result && (x[3][0] != 0);
result = result && (x[3][1] != 0);
result = result && (x[3][2] != 0);
result = result && (x[3][3] != 0);
return result;
}
bool all(bool2x2 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[1][0];
result = result && x[1][1];
return result;
}
bool all(bool2x3 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
return result;
}
bool all(bool2x4 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[0][3];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
result = result && x[1][3];
return result;
}
bool all(bool3x2 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[2][0];
result = result && x[2][1];
return result;
}
bool all(bool3x3 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
result = result && x[2][0];
result = result && x[2][1];
result = result && x[2][2];
return result;
}
bool all(bool3x4 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[0][3];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
result = result && x[1][3];
result = result && x[2][0];
result = result && x[2][1];
result = result && x[2][2];
result = result && x[2][3];
return result;
}
bool all(bool4x2 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[2][0];
result = result && x[2][1];
result = result && x[3][0];
result = result && x[3][1];
return result;
}
bool all(bool4x3 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
result = result && x[2][0];
result = result && x[2][1];
result = result && x[2][2];
result = result && x[3][0];
result = result && x[3][1];
result = result && x[3][2];
return result;
}
bool all(bool4x4 x) {
bool result = true;
result = result && x[0][0];
result = result && x[0][1];
result = result && x[0][2];
result = result && x[0][3];
result = result && x[1][0];
result = result && x[1][1];
result = result && x[1][2];
result = result && x[1][3];
result = result && x[2][0];
result = result && x[2][1];
result = result && x[2][2];
result = result && x[2][3];
result = result && x[3][0];
result = result && x[3][1];
result = result && x[3][2];
result = result && x[3][3];
return result;
}
/* Functions named operator.w= */
native bool4 operator.w=(bool4, bool);
native uint4 operator.w=(uint4, uint);
native int4 operator.w=(int4, int);
native float4 operator.w=(float4, float);
/* Functions named firstbitlow */
uint firstbitlow(uint x) {
if ((x & uint(1 << 0)) != 0)
return 31;
if ((x & uint(1 << 1)) != 0)
return 30;
if ((x & uint(1 << 2)) != 0)
return 29;
if ((x & uint(1 << 3)) != 0)
return 28;
if ((x & uint(1 << 4)) != 0)
return 27;
if ((x & uint(1 << 5)) != 0)
return 26;
if ((x & uint(1 << 6)) != 0)
return 25;
if ((x & uint(1 << 7)) != 0)
return 24;
if ((x & uint(1 << 8)) != 0)
return 23;
if ((x & uint(1 << 9)) != 0)
return 22;
if ((x & uint(1 << 10)) != 0)
return 21;
if ((x & uint(1 << 11)) != 0)
return 20;
if ((x & uint(1 << 12)) != 0)
return 19;
if ((x & uint(1 << 13)) != 0)
return 18;
if ((x & uint(1 << 14)) != 0)
return 17;
if ((x & uint(1 << 15)) != 0)
return 16;
if ((x & uint(1 << 16)) != 0)
return 15;
if ((x & uint(1 << 17)) != 0)
return 14;
if ((x & uint(1 << 18)) != 0)
return 13;
if ((x & uint(1 << 19)) != 0)
return 12;
if ((x & uint(1 << 20)) != 0)
return 11;
if ((x & uint(1 << 21)) != 0)
return 10;
if ((x & uint(1 << 22)) != 0)
return 9;
if ((x & uint(1 << 23)) != 0)
return 8;
if ((x & uint(1 << 24)) != 0)
return 7;
if ((x & uint(1 << 25)) != 0)
return 6;
if ((x & uint(1 << 26)) != 0)
return 5;
if ((x & uint(1 << 27)) != 0)
return 4;
if ((x & uint(1 << 28)) != 0)
return 3;
if ((x & uint(1 << 29)) != 0)
return 2;
if ((x & uint(1 << 30)) != 0)
return 1;
if ((x & uint(1 << 31)) != 0)
return 0;
return 32;
}
uint firstbitlow(int x) {
return firstbitlow(uint(x));
}
uint2 firstbitlow(uint2 x) {
uint2 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
return result;
}
uint3 firstbitlow(uint3 x) {
uint3 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
result[2] = firstbitlow(x[2]);
return result;
}
uint4 firstbitlow(uint4 x) {
uint4 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
result[2] = firstbitlow(x[2]);
result[3] = firstbitlow(x[3]);
return result;
}
uint2 firstbitlow(int2 x) {
uint2 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
return result;
}
uint3 firstbitlow(int3 x) {
uint3 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
result[2] = firstbitlow(x[2]);
return result;
}
uint4 firstbitlow(int4 x) {
uint4 result;
result[0] = firstbitlow(x[0]);
result[1] = firstbitlow(x[1]);
result[2] = firstbitlow(x[2]);
result[3] = firstbitlow(x[3]);
return result;
}
/* Functions named operator.xwxy */
bool4 operator.xwxy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xwxy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xwxy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xwxy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.yzz */
bool3 operator.yzz(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
bool3 operator.yzz(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.yzz(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.yzz(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.yzz(int3 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.yzz(int4 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.yzz(float3 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.yzz(float4 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
return result;
}
/* Functions named operator.yzwx */
bool4 operator.yzwx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.yzwx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.yzwx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.yzwx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.ywxz= */
bool4 operator.ywxz=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
uint4 operator.ywxz=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
int4 operator.ywxz=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
float4 operator.ywxz=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.ywwx */
bool4 operator.ywwx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.ywwx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.ywwx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.ywwx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.zyzw */
bool4 operator.zyzw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.zyzw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.zyzw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.zyzw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.zwwz */
bool4 operator.zwwz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.zwwz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.zwwz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.zwwz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.yyww */
bool4 operator.yyww(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.yyww(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.yyww(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.yyww(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator<= */
native bool operator<=(int, int);
native bool operator<=(uint, uint);
native bool operator<=(float, float);
native bool2 operator<=(uint2, uint2);
native bool3 operator<=(uint3, uint3);
native bool4 operator<=(uint4, uint4);
native bool2 operator<=(int2, int2);
native bool3 operator<=(int3, int3);
native bool4 operator<=(int4, int4);
native bool2 operator<=(float2, float2);
native bool3 operator<=(float3, float3);
native bool4 operator<=(float4, float4);
native bool2x2 operator<=(float2x2, float2x2);
native bool2x3 operator<=(float2x3, float2x3);
native bool2x4 operator<=(float2x4, float2x4);
native bool3x2 operator<=(float3x2, float3x2);
native bool3x3 operator<=(float3x3, float3x3);
native bool3x4 operator<=(float3x4, float3x4);
native bool4x2 operator<=(float4x2, float4x2);
native bool4x3 operator<=(float4x3, float4x3);
native bool4x4 operator<=(float4x4, float4x4);
/* Functions named ddx_fine */
float ddx_fine(float x) {
return ddx(x);
}
float2 ddx_fine(float2 x) {
float2 result;
result[0] = ddx_fine(x[0]);
result[1] = ddx_fine(x[1]);
return result;
}
float3 ddx_fine(float3 x) {
float3 result;
result[0] = ddx_fine(x[0]);
result[1] = ddx_fine(x[1]);
result[2] = ddx_fine(x[2]);
return result;
}
float4 ddx_fine(float4 x) {
float4 result;
result[0] = ddx_fine(x[0]);
result[1] = ddx_fine(x[1]);
result[2] = ddx_fine(x[2]);
result[3] = ddx_fine(x[3]);
return result;
}
float2x2 ddx_fine(float2x2 x) {
float2x2 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
return result;
}
float2x3 ddx_fine(float2x3 x) {
float2x3 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
return result;
}
float2x4 ddx_fine(float2x4 x) {
float2x4 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[0][3] = ddx_fine(x[0][3]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
result[1][3] = ddx_fine(x[1][3]);
return result;
}
float3x2 ddx_fine(float3x2 x) {
float3x2 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
return result;
}
float3x3 ddx_fine(float3x3 x) {
float3x3 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
result[2][2] = ddx_fine(x[2][2]);
return result;
}
float3x4 ddx_fine(float3x4 x) {
float3x4 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[0][3] = ddx_fine(x[0][3]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
result[1][3] = ddx_fine(x[1][3]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
result[2][2] = ddx_fine(x[2][2]);
result[2][3] = ddx_fine(x[2][3]);
return result;
}
float4x2 ddx_fine(float4x2 x) {
float4x2 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
result[3][0] = ddx_fine(x[3][0]);
result[3][1] = ddx_fine(x[3][1]);
return result;
}
float4x3 ddx_fine(float4x3 x) {
float4x3 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
result[2][2] = ddx_fine(x[2][2]);
result[3][0] = ddx_fine(x[3][0]);
result[3][1] = ddx_fine(x[3][1]);
result[3][2] = ddx_fine(x[3][2]);
return result;
}
float4x4 ddx_fine(float4x4 x) {
float4x4 result;
result[0][0] = ddx_fine(x[0][0]);
result[0][1] = ddx_fine(x[0][1]);
result[0][2] = ddx_fine(x[0][2]);
result[0][3] = ddx_fine(x[0][3]);
result[1][0] = ddx_fine(x[1][0]);
result[1][1] = ddx_fine(x[1][1]);
result[1][2] = ddx_fine(x[1][2]);
result[1][3] = ddx_fine(x[1][3]);
result[2][0] = ddx_fine(x[2][0]);
result[2][1] = ddx_fine(x[2][1]);
result[2][2] = ddx_fine(x[2][2]);
result[2][3] = ddx_fine(x[2][3]);
result[3][0] = ddx_fine(x[3][0]);
result[3][1] = ddx_fine(x[3][1]);
result[3][2] = ddx_fine(x[3][2]);
result[3][3] = ddx_fine(x[3][3]);
return result;
}
/* Functions named operator.xwx */
bool3 operator.xwx(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
return result;
}
uint3 operator.xwx(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
return result;
}
int3 operator.xwx(int4 v) {
int3 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
return result;
}
float3 operator.xwx(float4 v) {
float3 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
return result;
}
/* Functions named operator cast */
native operator uint(int);
native operator uint(float);
native operator int(uint);
native operator int(float);
native operator float(uint);
native operator float(int);
operator int(bool x) {
return x ? 1 : 0;
}
operator bool(uint x) {
return x != 0;
}
operator bool(int x) {
return x != 0;
}
operator bool(float x) {
return x != 0;
}
operator bool2(bool x, bool y) {
bool2 result;
result.x = x;
result.y = y;
return result;
}
operator bool3(bool x, bool y, bool z) {
bool3 result;
result.x = x;
result.y = y;
result.z = z;
return result;
}
operator bool3(bool2 x, bool y) {
bool3 result;
result.x = x.x;
result.y = x.y;
result.z = y;
return result;
}
operator bool3(bool x, bool2 y) {
bool3 result;
result.x = x;
result.y = y.x;
result.z = y.y;
return result;
}
operator bool4(bool x, bool y, bool z, bool w) {
bool4 result;
result.x = x;
result.y = y;
result.z = z;
result.w = w;
return result;
}
operator bool4(bool2 x, bool y, bool z) {
bool4 result;
result.x = x.x;
result.y = x.y;
result.z = y;
result.w = z;
return result;
}
operator bool4(bool x, bool2 y, bool z) {
bool4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = z;
return result;
}
operator bool4(bool x, bool y, bool2 z) {
bool4 result;
result.x = x;
result.y = y;
result.z = z.x;
result.w = z.y;
return result;
}
operator bool4(bool2 x, bool2 y) {
bool4 result;
result.x = x.x;
result.y = x.y;
result.z = y.x;
result.w = y.y;
return result;
}
operator bool4(bool3 x, bool y) {
bool4 result;
result.x = x.x;
result.y = x.y;
result.z = x.z;
result.w = y;
return result;
}
operator bool4(bool x, bool3 y) {
bool4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = y.z;
return result;
}
operator uint2(uint x, uint y) {
uint2 result;
result.x = x;
result.y = y;
return result;
}
operator uint3(uint x, uint y, uint z) {
uint3 result;
result.x = x;
result.y = y;
result.z = z;
return result;
}
operator uint3(uint2 x, uint y) {
uint3 result;
result.x = x.x;
result.y = x.y;
result.z = y;
return result;
}
operator uint3(uint x, uint2 y) {
uint3 result;
result.x = x;
result.y = y.x;
result.z = y.y;
return result;
}
operator uint4(uint x, uint y, uint z, uint w) {
uint4 result;
result.x = x;
result.y = y;
result.z = z;
result.w = w;
return result;
}
operator uint4(uint2 x, uint y, uint z) {
uint4 result;
result.x = x.x;
result.y = x.y;
result.z = y;
result.w = z;
return result;
}
operator uint4(uint x, uint2 y, uint z) {
uint4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = z;
return result;
}
operator uint4(uint x, uint y, uint2 z) {
uint4 result;
result.x = x;
result.y = y;
result.z = z.x;
result.w = z.y;
return result;
}
operator uint4(uint2 x, uint2 y) {
uint4 result;
result.x = x.x;
result.y = x.y;
result.z = y.x;
result.w = y.y;
return result;
}
operator uint4(uint3 x, uint y) {
uint4 result;
result.x = x.x;
result.y = x.y;
result.z = x.z;
result.w = y;
return result;
}
operator uint4(uint x, uint3 y) {
uint4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = y.z;
return result;
}
operator int2(int x, int y) {
int2 result;
result.x = x;
result.y = y;
return result;
}
operator int3(int x, int y, int z) {
int3 result;
result.x = x;
result.y = y;
result.z = z;
return result;
}
operator int3(int2 x, int y) {
int3 result;
result.x = x.x;
result.y = x.y;
result.z = y;
return result;
}
operator int3(int x, int2 y) {
int3 result;
result.x = x;
result.y = y.x;
result.z = y.y;
return result;
}
operator int4(int x, int y, int z, int w) {
int4 result;
result.x = x;
result.y = y;
result.z = z;
result.w = w;
return result;
}
operator int4(int2 x, int y, int z) {
int4 result;
result.x = x.x;
result.y = x.y;
result.z = y;
result.w = z;
return result;
}
operator int4(int x, int2 y, int z) {
int4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = z;
return result;
}
operator int4(int x, int y, int2 z) {
int4 result;
result.x = x;
result.y = y;
result.z = z.x;
result.w = z.y;
return result;
}
operator int4(int2 x, int2 y) {
int4 result;
result.x = x.x;
result.y = x.y;
result.z = y.x;
result.w = y.y;
return result;
}
operator int4(int3 x, int y) {
int4 result;
result.x = x.x;
result.y = x.y;
result.z = x.z;
result.w = y;
return result;
}
operator int4(int x, int3 y) {
int4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = y.z;
return result;
}
operator float2(float x, float y) {
float2 result;
result.x = x;
result.y = y;
return result;
}
operator float3(float x, float y, float z) {
float3 result;
result.x = x;
result.y = y;
result.z = z;
return result;
}
operator float3(float2 x, float y) {
float3 result;
result.x = x.x;
result.y = x.y;
result.z = y;
return result;
}
operator float3(float x, float2 y) {
float3 result;
result.x = x;
result.y = y.x;
result.z = y.y;
return result;
}
operator float4(float x, float y, float z, float w) {
float4 result;
result.x = x;
result.y = y;
result.z = z;
result.w = w;
return result;
}
operator float4(float2 x, float y, float z) {
float4 result;
result.x = x.x;
result.y = x.y;
result.z = y;
result.w = z;
return result;
}
operator float4(float x, float2 y, float z) {
float4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = z;
return result;
}
operator float4(float x, float y, float2 z) {
float4 result;
result.x = x;
result.y = y;
result.z = z.x;
result.w = z.y;
return result;
}
operator float4(float2 x, float2 y) {
float4 result;
result.x = x.x;
result.y = x.y;
result.z = y.x;
result.w = y.y;
return result;
}
operator float4(float3 x, float y) {
float4 result;
result.x = x.x;
result.y = x.y;
result.z = x.z;
result.w = y;
return result;
}
operator float4(float x, float3 y) {
float4 result;
result.x = x;
result.y = y.x;
result.z = y.y;
result.w = y.z;
return result;
}
operator float2x2(float2 a, float2 b) {
float2x2 result;
result[0] = a;
result[1] = b;
return result;
}
operator float2x3(float3 a, float3 b) {
float2x3 result;
result[0] = a;
result[1] = b;
return result;
}
operator float2x4(float4 a, float4 b) {
float2x4 result;
result[0] = a;
result[1] = b;
return result;
}
operator float3x2(float2 a, float2 b, float2 c) {
float3x2 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator float3x3(float3 a, float3 b, float3 c) {
float3x3 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator float3x4(float4 a, float4 b, float4 c) {
float3x4 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator float4x2(float2 a, float2 b, float2 c, float2 d) {
float4x2 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator float4x3(float3 a, float3 b, float3 c, float3 d) {
float4x3 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator float4x4(float4 a, float4 b, float4 c, float4 d) {
float4x4 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator float2x2(float a, float b, float e, float f) {
return float2x2(float2(a, b), float2(e, f));
}
operator float2x3(float a, float b, float c, float e, float f, float g) {
return float2x3(float3(a, b, c), float3(e, f, g));
}
operator float2x4(float a, float b, float c, float d, float e, float f, float g, float h) {
return float2x4(float4(a, b, c, d), float4(e, f, g, h));
}
operator float3x2(float a, float b, float e, float f, float i, float j) {
return float3x2(float2(a, b), float2(e, f), float2(i, j));
}
operator float3x3(float a, float b, float c, float e, float f, float g, float i, float j, float k) {
return float3x3(float3(a, b, c), float3(e, f, g), float3(i, j, k));
}
operator float3x4(float a, float b, float c, float d, float e, float f, float g, float h, float i, float j, float k, float l) {
return float3x4(float4(a, b, c, d), float4(e, f, g, h), float4(i, j, k, l));
}
operator float4x2(float a, float b, float e, float f, float i, float j, float m, float n) {
return float4x2(float2(a, b), float2(e, f), float2(i, j), float2(m, n));
}
operator float4x3(float a, float b, float c, float e, float f, float g, float i, float j, float k, float m, float n, float o) {
return float4x3(float3(a, b, c), float3(e, f, g), float3(i, j, k), float3(m, n, o));
}
operator float4x4(float a, float b, float c, float d, float e, float f, float g, float h, float i, float j, float k, float l, float m, float n, float o, float p) {
return float4x4(float4(a, b, c, d), float4(e, f, g, h), float4(i, j, k, l), float4(m, n, o, p));
}
operator bool2x2(bool2 a, bool2 b) {
bool2x2 result;
result[0] = a;
result[1] = b;
return result;
}
operator bool2x3(bool3 a, bool3 b) {
bool2x3 result;
result[0] = a;
result[1] = b;
return result;
}
operator bool2x4(bool4 a, bool4 b) {
bool2x4 result;
result[0] = a;
result[1] = b;
return result;
}
operator bool3x2(bool2 a, bool2 b, bool2 c) {
bool3x2 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator bool3x3(bool3 a, bool3 b, bool3 c) {
bool3x3 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator bool3x4(bool4 a, bool4 b, bool4 c) {
bool3x4 result;
result[0] = a;
result[1] = b;
result[2] = c;
return result;
}
operator bool4x2(bool2 a, bool2 b, bool2 c, bool2 d) {
bool4x2 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator bool4x3(bool3 a, bool3 b, bool3 c, bool3 d) {
bool4x3 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator bool4x4(bool4 a, bool4 b, bool4 c, bool4 d) {
bool4x4 result;
result[0] = a;
result[1] = b;
result[2] = c;
result[3] = d;
return result;
}
operator bool2x2(bool a, bool b, bool e, bool f) {
return bool2x2(bool2(a, b), bool2(e, f));
}
operator bool2x3(bool a, bool b, bool c, bool e, bool f, bool g) {
return bool2x3(bool3(a, b, c), bool3(e, f, g));
}
operator bool2x4(bool a, bool b, bool c, bool d, bool e, bool f, bool g, bool h) {
return bool2x4(bool4(a, b, c, d), bool4(e, f, g, h));
}
operator bool3x2(bool a, bool b, bool e, bool f, bool i, bool j) {
return bool3x2(bool2(a, b), bool2(e, f), bool2(i, j));
}
operator bool3x3(bool a, bool b, bool c, bool e, bool f, bool g, bool i, bool j, bool k) {
return bool3x3(bool3(a, b, c), bool3(e, f, g), bool3(i, j, k));
}
operator bool3x4(bool a, bool b, bool c, bool d, bool e, bool f, bool g, bool h, bool i, bool j, bool k, bool l) {
return bool3x4(bool4(a, b, c, d), bool4(e, f, g, h), bool4(i, j, k, l));
}
operator bool4x2(bool a, bool b, bool e, bool f, bool i, bool j, bool m, bool n) {
return bool4x2(bool2(a, b), bool2(e, f), bool2(i, j), bool2(m, n));
}
operator bool4x3(bool a, bool b, bool c, bool e, bool f, bool g, bool i, bool j, bool k, bool m, bool n, bool o) {
return bool4x3(bool3(a, b, c), bool3(e, f, g), bool3(i, j, k), bool3(m, n, o));
}
operator bool4x4(bool a, bool b, bool c, bool d, bool e, bool f, bool g, bool h, bool i, bool j, bool k, bool l, bool m, bool n, bool o, bool p) {
return bool4x4(bool4(a, b, c, d), bool4(e, f, g, h), bool4(i, j, k, l), bool4(m, n, o, p));
}
/* Functions named operator.wyx */
bool3 operator.wyx(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.wyx(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.wyx(int4 v) {
int3 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.wyx(float4 v) {
float3 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
return result;
}
/* Functions named load */
native int load(device atomic_int*);
native uint load(device atomic_uint*);
native int load(threadgroup atomic_int*);
native uint load(threadgroup atomic_uint*);
/* Functions named operator.xxxx */
bool4 operator.xxxx(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.xxxx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.xxxx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xxxx(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xxxx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xxxx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xxxx(int2 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xxxx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xxxx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xxxx(float2 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xxxx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xxxx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.zyxz */
bool4 operator.zyxz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.zyxz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zyxz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zyxz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zyxz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zyxz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zyxz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zyxz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.xz= */
bool3 operator.xz=(bool3 v, bool2 c) {
bool3 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
bool4 operator.xz=(bool4 v, bool2 c) {
bool4 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
uint3 operator.xz=(uint3 v, uint2 c) {
uint3 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
uint4 operator.xz=(uint4 v, uint2 c) {
uint4 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
int3 operator.xz=(int3 v, int2 c) {
int3 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
int4 operator.xz=(int4 v, int2 c) {
int4 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
float3 operator.xz=(float3 v, float2 c) {
float3 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
float4 operator.xz=(float4 v, float2 c) {
float4 result = v;
result.x = c.x;
result.z = c.y;
return result;
}
/* Functions named operator.zyxw */
bool4 operator.zyxw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.zyxw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.zyxw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.zyxw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zz */
bool2 operator.zz(bool3 v) {
bool2 result;
result.x = v.z;
result.y = v.z;
return result;
}
bool2 operator.zz(bool4 v) {
bool2 result;
result.x = v.z;
result.y = v.z;
return result;
}
uint2 operator.zz(uint3 v) {
uint2 result;
result.x = v.z;
result.y = v.z;
return result;
}
uint2 operator.zz(uint4 v) {
uint2 result;
result.x = v.z;
result.y = v.z;
return result;
}
int2 operator.zz(int3 v) {
int2 result;
result.x = v.z;
result.y = v.z;
return result;
}
int2 operator.zz(int4 v) {
int2 result;
result.x = v.z;
result.y = v.z;
return result;
}
float2 operator.zz(float3 v) {
float2 result;
result.x = v.z;
result.y = v.z;
return result;
}
float2 operator.zz(float4 v) {
float2 result;
result.x = v.z;
result.y = v.z;
return result;
}
/* Functions named operator.wxzz */
bool4 operator.wxzz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.wxzz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.wxzz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.wxzz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.wzwy */
bool4 operator.wzwy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.wzwy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.wzwy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.wzwy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wyzy */
bool4 operator.wyzy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.wyzy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.wyzy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.wyzy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.xwxx */
bool4 operator.xwxx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xwxx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xwxx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xwxx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.xyy */
bool3 operator.xyy(bool2 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
bool3 operator.xyy(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
bool3 operator.xyy(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.xyy(uint2 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.xyy(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.xyy(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.xyy(int2 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.xyy(int3 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.xyy(int4 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.xyy(float2 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.xyy(float3 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.xyy(float4 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
return result;
}
/* Functions named operator.wzxy= */
bool4 operator.wzxy=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
uint4 operator.wzxy=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
int4 operator.wzxy=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
float4 operator.wzxy=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
/* Functions named operator.zw */
bool2 operator.zw(bool4 v) {
bool2 result;
result.x = v.z;
result.y = v.w;
return result;
}
uint2 operator.zw(uint4 v) {
uint2 result;
result.x = v.z;
result.y = v.w;
return result;
}
int2 operator.zw(int4 v) {
int2 result;
result.x = v.z;
result.y = v.w;
return result;
}
float2 operator.zw(float4 v) {
float2 result;
result.x = v.z;
result.y = v.w;
return result;
}
/* Functions named operator.xxz */
bool3 operator.xxz(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
bool3 operator.xxz(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.xxz(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.xxz(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.xxz(int3 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.xxz(int4 v) {
int3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.xxz(float3 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.xxz(float4 v) {
float3 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
return result;
}
/* Functions named operator.yxy */
bool3 operator.yxy(bool2 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
bool3 operator.yxy(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
bool3 operator.yxy(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.yxy(uint2 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.yxy(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.yxy(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.yxy(int2 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.yxy(int3 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.yxy(int4 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.yxy(float2 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.yxy(float3 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.yxy(float4 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
return result;
}
/* Functions named count_bits */
/* Functions named operator.yyz */
bool3 operator.yyz(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
bool3 operator.yyz(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.yyz(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.yyz(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.yyz(int3 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.yyz(int4 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.yyz(float3 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.yyz(float4 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
return result;
}
/* Functions named operator.wx */
bool2 operator.wx(bool4 v) {
bool2 result;
result.x = v.w;
result.y = v.x;
return result;
}
uint2 operator.wx(uint4 v) {
uint2 result;
result.x = v.w;
result.y = v.x;
return result;
}
int2 operator.wx(int4 v) {
int2 result;
result.x = v.w;
result.y = v.x;
return result;
}
float2 operator.wx(float4 v) {
float2 result;
result.x = v.w;
result.y = v.x;
return result;
}
/* Functions named operator.yxwz= */
bool4 operator.yxwz=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
uint4 operator.yxwz=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
int4 operator.yxwz=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
float4 operator.yxwz=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.xx */
bool2 operator.xx(bool2 v) {
bool2 result;
result.x = v.x;
result.y = v.x;
return result;
}
bool2 operator.xx(bool3 v) {
bool2 result;
result.x = v.x;
result.y = v.x;
return result;
}
bool2 operator.xx(bool4 v) {
bool2 result;
result.x = v.x;
result.y = v.x;
return result;
}
uint2 operator.xx(uint2 v) {
uint2 result;
result.x = v.x;
result.y = v.x;
return result;
}
uint2 operator.xx(uint3 v) {
uint2 result;
result.x = v.x;
result.y = v.x;
return result;
}
uint2 operator.xx(uint4 v) {
uint2 result;
result.x = v.x;
result.y = v.x;
return result;
}
int2 operator.xx(int2 v) {
int2 result;
result.x = v.x;
result.y = v.x;
return result;
}
int2 operator.xx(int3 v) {
int2 result;
result.x = v.x;
result.y = v.x;
return result;
}
int2 operator.xx(int4 v) {
int2 result;
result.x = v.x;
result.y = v.x;
return result;
}
float2 operator.xx(float2 v) {
float2 result;
result.x = v.x;
result.y = v.x;
return result;
}
float2 operator.xx(float3 v) {
float2 result;
result.x = v.x;
result.y = v.x;
return result;
}
float2 operator.xx(float4 v) {
float2 result;
result.x = v.x;
result.y = v.x;
return result;
}
/* Functions named operator.wzyw */
bool4 operator.wzyw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.wzyw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.wzyw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.wzyw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.zxzy */
bool4 operator.zxzy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.zxzy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zxzy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zxzy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zxzy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zxzy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zxzy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zxzy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.zwxx */
bool4 operator.zwxx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zwxx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zwxx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zwxx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named rsqrt */
float rsqrt(float x) {
return 1 / sqrt(x);
}
float2 rsqrt(float2 x) {
float2 result;
result[0] = rsqrt(x[0]);
result[1] = rsqrt(x[1]);
return result;
}
float3 rsqrt(float3 x) {
float3 result;
result[0] = rsqrt(x[0]);
result[1] = rsqrt(x[1]);
result[2] = rsqrt(x[2]);
return result;
}
float4 rsqrt(float4 x) {
float4 result;
result[0] = rsqrt(x[0]);
result[1] = rsqrt(x[1]);
result[2] = rsqrt(x[2]);
result[3] = rsqrt(x[3]);
return result;
}
float2x2 rsqrt(float2x2 x) {
float2x2 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
return result;
}
float2x3 rsqrt(float2x3 x) {
float2x3 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
return result;
}
float2x4 rsqrt(float2x4 x) {
float2x4 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[0][3] = rsqrt(x[0][3]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
result[1][3] = rsqrt(x[1][3]);
return result;
}
float3x2 rsqrt(float3x2 x) {
float3x2 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
return result;
}
float3x3 rsqrt(float3x3 x) {
float3x3 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
result[2][2] = rsqrt(x[2][2]);
return result;
}
float3x4 rsqrt(float3x4 x) {
float3x4 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[0][3] = rsqrt(x[0][3]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
result[1][3] = rsqrt(x[1][3]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
result[2][2] = rsqrt(x[2][2]);
result[2][3] = rsqrt(x[2][3]);
return result;
}
float4x2 rsqrt(float4x2 x) {
float4x2 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
result[3][0] = rsqrt(x[3][0]);
result[3][1] = rsqrt(x[3][1]);
return result;
}
float4x3 rsqrt(float4x3 x) {
float4x3 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
result[2][2] = rsqrt(x[2][2]);
result[3][0] = rsqrt(x[3][0]);
result[3][1] = rsqrt(x[3][1]);
result[3][2] = rsqrt(x[3][2]);
return result;
}
float4x4 rsqrt(float4x4 x) {
float4x4 result;
result[0][0] = rsqrt(x[0][0]);
result[0][1] = rsqrt(x[0][1]);
result[0][2] = rsqrt(x[0][2]);
result[0][3] = rsqrt(x[0][3]);
result[1][0] = rsqrt(x[1][0]);
result[1][1] = rsqrt(x[1][1]);
result[1][2] = rsqrt(x[1][2]);
result[1][3] = rsqrt(x[1][3]);
result[2][0] = rsqrt(x[2][0]);
result[2][1] = rsqrt(x[2][1]);
result[2][2] = rsqrt(x[2][2]);
result[2][3] = rsqrt(x[2][3]);
result[3][0] = rsqrt(x[3][0]);
result[3][1] = rsqrt(x[3][1]);
result[3][2] = rsqrt(x[3][2]);
result[3][3] = rsqrt(x[3][3]);
return result;
}
/* Functions named operator.z */
native bool operator.z(bool3);
native bool operator.z(bool4);
native uint operator.z(uint3);
native uint operator.z(uint4);
native int operator.z(int3);
native int operator.z(int4);
native float operator.z(float3);
native float operator.z(float4);
/* Functions named operator.wzyx= */
bool4 operator.wzyx=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
uint4 operator.wzyx=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
int4 operator.wzyx=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
float4 operator.wzyx=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.yyxw */
bool4 operator.yyxw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.yyxw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.yyxw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.yyxw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zwz */
bool3 operator.zwz(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
return result;
}
uint3 operator.zwz(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
return result;
}
int3 operator.zwz(int4 v) {
int3 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
return result;
}
float3 operator.zwz(float4 v) {
float3 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
return result;
}
/* Functions named operator.zywz */
bool4 operator.zywz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.zywz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.zywz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.zywz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.zyww */
bool4 operator.zyww(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.zyww(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.zyww(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.zyww(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.xwz= */
bool4 operator.xwz=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
uint4 operator.xwz=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
int4 operator.xwz=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
float4 operator.xwz=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
/* Functions named operator.xyxw */
bool4 operator.xyxw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.xyxw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.xyxw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.xyxw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.wzy= */
bool4 operator.wzy=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
uint4 operator.wzy=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
int4 operator.wzy=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
float4 operator.wzy=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
/* Functions named operator.xxzx */
bool4 operator.xxzx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.xxzx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xxzx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xxzx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xxzx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xxzx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xxzx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xxzx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.ywxz */
bool4 operator.ywxz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.ywxz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.ywxz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.ywxz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.xyxz */
bool4 operator.xyxz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.xyxz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xyxz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xyxz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xyxz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xyxz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xyxz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xyxz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named sqrt */
float sqrt(float x) {
return pow(x, 0.5);
}
float2 sqrt(float2 x) {
float2 result;
result[0] = sqrt(x[0]);
result[1] = sqrt(x[1]);
return result;
}
float3 sqrt(float3 x) {
float3 result;
result[0] = sqrt(x[0]);
result[1] = sqrt(x[1]);
result[2] = sqrt(x[2]);
return result;
}
float4 sqrt(float4 x) {
float4 result;
result[0] = sqrt(x[0]);
result[1] = sqrt(x[1]);
result[2] = sqrt(x[2]);
result[3] = sqrt(x[3]);
return result;
}
float2x2 sqrt(float2x2 x) {
float2x2 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
return result;
}
float2x3 sqrt(float2x3 x) {
float2x3 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
return result;
}
float2x4 sqrt(float2x4 x) {
float2x4 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[0][3] = sqrt(x[0][3]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
result[1][3] = sqrt(x[1][3]);
return result;
}
float3x2 sqrt(float3x2 x) {
float3x2 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
return result;
}
float3x3 sqrt(float3x3 x) {
float3x3 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
result[2][2] = sqrt(x[2][2]);
return result;
}
float3x4 sqrt(float3x4 x) {
float3x4 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[0][3] = sqrt(x[0][3]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
result[1][3] = sqrt(x[1][3]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
result[2][2] = sqrt(x[2][2]);
result[2][3] = sqrt(x[2][3]);
return result;
}
float4x2 sqrt(float4x2 x) {
float4x2 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
result[3][0] = sqrt(x[3][0]);
result[3][1] = sqrt(x[3][1]);
return result;
}
float4x3 sqrt(float4x3 x) {
float4x3 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
result[2][2] = sqrt(x[2][2]);
result[3][0] = sqrt(x[3][0]);
result[3][1] = sqrt(x[3][1]);
result[3][2] = sqrt(x[3][2]);
return result;
}
float4x4 sqrt(float4x4 x) {
float4x4 result;
result[0][0] = sqrt(x[0][0]);
result[0][1] = sqrt(x[0][1]);
result[0][2] = sqrt(x[0][2]);
result[0][3] = sqrt(x[0][3]);
result[1][0] = sqrt(x[1][0]);
result[1][1] = sqrt(x[1][1]);
result[1][2] = sqrt(x[1][2]);
result[1][3] = sqrt(x[1][3]);
result[2][0] = sqrt(x[2][0]);
result[2][1] = sqrt(x[2][1]);
result[2][2] = sqrt(x[2][2]);
result[2][3] = sqrt(x[2][3]);
result[3][0] = sqrt(x[3][0]);
result[3][1] = sqrt(x[3][1]);
result[3][2] = sqrt(x[3][2]);
result[3][3] = sqrt(x[3][3]);
return result;
}
/* Functions named acos */
native float acos(float);
float2 acos(float2 x) {
float2 result;
result[0] = acos(x[0]);
result[1] = acos(x[1]);
return result;
}
float3 acos(float3 x) {
float3 result;
result[0] = acos(x[0]);
result[1] = acos(x[1]);
result[2] = acos(x[2]);
return result;
}
float4 acos(float4 x) {
float4 result;
result[0] = acos(x[0]);
result[1] = acos(x[1]);
result[2] = acos(x[2]);
result[3] = acos(x[3]);
return result;
}
float2x2 acos(float2x2 x) {
float2x2 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
return result;
}
float2x3 acos(float2x3 x) {
float2x3 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
return result;
}
float2x4 acos(float2x4 x) {
float2x4 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[0][3] = acos(x[0][3]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
result[1][3] = acos(x[1][3]);
return result;
}
float3x2 acos(float3x2 x) {
float3x2 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
return result;
}
float3x3 acos(float3x3 x) {
float3x3 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
result[2][2] = acos(x[2][2]);
return result;
}
float3x4 acos(float3x4 x) {
float3x4 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[0][3] = acos(x[0][3]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
result[1][3] = acos(x[1][3]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
result[2][2] = acos(x[2][2]);
result[2][3] = acos(x[2][3]);
return result;
}
float4x2 acos(float4x2 x) {
float4x2 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
result[3][0] = acos(x[3][0]);
result[3][1] = acos(x[3][1]);
return result;
}
float4x3 acos(float4x3 x) {
float4x3 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
result[2][2] = acos(x[2][2]);
result[3][0] = acos(x[3][0]);
result[3][1] = acos(x[3][1]);
result[3][2] = acos(x[3][2]);
return result;
}
float4x4 acos(float4x4 x) {
float4x4 result;
result[0][0] = acos(x[0][0]);
result[0][1] = acos(x[0][1]);
result[0][2] = acos(x[0][2]);
result[0][3] = acos(x[0][3]);
result[1][0] = acos(x[1][0]);
result[1][1] = acos(x[1][1]);
result[1][2] = acos(x[1][2]);
result[1][3] = acos(x[1][3]);
result[2][0] = acos(x[2][0]);
result[2][1] = acos(x[2][1]);
result[2][2] = acos(x[2][2]);
result[2][3] = acos(x[2][3]);
result[3][0] = acos(x[3][0]);
result[3][1] = acos(x[3][1]);
result[3][2] = acos(x[3][2]);
result[3][3] = acos(x[3][3]);
return result;
}
/* Functions named operator.xyww */
bool4 operator.xyww(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.xyww(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.xyww(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.xyww(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator> */
native bool operator>(int, int);
native bool operator>(uint, uint);
native bool operator>(float, float);
native bool2 operator>(uint2, uint2);
native bool3 operator>(uint3, uint3);
native bool4 operator>(uint4, uint4);
native bool2 operator>(int2, int2);
native bool3 operator>(int3, int3);
native bool4 operator>(int4, int4);
native bool2 operator>(float2, float2);
native bool3 operator>(float3, float3);
native bool4 operator>(float4, float4);
native bool2x2 operator>(float2x2, float2x2);
native bool2x3 operator>(float2x3, float2x3);
native bool2x4 operator>(float2x4, float2x4);
native bool3x2 operator>(float3x2, float3x2);
native bool3x3 operator>(float3x3, float3x3);
native bool3x4 operator>(float3x4, float3x4);
native bool4x2 operator>(float4x2, float4x2);
native bool4x3 operator>(float4x3, float4x3);
native bool4x4 operator>(float4x4, float4x4);
/* Functions named operator& */
bool operator&(bool a, bool b) {
return a && b;
}
native int operator&(int, int);
native uint operator&(uint, uint);
/* Functions named operator.zxyz */
bool4 operator.zxyz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.zxyz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zxyz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zxyz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zxyz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zxyz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zxyz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zxyz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.zyzy */
bool4 operator.zyzy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.zyzy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zyzy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zyzy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zyzy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zyzy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zyzy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zyzy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.yxyw */
bool4 operator.yxyw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.yxyw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.yxyw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.yxyw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.zwxz */
bool4 operator.zwxz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zwxz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zwxz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zwxz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.wwxy */
bool4 operator.wwxy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.wwxy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.wwxy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.wwxy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.yx */
bool2 operator.yx(bool2 v) {
bool2 result;
result.x = v.y;
result.y = v.x;
return result;
}
bool2 operator.yx(bool3 v) {
bool2 result;
result.x = v.y;
result.y = v.x;
return result;
}
bool2 operator.yx(bool4 v) {
bool2 result;
result.x = v.y;
result.y = v.x;
return result;
}
uint2 operator.yx(uint2 v) {
uint2 result;
result.x = v.y;
result.y = v.x;
return result;
}
uint2 operator.yx(uint3 v) {
uint2 result;
result.x = v.y;
result.y = v.x;
return result;
}
uint2 operator.yx(uint4 v) {
uint2 result;
result.x = v.y;
result.y = v.x;
return result;
}
int2 operator.yx(int2 v) {
int2 result;
result.x = v.y;
result.y = v.x;
return result;
}
int2 operator.yx(int3 v) {
int2 result;
result.x = v.y;
result.y = v.x;
return result;
}
int2 operator.yx(int4 v) {
int2 result;
result.x = v.y;
result.y = v.x;
return result;
}
float2 operator.yx(float2 v) {
float2 result;
result.x = v.y;
result.y = v.x;
return result;
}
float2 operator.yx(float3 v) {
float2 result;
result.x = v.y;
result.y = v.x;
return result;
}
float2 operator.yx(float4 v) {
float2 result;
result.x = v.y;
result.y = v.x;
return result;
}
/* Functions named tanh */
native float tanh(float);
float2 tanh(float2 x) {
float2 result;
result[0] = tanh(x[0]);
result[1] = tanh(x[1]);
return result;
}
float3 tanh(float3 x) {
float3 result;
result[0] = tanh(x[0]);
result[1] = tanh(x[1]);
result[2] = tanh(x[2]);
return result;
}
float4 tanh(float4 x) {
float4 result;
result[0] = tanh(x[0]);
result[1] = tanh(x[1]);
result[2] = tanh(x[2]);
result[3] = tanh(x[3]);
return result;
}
float2x2 tanh(float2x2 x) {
float2x2 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
return result;
}
float2x3 tanh(float2x3 x) {
float2x3 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
return result;
}
float2x4 tanh(float2x4 x) {
float2x4 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[0][3] = tanh(x[0][3]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
result[1][3] = tanh(x[1][3]);
return result;
}
float3x2 tanh(float3x2 x) {
float3x2 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
return result;
}
float3x3 tanh(float3x3 x) {
float3x3 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
result[2][2] = tanh(x[2][2]);
return result;
}
float3x4 tanh(float3x4 x) {
float3x4 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[0][3] = tanh(x[0][3]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
result[1][3] = tanh(x[1][3]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
result[2][2] = tanh(x[2][2]);
result[2][3] = tanh(x[2][3]);
return result;
}
float4x2 tanh(float4x2 x) {
float4x2 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
result[3][0] = tanh(x[3][0]);
result[3][1] = tanh(x[3][1]);
return result;
}
float4x3 tanh(float4x3 x) {
float4x3 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
result[2][2] = tanh(x[2][2]);
result[3][0] = tanh(x[3][0]);
result[3][1] = tanh(x[3][1]);
result[3][2] = tanh(x[3][2]);
return result;
}
float4x4 tanh(float4x4 x) {
float4x4 result;
result[0][0] = tanh(x[0][0]);
result[0][1] = tanh(x[0][1]);
result[0][2] = tanh(x[0][2]);
result[0][3] = tanh(x[0][3]);
result[1][0] = tanh(x[1][0]);
result[1][1] = tanh(x[1][1]);
result[1][2] = tanh(x[1][2]);
result[1][3] = tanh(x[1][3]);
result[2][0] = tanh(x[2][0]);
result[2][1] = tanh(x[2][1]);
result[2][2] = tanh(x[2][2]);
result[2][3] = tanh(x[2][3]);
result[3][0] = tanh(x[3][0]);
result[3][1] = tanh(x[3][1]);
result[3][2] = tanh(x[3][2]);
result[3][3] = tanh(x[3][3]);
return result;
}
/* Functions named operator.yxz= */
bool3 operator.yxz=(bool3 v, bool3 c) {
bool3 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
bool4 operator.yxz=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
uint3 operator.yxz=(uint3 v, uint3 c) {
uint3 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
uint4 operator.yxz=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
int3 operator.yxz=(int3 v, int3 c) {
int3 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
int4 operator.yxz=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
float3 operator.yxz=(float3 v, float3 c) {
float3 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
float4 operator.yxz=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
/* Functions named operator.wxzy= */
bool4 operator.wxzy=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
uint4 operator.wxzy=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
int4 operator.wxzy=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
float4 operator.wxzy=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
/* Functions named operator* */
native int operator*(int, int);
native uint operator*(uint, uint);
native float operator*(float, float);
native uint2 operator*(uint2, uint2);
native uint2 operator*(uint2, uint);
native uint2 operator*(uint, uint2);
native uint3 operator*(uint3, uint3);
native uint3 operator*(uint3, uint);
native uint3 operator*(uint, uint3);
native uint4 operator*(uint4, uint4);
native uint4 operator*(uint4, uint);
native uint4 operator*(uint, uint4);
native int2 operator*(int2, int2);
native int2 operator*(int2, int);
native int2 operator*(int, int2);
native int3 operator*(int3, int3);
native int3 operator*(int3, int);
native int3 operator*(int, int3);
native int4 operator*(int4, int4);
native int4 operator*(int4, int);
native int4 operator*(int, int4);
native float2 operator*(float2, float2);
native float2 operator*(float2, float);
native float2 operator*(float, float2);
native float3 operator*(float3, float3);
native float3 operator*(float3, float);
native float3 operator*(float, float3);
native float4 operator*(float4, float4);
native float4 operator*(float4, float);
native float4 operator*(float, float4);
native float2x2 operator*(float2x2, float2x2);
native float2x2 operator*(float2x2, float);
native float2x2 operator*(float, float2x2);
native float2x3 operator*(float2x3, float2x3);
native float2x3 operator*(float2x3, float);
native float2x3 operator*(float, float2x3);
native float2x4 operator*(float2x4, float2x4);
native float2x4 operator*(float2x4, float);
native float2x4 operator*(float, float2x4);
native float3x2 operator*(float3x2, float3x2);
native float3x2 operator*(float3x2, float);
native float3x2 operator*(float, float3x2);
native float3x3 operator*(float3x3, float3x3);
native float3x3 operator*(float3x3, float);
native float3x3 operator*(float, float3x3);
native float3x4 operator*(float3x4, float3x4);
native float3x4 operator*(float3x4, float);
native float3x4 operator*(float, float3x4);
native float4x2 operator*(float4x2, float4x2);
native float4x2 operator*(float4x2, float);
native float4x2 operator*(float, float4x2);
native float4x3 operator*(float4x3, float4x3);
native float4x3 operator*(float4x3, float);
native float4x3 operator*(float, float4x3);
native float4x4 operator*(float4x4, float4x4);
native float4x4 operator*(float4x4, float);
native float4x4 operator*(float, float4x4);
/* Functions named cos */
native float cos(float);
float2 cos(float2 x) {
float2 result;
result[0] = cos(x[0]);
result[1] = cos(x[1]);
return result;
}
float3 cos(float3 x) {
float3 result;
result[0] = cos(x[0]);
result[1] = cos(x[1]);
result[2] = cos(x[2]);
return result;
}
float4 cos(float4 x) {
float4 result;
result[0] = cos(x[0]);
result[1] = cos(x[1]);
result[2] = cos(x[2]);
result[3] = cos(x[3]);
return result;
}
float2x2 cos(float2x2 x) {
float2x2 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
return result;
}
float2x3 cos(float2x3 x) {
float2x3 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
return result;
}
float2x4 cos(float2x4 x) {
float2x4 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[0][3] = cos(x[0][3]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
result[1][3] = cos(x[1][3]);
return result;
}
float3x2 cos(float3x2 x) {
float3x2 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
return result;
}
float3x3 cos(float3x3 x) {
float3x3 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
result[2][2] = cos(x[2][2]);
return result;
}
float3x4 cos(float3x4 x) {
float3x4 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[0][3] = cos(x[0][3]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
result[1][3] = cos(x[1][3]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
result[2][2] = cos(x[2][2]);
result[2][3] = cos(x[2][3]);
return result;
}
float4x2 cos(float4x2 x) {
float4x2 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
result[3][0] = cos(x[3][0]);
result[3][1] = cos(x[3][1]);
return result;
}
float4x3 cos(float4x3 x) {
float4x3 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
result[2][2] = cos(x[2][2]);
result[3][0] = cos(x[3][0]);
result[3][1] = cos(x[3][1]);
result[3][2] = cos(x[3][2]);
return result;
}
float4x4 cos(float4x4 x) {
float4x4 result;
result[0][0] = cos(x[0][0]);
result[0][1] = cos(x[0][1]);
result[0][2] = cos(x[0][2]);
result[0][3] = cos(x[0][3]);
result[1][0] = cos(x[1][0]);
result[1][1] = cos(x[1][1]);
result[1][2] = cos(x[1][2]);
result[1][3] = cos(x[1][3]);
result[2][0] = cos(x[2][0]);
result[2][1] = cos(x[2][1]);
result[2][2] = cos(x[2][2]);
result[2][3] = cos(x[2][3]);
result[3][0] = cos(x[3][0]);
result[3][1] = cos(x[3][1]);
result[3][2] = cos(x[3][2]);
result[3][3] = cos(x[3][3]);
return result;
}
/* Functions named operator.zzzw */
bool4 operator.zzzw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.zzzw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.zzzw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.zzzw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.yywy */
bool4 operator.yywy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.yywy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.yywy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.yywy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.xzwy= */
bool4 operator.xzwy=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
uint4 operator.xzwy=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
int4 operator.xzwy=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
float4 operator.xzwy=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
result.y = c.w;
return result;
}
/* Functions named operator.ywzz */
bool4 operator.ywzz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.ywzz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.ywzz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.ywzz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.zw= */
bool4 operator.zw=(bool4 v, bool2 c) {
bool4 result = v;
result.z = c.x;
result.w = c.y;
return result;
}
uint4 operator.zw=(uint4 v, uint2 c) {
uint4 result = v;
result.z = c.x;
result.w = c.y;
return result;
}
int4 operator.zw=(int4 v, int2 c) {
int4 result = v;
result.z = c.x;
result.w = c.y;
return result;
}
float4 operator.zw=(float4 v, float2 c) {
float4 result = v;
result.z = c.x;
result.w = c.y;
return result;
}
/* Functions named operator.xzxz */
bool4 operator.xzxz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.xzxz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xzxz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xzxz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xzxz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xzxz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xzxz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xzxz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator== */
native bool operator==(bool, bool);
native bool operator==(int, int);
native bool operator==(uint, uint);
native bool operator==(float, float);
native bool2 operator==(bool2, bool2);
native bool3 operator==(bool3, bool3);
native bool4 operator==(bool4, bool4);
native bool2 operator==(uint2, uint2);
native bool3 operator==(uint3, uint3);
native bool4 operator==(uint4, uint4);
native bool2 operator==(int2, int2);
native bool3 operator==(int3, int3);
native bool4 operator==(int4, int4);
native bool2 operator==(float2, float2);
native bool3 operator==(float3, float3);
native bool4 operator==(float4, float4);
native bool2x2 operator==(float2x2, float2x2);
native bool2x3 operator==(float2x3, float2x3);
native bool2x4 operator==(float2x4, float2x4);
native bool3x2 operator==(float3x2, float3x2);
native bool3x3 operator==(float3x3, float3x3);
native bool3x4 operator==(float3x4, float3x4);
native bool4x2 operator==(float4x2, float4x2);
native bool4x3 operator==(float4x3, float4x3);
native bool4x4 operator==(float4x4, float4x4);
native bool2x2 operator==(bool2x2, bool2x2);
native bool2x3 operator==(bool2x3, bool2x3);
native bool2x4 operator==(bool2x4, bool2x4);
native bool3x2 operator==(bool3x2, bool3x2);
native bool3x3 operator==(bool3x3, bool3x3);
native bool3x4 operator==(bool3x4, bool3x4);
native bool4x2 operator==(bool4x2, bool4x2);
native bool4x3 operator==(bool4x3, bool4x3);
native bool4x4 operator==(bool4x4, bool4x4);
/* Functions named operator>> */
native int operator>>(int, uint);
native uint operator>>(uint, uint);
/* Functions named reflect */
float reflect(float i, float n) {
return i - 2 * n * dot(i, n);
}
float2 reflect(float2 i, float2 n) {
return i - 2 * n * dot(i, n);
}
float3 reflect(float3 i, float3 n) {
return i - 2 * n * dot(i, n);
}
float4 reflect(float4 i, float4 n) {
return i - 2 * n * dot(i, n);
}
/* Functions named operator.wwxw */
bool4 operator.wwxw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.wwxw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.wwxw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.wwxw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.xzyz */
bool4 operator.xzyz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.xzyz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xzyz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xzyz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xzyz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xzyz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xzyz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xzyz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named lit */
float4 lit(float n_dot_l, float n_dot_h, float m) {
float ambient = 1;
float diffuse = max(0, n_dot_l);
float specular = n_dot_l < 0 || n_dot_h < 0 ? 0 : n_dot_h * m;
float4 result;
result.x = ambient;
result.y = diffuse;
result.z = specular;
result.w = 1;
return result;
}
/* Functions named operator.yxwx */
bool4 operator.yxwx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.yxwx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.yxwx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.yxwx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named log2 */
float log2(float x) {
return log(x) / log(float(2));
}
float2 log2(float2 x) {
float2 result;
result[0] = log2(x[0]);
result[1] = log2(x[1]);
return result;
}
float3 log2(float3 x) {
float3 result;
result[0] = log2(x[0]);
result[1] = log2(x[1]);
result[2] = log2(x[2]);
return result;
}
float4 log2(float4 x) {
float4 result;
result[0] = log2(x[0]);
result[1] = log2(x[1]);
result[2] = log2(x[2]);
result[3] = log2(x[3]);
return result;
}
float2x2 log2(float2x2 x) {
float2x2 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
return result;
}
float2x3 log2(float2x3 x) {
float2x3 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
return result;
}
float2x4 log2(float2x4 x) {
float2x4 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[0][3] = log2(x[0][3]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
result[1][3] = log2(x[1][3]);
return result;
}
float3x2 log2(float3x2 x) {
float3x2 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
return result;
}
float3x3 log2(float3x3 x) {
float3x3 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
result[2][2] = log2(x[2][2]);
return result;
}
float3x4 log2(float3x4 x) {
float3x4 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[0][3] = log2(x[0][3]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
result[1][3] = log2(x[1][3]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
result[2][2] = log2(x[2][2]);
result[2][3] = log2(x[2][3]);
return result;
}
float4x2 log2(float4x2 x) {
float4x2 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
result[3][0] = log2(x[3][0]);
result[3][1] = log2(x[3][1]);
return result;
}
float4x3 log2(float4x3 x) {
float4x3 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
result[2][2] = log2(x[2][2]);
result[3][0] = log2(x[3][0]);
result[3][1] = log2(x[3][1]);
result[3][2] = log2(x[3][2]);
return result;
}
float4x4 log2(float4x4 x) {
float4x4 result;
result[0][0] = log2(x[0][0]);
result[0][1] = log2(x[0][1]);
result[0][2] = log2(x[0][2]);
result[0][3] = log2(x[0][3]);
result[1][0] = log2(x[1][0]);
result[1][1] = log2(x[1][1]);
result[1][2] = log2(x[1][2]);
result[1][3] = log2(x[1][3]);
result[2][0] = log2(x[2][0]);
result[2][1] = log2(x[2][1]);
result[2][2] = log2(x[2][2]);
result[2][3] = log2(x[2][3]);
result[3][0] = log2(x[3][0]);
result[3][1] = log2(x[3][1]);
result[3][2] = log2(x[3][2]);
result[3][3] = log2(x[3][3]);
return result;
}
/* Functions named normalize */
float normalize(float x) {
return x / length(x);
}
float2 normalize(float2 x) {
return x / length(x);
}
float3 normalize(float3 x) {
return x / length(x);
}
float4 normalize(float4 x) {
return x / length(x);
}
/* Functions named ldexp */
float ldexp(float x, float e) {
return x * pow(2, e);
}
float2 ldexp(float2 x, float2 y) {
float2 result;
result[0] = ldexp(x[0], y[0]);
result[1] = ldexp(x[1], y[1]);
return result;
}
float3 ldexp(float3 x, float3 y) {
float3 result;
result[0] = ldexp(x[0], y[0]);
result[1] = ldexp(x[1], y[1]);
result[2] = ldexp(x[2], y[2]);
return result;
}
float4 ldexp(float4 x, float4 y) {
float4 result;
result[0] = ldexp(x[0], y[0]);
result[1] = ldexp(x[1], y[1]);
result[2] = ldexp(x[2], y[2]);
result[3] = ldexp(x[3], y[3]);
return result;
}
float2x2 ldexp(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
return result;
}
float2x3 ldexp(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
return result;
}
float2x4 ldexp(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[0][3] = ldexp(x[0][3], y[0][3]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
result[1][3] = ldexp(x[1][3], y[1][3]);
return result;
}
float3x2 ldexp(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
return result;
}
float3x3 ldexp(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
result[2][2] = ldexp(x[2][2], y[2][2]);
return result;
}
float3x4 ldexp(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[0][3] = ldexp(x[0][3], y[0][3]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
result[1][3] = ldexp(x[1][3], y[1][3]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
result[2][2] = ldexp(x[2][2], y[2][2]);
result[2][3] = ldexp(x[2][3], y[2][3]);
return result;
}
float4x2 ldexp(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
result[3][0] = ldexp(x[3][0], y[3][0]);
result[3][1] = ldexp(x[3][1], y[3][1]);
return result;
}
float4x3 ldexp(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
result[2][2] = ldexp(x[2][2], y[2][2]);
result[3][0] = ldexp(x[3][0], y[3][0]);
result[3][1] = ldexp(x[3][1], y[3][1]);
result[3][2] = ldexp(x[3][2], y[3][2]);
return result;
}
float4x4 ldexp(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = ldexp(x[0][0], y[0][0]);
result[0][1] = ldexp(x[0][1], y[0][1]);
result[0][2] = ldexp(x[0][2], y[0][2]);
result[0][3] = ldexp(x[0][3], y[0][3]);
result[1][0] = ldexp(x[1][0], y[1][0]);
result[1][1] = ldexp(x[1][1], y[1][1]);
result[1][2] = ldexp(x[1][2], y[1][2]);
result[1][3] = ldexp(x[1][3], y[1][3]);
result[2][0] = ldexp(x[2][0], y[2][0]);
result[2][1] = ldexp(x[2][1], y[2][1]);
result[2][2] = ldexp(x[2][2], y[2][2]);
result[2][3] = ldexp(x[2][3], y[2][3]);
result[3][0] = ldexp(x[3][0], y[3][0]);
result[3][1] = ldexp(x[3][1], y[3][1]);
result[3][2] = ldexp(x[3][2], y[3][2]);
result[3][3] = ldexp(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.xzwz */
bool4 operator.xzwz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.xzwz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.xzwz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.xzwz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.wxyx */
bool4 operator.wxyx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.wxyx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.wxyx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.wxyx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.ywxw */
bool4 operator.ywxw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.ywxw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.ywxw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.ywxw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zyyz */
bool4 operator.zyyz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.zyyz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zyyz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zyyz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zyyz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zyyz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zyyz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zyyz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named abs */
uint abs(uint x) {
return x;
}
int abs(int x) {
if (x < 0)
return -x;
return x;
}
float abs(float x) {
if (x < 0)
return -x;
return x;
}
uint2 abs(uint2 x) {
uint2 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
return result;
}
uint3 abs(uint3 x) {
uint3 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
return result;
}
uint4 abs(uint4 x) {
uint4 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
result[3] = abs(x[3]);
return result;
}
int2 abs(int2 x) {
int2 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
return result;
}
int3 abs(int3 x) {
int3 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
return result;
}
int4 abs(int4 x) {
int4 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
result[3] = abs(x[3]);
return result;
}
float2 abs(float2 x) {
float2 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
return result;
}
float3 abs(float3 x) {
float3 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
return result;
}
float4 abs(float4 x) {
float4 result;
result[0] = abs(x[0]);
result[1] = abs(x[1]);
result[2] = abs(x[2]);
result[3] = abs(x[3]);
return result;
}
float2x2 abs(float2x2 x) {
float2x2 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
return result;
}
float2x3 abs(float2x3 x) {
float2x3 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
return result;
}
float2x4 abs(float2x4 x) {
float2x4 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[0][3] = abs(x[0][3]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
result[1][3] = abs(x[1][3]);
return result;
}
float3x2 abs(float3x2 x) {
float3x2 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
return result;
}
float3x3 abs(float3x3 x) {
float3x3 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
result[2][2] = abs(x[2][2]);
return result;
}
float3x4 abs(float3x4 x) {
float3x4 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[0][3] = abs(x[0][3]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
result[1][3] = abs(x[1][3]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
result[2][2] = abs(x[2][2]);
result[2][3] = abs(x[2][3]);
return result;
}
float4x2 abs(float4x2 x) {
float4x2 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
result[3][0] = abs(x[3][0]);
result[3][1] = abs(x[3][1]);
return result;
}
float4x3 abs(float4x3 x) {
float4x3 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
result[2][2] = abs(x[2][2]);
result[3][0] = abs(x[3][0]);
result[3][1] = abs(x[3][1]);
result[3][2] = abs(x[3][2]);
return result;
}
float4x4 abs(float4x4 x) {
float4x4 result;
result[0][0] = abs(x[0][0]);
result[0][1] = abs(x[0][1]);
result[0][2] = abs(x[0][2]);
result[0][3] = abs(x[0][3]);
result[1][0] = abs(x[1][0]);
result[1][1] = abs(x[1][1]);
result[1][2] = abs(x[1][2]);
result[1][3] = abs(x[1][3]);
result[2][0] = abs(x[2][0]);
result[2][1] = abs(x[2][1]);
result[2][2] = abs(x[2][2]);
result[2][3] = abs(x[2][3]);
result[3][0] = abs(x[3][0]);
result[3][1] = abs(x[3][1]);
result[3][2] = abs(x[3][2]);
result[3][3] = abs(x[3][3]);
return result;
}
/* Functions named operator.wwyy */
bool4 operator.wwyy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.wwyy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.wwyy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.wwyy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named round */
native float round(float);
float2 round(float2 x) {
float2 result;
result[0] = round(x[0]);
result[1] = round(x[1]);
return result;
}
float3 round(float3 x) {
float3 result;
result[0] = round(x[0]);
result[1] = round(x[1]);
result[2] = round(x[2]);
return result;
}
float4 round(float4 x) {
float4 result;
result[0] = round(x[0]);
result[1] = round(x[1]);
result[2] = round(x[2]);
result[3] = round(x[3]);
return result;
}
float2x2 round(float2x2 x) {
float2x2 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
return result;
}
float2x3 round(float2x3 x) {
float2x3 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
return result;
}
float2x4 round(float2x4 x) {
float2x4 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[0][3] = round(x[0][3]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
result[1][3] = round(x[1][3]);
return result;
}
float3x2 round(float3x2 x) {
float3x2 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
return result;
}
float3x3 round(float3x3 x) {
float3x3 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
result[2][2] = round(x[2][2]);
return result;
}
float3x4 round(float3x4 x) {
float3x4 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[0][3] = round(x[0][3]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
result[1][3] = round(x[1][3]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
result[2][2] = round(x[2][2]);
result[2][3] = round(x[2][3]);
return result;
}
float4x2 round(float4x2 x) {
float4x2 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
result[3][0] = round(x[3][0]);
result[3][1] = round(x[3][1]);
return result;
}
float4x3 round(float4x3 x) {
float4x3 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
result[2][2] = round(x[2][2]);
result[3][0] = round(x[3][0]);
result[3][1] = round(x[3][1]);
result[3][2] = round(x[3][2]);
return result;
}
float4x4 round(float4x4 x) {
float4x4 result;
result[0][0] = round(x[0][0]);
result[0][1] = round(x[0][1]);
result[0][2] = round(x[0][2]);
result[0][3] = round(x[0][3]);
result[1][0] = round(x[1][0]);
result[1][1] = round(x[1][1]);
result[1][2] = round(x[1][2]);
result[1][3] = round(x[1][3]);
result[2][0] = round(x[2][0]);
result[2][1] = round(x[2][1]);
result[2][2] = round(x[2][2]);
result[2][3] = round(x[2][3]);
result[3][0] = round(x[3][0]);
result[3][1] = round(x[3][1]);
result[3][2] = round(x[3][2]);
result[3][3] = round(x[3][3]);
return result;
}
/* Functions named mul */
uint mul(uint x, uint y) {
return x * y;
}
int mul(int x, int y) {
return x * y;
}
float mul(float x, float y) {
return x * y;
}
uint2 mul(uint x, uint2 y) {
uint2 result;
result[0] = x * y[0];
result[1] = x * y[1];
return result;
}
uint2 mul(uint2 x, uint y) {
uint2 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
return result;
}
uint3 mul(uint x, uint3 y) {
uint3 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
return result;
}
uint3 mul(uint3 x, uint y) {
uint3 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
return result;
}
uint4 mul(uint x, uint4 y) {
uint4 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
result[3] = x * y[3];
return result;
}
uint4 mul(uint4 x, uint y) {
uint4 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
result[3] = x[3] * y;
return result;
}
int2 mul(int x, int2 y) {
int2 result;
result[0] = x * y[0];
result[1] = x * y[1];
return result;
}
int2 mul(int2 x, int y) {
int2 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
return result;
}
int3 mul(int x, int3 y) {
int3 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
return result;
}
int3 mul(int3 x, int y) {
int3 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
return result;
}
int4 mul(int x, int4 y) {
int4 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
result[3] = x * y[3];
return result;
}
int4 mul(int4 x, int y) {
int4 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
result[3] = x[3] * y;
return result;
}
float2 mul(float x, float2 y) {
float2 result;
result[0] = x * y[0];
result[1] = x * y[1];
return result;
}
float2 mul(float2 x, float y) {
float2 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
return result;
}
float3 mul(float x, float3 y) {
float3 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
return result;
}
float3 mul(float3 x, float y) {
float3 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
return result;
}
float4 mul(float x, float4 y) {
float4 result;
result[0] = x * y[0];
result[1] = x * y[1];
result[2] = x * y[2];
result[3] = x * y[3];
return result;
}
float4 mul(float4 x, float y) {
float4 result;
result[0] = x[0] * y;
result[1] = x[1] * y;
result[2] = x[2] * y;
result[3] = x[3] * y;
return result;
}
float2x2 mul(float x, float2x2 y) {
float2x2 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
return result;
}
float2x2 mul(float2x2 x, float y) {
float2x2 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
return result;
}
float2x3 mul(float x, float2x3 y) {
float2x3 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
return result;
}
float2x3 mul(float2x3 x, float y) {
float2x3 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
return result;
}
float2x4 mul(float x, float2x4 y) {
float2x4 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[0][3] = x * y[0][3];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
result[1][3] = x * y[1][3];
return result;
}
float2x4 mul(float2x4 x, float y) {
float2x4 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[0][3] = x[0][3] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
result[1][3] = x[1][3] * y;
return result;
}
float3x2 mul(float x, float3x2 y) {
float3x2 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
return result;
}
float3x2 mul(float3x2 x, float y) {
float3x2 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
return result;
}
float3x3 mul(float x, float3x3 y) {
float3x3 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
result[2][2] = x * y[2][2];
return result;
}
float3x3 mul(float3x3 x, float y) {
float3x3 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
result[2][2] = x[2][2] * y;
return result;
}
float3x4 mul(float x, float3x4 y) {
float3x4 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[0][3] = x * y[0][3];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
result[1][3] = x * y[1][3];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
result[2][2] = x * y[2][2];
result[2][3] = x * y[2][3];
return result;
}
float3x4 mul(float3x4 x, float y) {
float3x4 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[0][3] = x[0][3] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
result[1][3] = x[1][3] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
result[2][2] = x[2][2] * y;
result[2][3] = x[2][3] * y;
return result;
}
float4x2 mul(float x, float4x2 y) {
float4x2 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
result[3][0] = x * y[3][0];
result[3][1] = x * y[3][1];
return result;
}
float4x2 mul(float4x2 x, float y) {
float4x2 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
result[3][0] = x[3][0] * y;
result[3][1] = x[3][1] * y;
return result;
}
float4x3 mul(float x, float4x3 y) {
float4x3 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
result[2][2] = x * y[2][2];
result[3][0] = x * y[3][0];
result[3][1] = x * y[3][1];
result[3][2] = x * y[3][2];
return result;
}
float4x3 mul(float4x3 x, float y) {
float4x3 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
result[2][2] = x[2][2] * y;
result[3][0] = x[3][0] * y;
result[3][1] = x[3][1] * y;
result[3][2] = x[3][2] * y;
return result;
}
float4x4 mul(float x, float4x4 y) {
float4x4 result;
result[0][0] = x * y[0][0];
result[0][1] = x * y[0][1];
result[0][2] = x * y[0][2];
result[0][3] = x * y[0][3];
result[1][0] = x * y[1][0];
result[1][1] = x * y[1][1];
result[1][2] = x * y[1][2];
result[1][3] = x * y[1][3];
result[2][0] = x * y[2][0];
result[2][1] = x * y[2][1];
result[2][2] = x * y[2][2];
result[2][3] = x * y[2][3];
result[3][0] = x * y[3][0];
result[3][1] = x * y[3][1];
result[3][2] = x * y[3][2];
result[3][3] = x * y[3][3];
return result;
}
float4x4 mul(float4x4 x, float y) {
float4x4 result;
result[0][0] = x[0][0] * y;
result[0][1] = x[0][1] * y;
result[0][2] = x[0][2] * y;
result[0][3] = x[0][3] * y;
result[1][0] = x[1][0] * y;
result[1][1] = x[1][1] * y;
result[1][2] = x[1][2] * y;
result[1][3] = x[1][3] * y;
result[2][0] = x[2][0] * y;
result[2][1] = x[2][1] * y;
result[2][2] = x[2][2] * y;
result[2][3] = x[2][3] * y;
result[3][0] = x[3][0] * y;
result[3][1] = x[3][1] * y;
result[3][2] = x[3][2] * y;
result[3][3] = x[3][3] * y;
return result;
}
uint mul(uint2 x, uint2 y) {
return dot(x, y);
}
uint mul(uint3 x, uint3 y) {
return dot(x, y);
}
uint mul(uint4 x, uint4 y) {
return dot(x, y);
}
int mul(int2 x, int2 y) {
return dot(x, y);
}
int mul(int3 x, int3 y) {
return dot(x, y);
}
int mul(int4 x, int4 y) {
return dot(x, y);
}
float mul(float2 x, float2 y) {
return dot(x, y);
}
float mul(float3 x, float3 y) {
return dot(x, y);
}
float mul(float4 x, float4 y) {
return dot(x, y);
}
float2 mul(float2 x, float2x2 y) {
float2 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
return result;
}
float2 mul(float2x2 x, float2 y) {
float2 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
return result;
}
float3 mul(float2 x, float2x3 y) {
float3 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
return result;
}
float2 mul(float2x3 x, float3 y) {
float2 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
return result;
}
float4 mul(float2 x, float2x4 y) {
float4 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
result[3] = 0;
result[3] += x[0] * y[0][3];
result[3] += x[1] * y[1][3];
return result;
}
float2 mul(float2x4 x, float4 y) {
float2 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[0] += x[0][3] * y[3];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
result[1] += x[1][3] * y[3];
return result;
}
float2 mul(float3 x, float3x2 y) {
float2 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
return result;
}
float3 mul(float3x2 x, float2 y) {
float3 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
return result;
}
float3 mul(float3 x, float3x3 y) {
float3 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
result[2] += x[2] * y[2][2];
return result;
}
float3 mul(float3x3 x, float3 y) {
float3 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
result[2] += x[2][2] * y[2];
return result;
}
float4 mul(float3 x, float3x4 y) {
float4 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
result[2] += x[2] * y[2][2];
result[3] = 0;
result[3] += x[0] * y[0][3];
result[3] += x[1] * y[1][3];
result[3] += x[2] * y[2][3];
return result;
}
float3 mul(float3x4 x, float4 y) {
float3 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[0] += x[0][3] * y[3];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
result[1] += x[1][3] * y[3];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
result[2] += x[2][2] * y[2];
result[2] += x[2][3] * y[3];
return result;
}
float2 mul(float4 x, float4x2 y) {
float2 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[0] += x[3] * y[3][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
result[1] += x[3] * y[3][1];
return result;
}
float4 mul(float4x2 x, float2 y) {
float4 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
result[3] = 0;
result[3] += x[3][0] * y[0];
result[3] += x[3][1] * y[1];
return result;
}
float3 mul(float4 x, float4x3 y) {
float3 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[0] += x[3] * y[3][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
result[1] += x[3] * y[3][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
result[2] += x[2] * y[2][2];
result[2] += x[3] * y[3][2];
return result;
}
float4 mul(float4x3 x, float3 y) {
float4 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
result[2] += x[2][2] * y[2];
result[3] = 0;
result[3] += x[3][0] * y[0];
result[3] += x[3][1] * y[1];
result[3] += x[3][2] * y[2];
return result;
}
float4 mul(float4 x, float4x4 y) {
float4 result;
result[0] = 0;
result[0] += x[0] * y[0][0];
result[0] += x[1] * y[1][0];
result[0] += x[2] * y[2][0];
result[0] += x[3] * y[3][0];
result[1] = 0;
result[1] += x[0] * y[0][1];
result[1] += x[1] * y[1][1];
result[1] += x[2] * y[2][1];
result[1] += x[3] * y[3][1];
result[2] = 0;
result[2] += x[0] * y[0][2];
result[2] += x[1] * y[1][2];
result[2] += x[2] * y[2][2];
result[2] += x[3] * y[3][2];
result[3] = 0;
result[3] += x[0] * y[0][3];
result[3] += x[1] * y[1][3];
result[3] += x[2] * y[2][3];
result[3] += x[3] * y[3][3];
return result;
}
float4 mul(float4x4 x, float4 y) {
float4 result;
result[0] = 0;
result[0] += x[0][0] * y[0];
result[0] += x[0][1] * y[1];
result[0] += x[0][2] * y[2];
result[0] += x[0][3] * y[3];
result[1] = 0;
result[1] += x[1][0] * y[0];
result[1] += x[1][1] * y[1];
result[1] += x[1][2] * y[2];
result[1] += x[1][3] * y[3];
result[2] = 0;
result[2] += x[2][0] * y[0];
result[2] += x[2][1] * y[1];
result[2] += x[2][2] * y[2];
result[2] += x[2][3] * y[3];
result[3] = 0;
result[3] += x[3][0] * y[0];
result[3] += x[3][1] * y[1];
result[3] += x[3][2] * y[2];
result[3] += x[3][3] * y[3];
return result;
}
float2x2 mul(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
return result;
}
float2x3 mul(float2x2 x, float2x3 y) {
float2x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
return result;
}
float2x4 mul(float2x2 x, float2x4 y) {
float2x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
return result;
}
float2x2 mul(float2x3 x, float3x2 y) {
float2x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
return result;
}
float2x3 mul(float2x3 x, float3x3 y) {
float2x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
return result;
}
float2x4 mul(float2x3 x, float3x4 y) {
float2x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
return result;
}
float2x2 mul(float2x4 x, float4x2 y) {
float2x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
return result;
}
float2x3 mul(float2x4 x, float4x3 y) {
float2x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
return result;
}
float2x4 mul(float2x4 x, float4x4 y) {
float2x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[0][3] += x[0][3] * y[3][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
result[1][3] += x[1][3] * y[3][3];
return result;
}
float3x2 mul(float3x2 x, float2x2 y) {
float3x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
return result;
}
float3x3 mul(float3x2 x, float2x3 y) {
float3x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
return result;
}
float3x4 mul(float3x2 x, float2x4 y) {
float3x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
return result;
}
float3x2 mul(float3x3 x, float3x2 y) {
float3x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
return result;
}
float3x3 mul(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
return result;
}
float3x4 mul(float3x3 x, float3x4 y) {
float3x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
result[2][3] += x[2][2] * y[2][3];
return result;
}
float3x2 mul(float3x4 x, float4x2 y) {
float3x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
return result;
}
float3x3 mul(float3x4 x, float4x3 y) {
float3x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][2] += x[2][3] * y[3][2];
return result;
}
float3x4 mul(float3x4 x, float4x4 y) {
float3x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[0][3] += x[0][3] * y[3][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
result[1][3] += x[1][3] * y[3][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][2] += x[2][3] * y[3][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
result[2][3] += x[2][2] * y[2][3];
result[2][3] += x[2][3] * y[3][3];
return result;
}
float4x2 mul(float4x2 x, float2x2 y) {
float4x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
return result;
}
float4x3 mul(float4x2 x, float2x3 y) {
float4x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
return result;
}
float4x4 mul(float4x2 x, float2x4 y) {
float4x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
result[3][3] = 0;
result[3][3] += x[3][0] * y[0][3];
result[3][3] += x[3][1] * y[1][3];
return result;
}
float4x2 mul(float4x3 x, float3x2 y) {
float4x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
return result;
}
float4x3 mul(float4x3 x, float3x3 y) {
float4x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
result[3][2] += x[3][2] * y[2][2];
return result;
}
float4x4 mul(float4x3 x, float3x4 y) {
float4x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
result[2][3] += x[2][2] * y[2][3];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
result[3][2] += x[3][2] * y[2][2];
result[3][3] = 0;
result[3][3] += x[3][0] * y[0][3];
result[3][3] += x[3][1] * y[1][3];
result[3][3] += x[3][2] * y[2][3];
return result;
}
float4x2 mul(float4x4 x, float4x2 y) {
float4x2 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][0] += x[3][3] * y[3][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
result[3][1] += x[3][3] * y[3][1];
return result;
}
float4x3 mul(float4x4 x, float4x3 y) {
float4x3 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][2] += x[2][3] * y[3][2];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][0] += x[3][3] * y[3][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
result[3][1] += x[3][3] * y[3][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
result[3][2] += x[3][2] * y[2][2];
result[3][2] += x[3][3] * y[3][2];
return result;
}
float4x4 mul(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = 0;
result[0][0] += x[0][0] * y[0][0];
result[0][0] += x[0][1] * y[1][0];
result[0][0] += x[0][2] * y[2][0];
result[0][0] += x[0][3] * y[3][0];
result[0][1] = 0;
result[0][1] += x[0][0] * y[0][1];
result[0][1] += x[0][1] * y[1][1];
result[0][1] += x[0][2] * y[2][1];
result[0][1] += x[0][3] * y[3][1];
result[0][2] = 0;
result[0][2] += x[0][0] * y[0][2];
result[0][2] += x[0][1] * y[1][2];
result[0][2] += x[0][2] * y[2][2];
result[0][2] += x[0][3] * y[3][2];
result[0][3] = 0;
result[0][3] += x[0][0] * y[0][3];
result[0][3] += x[0][1] * y[1][3];
result[0][3] += x[0][2] * y[2][3];
result[0][3] += x[0][3] * y[3][3];
result[1][0] = 0;
result[1][0] += x[1][0] * y[0][0];
result[1][0] += x[1][1] * y[1][0];
result[1][0] += x[1][2] * y[2][0];
result[1][0] += x[1][3] * y[3][0];
result[1][1] = 0;
result[1][1] += x[1][0] * y[0][1];
result[1][1] += x[1][1] * y[1][1];
result[1][1] += x[1][2] * y[2][1];
result[1][1] += x[1][3] * y[3][1];
result[1][2] = 0;
result[1][2] += x[1][0] * y[0][2];
result[1][2] += x[1][1] * y[1][2];
result[1][2] += x[1][2] * y[2][2];
result[1][2] += x[1][3] * y[3][2];
result[1][3] = 0;
result[1][3] += x[1][0] * y[0][3];
result[1][3] += x[1][1] * y[1][3];
result[1][3] += x[1][2] * y[2][3];
result[1][3] += x[1][3] * y[3][3];
result[2][0] = 0;
result[2][0] += x[2][0] * y[0][0];
result[2][0] += x[2][1] * y[1][0];
result[2][0] += x[2][2] * y[2][0];
result[2][0] += x[2][3] * y[3][0];
result[2][1] = 0;
result[2][1] += x[2][0] * y[0][1];
result[2][1] += x[2][1] * y[1][1];
result[2][1] += x[2][2] * y[2][1];
result[2][1] += x[2][3] * y[3][1];
result[2][2] = 0;
result[2][2] += x[2][0] * y[0][2];
result[2][2] += x[2][1] * y[1][2];
result[2][2] += x[2][2] * y[2][2];
result[2][2] += x[2][3] * y[3][2];
result[2][3] = 0;
result[2][3] += x[2][0] * y[0][3];
result[2][3] += x[2][1] * y[1][3];
result[2][3] += x[2][2] * y[2][3];
result[2][3] += x[2][3] * y[3][3];
result[3][0] = 0;
result[3][0] += x[3][0] * y[0][0];
result[3][0] += x[3][1] * y[1][0];
result[3][0] += x[3][2] * y[2][0];
result[3][0] += x[3][3] * y[3][0];
result[3][1] = 0;
result[3][1] += x[3][0] * y[0][1];
result[3][1] += x[3][1] * y[1][1];
result[3][1] += x[3][2] * y[2][1];
result[3][1] += x[3][3] * y[3][1];
result[3][2] = 0;
result[3][2] += x[3][0] * y[0][2];
result[3][2] += x[3][1] * y[1][2];
result[3][2] += x[3][2] * y[2][2];
result[3][2] += x[3][3] * y[3][2];
result[3][3] = 0;
result[3][3] += x[3][0] * y[0][3];
result[3][3] += x[3][1] * y[1][3];
result[3][3] += x[3][2] * y[2][3];
result[3][3] += x[3][3] * y[3][3];
return result;
}
/* Functions named operator.xzyw= */
bool4 operator.xzyw=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
uint4 operator.xzyw=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
int4 operator.xzyw=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
float4 operator.xzyw=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.wyxw */
bool4 operator.wyxw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.wyxw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.wyxw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.wyxw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.zxxz */
bool4 operator.zxxz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.zxxz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zxxz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.zxxz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zxxz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.zxxz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zxxz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.zxxz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.yyxx */
bool4 operator.yyxx(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.yyxx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.yyxx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yyxx(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yyxx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yyxx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yyxx(int2 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yyxx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yyxx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yyxx(float2 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yyxx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yyxx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.www */
bool3 operator.www(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
return result;
}
uint3 operator.www(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
return result;
}
int3 operator.www(int4 v) {
int3 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
return result;
}
float3 operator.www(float4 v) {
float3 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
return result;
}
/* Functions named radians */
float radians(float x) {
return x * 3.14159 / 180;
}
float2 radians(float2 x) {
float2 result;
result[0] = radians(x[0]);
result[1] = radians(x[1]);
return result;
}
float3 radians(float3 x) {
float3 result;
result[0] = radians(x[0]);
result[1] = radians(x[1]);
result[2] = radians(x[2]);
return result;
}
float4 radians(float4 x) {
float4 result;
result[0] = radians(x[0]);
result[1] = radians(x[1]);
result[2] = radians(x[2]);
result[3] = radians(x[3]);
return result;
}
float2x2 radians(float2x2 x) {
float2x2 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
return result;
}
float2x3 radians(float2x3 x) {
float2x3 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
return result;
}
float2x4 radians(float2x4 x) {
float2x4 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[0][3] = radians(x[0][3]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
result[1][3] = radians(x[1][3]);
return result;
}
float3x2 radians(float3x2 x) {
float3x2 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
return result;
}
float3x3 radians(float3x3 x) {
float3x3 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
result[2][2] = radians(x[2][2]);
return result;
}
float3x4 radians(float3x4 x) {
float3x4 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[0][3] = radians(x[0][3]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
result[1][3] = radians(x[1][3]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
result[2][2] = radians(x[2][2]);
result[2][3] = radians(x[2][3]);
return result;
}
float4x2 radians(float4x2 x) {
float4x2 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
result[3][0] = radians(x[3][0]);
result[3][1] = radians(x[3][1]);
return result;
}
float4x3 radians(float4x3 x) {
float4x3 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
result[2][2] = radians(x[2][2]);
result[3][0] = radians(x[3][0]);
result[3][1] = radians(x[3][1]);
result[3][2] = radians(x[3][2]);
return result;
}
float4x4 radians(float4x4 x) {
float4x4 result;
result[0][0] = radians(x[0][0]);
result[0][1] = radians(x[0][1]);
result[0][2] = radians(x[0][2]);
result[0][3] = radians(x[0][3]);
result[1][0] = radians(x[1][0]);
result[1][1] = radians(x[1][1]);
result[1][2] = radians(x[1][2]);
result[1][3] = radians(x[1][3]);
result[2][0] = radians(x[2][0]);
result[2][1] = radians(x[2][1]);
result[2][2] = radians(x[2][2]);
result[2][3] = radians(x[2][3]);
result[3][0] = radians(x[3][0]);
result[3][1] = radians(x[3][1]);
result[3][2] = radians(x[3][2]);
result[3][3] = radians(x[3][3]);
return result;
}
/* Functions named operator.zwy= */
bool4 operator.zwy=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
uint4 operator.zwy=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
int4 operator.zwy=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
float4 operator.zwy=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
/* Functions named ceil */
native float ceil(float);
float2 ceil(float2 x) {
float2 result;
result[0] = ceil(x[0]);
result[1] = ceil(x[1]);
return result;
}
float3 ceil(float3 x) {
float3 result;
result[0] = ceil(x[0]);
result[1] = ceil(x[1]);
result[2] = ceil(x[2]);
return result;
}
float4 ceil(float4 x) {
float4 result;
result[0] = ceil(x[0]);
result[1] = ceil(x[1]);
result[2] = ceil(x[2]);
result[3] = ceil(x[3]);
return result;
}
float2x2 ceil(float2x2 x) {
float2x2 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
return result;
}
float2x3 ceil(float2x3 x) {
float2x3 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
return result;
}
float2x4 ceil(float2x4 x) {
float2x4 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[0][3] = ceil(x[0][3]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
result[1][3] = ceil(x[1][3]);
return result;
}
float3x2 ceil(float3x2 x) {
float3x2 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
return result;
}
float3x3 ceil(float3x3 x) {
float3x3 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
result[2][2] = ceil(x[2][2]);
return result;
}
float3x4 ceil(float3x4 x) {
float3x4 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[0][3] = ceil(x[0][3]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
result[1][3] = ceil(x[1][3]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
result[2][2] = ceil(x[2][2]);
result[2][3] = ceil(x[2][3]);
return result;
}
float4x2 ceil(float4x2 x) {
float4x2 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
result[3][0] = ceil(x[3][0]);
result[3][1] = ceil(x[3][1]);
return result;
}
float4x3 ceil(float4x3 x) {
float4x3 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
result[2][2] = ceil(x[2][2]);
result[3][0] = ceil(x[3][0]);
result[3][1] = ceil(x[3][1]);
result[3][2] = ceil(x[3][2]);
return result;
}
float4x4 ceil(float4x4 x) {
float4x4 result;
result[0][0] = ceil(x[0][0]);
result[0][1] = ceil(x[0][1]);
result[0][2] = ceil(x[0][2]);
result[0][3] = ceil(x[0][3]);
result[1][0] = ceil(x[1][0]);
result[1][1] = ceil(x[1][1]);
result[1][2] = ceil(x[1][2]);
result[1][3] = ceil(x[1][3]);
result[2][0] = ceil(x[2][0]);
result[2][1] = ceil(x[2][1]);
result[2][2] = ceil(x[2][2]);
result[2][3] = ceil(x[2][3]);
result[3][0] = ceil(x[3][0]);
result[3][1] = ceil(x[3][1]);
result[3][2] = ceil(x[3][2]);
result[3][3] = ceil(x[3][3]);
return result;
}
/* Functions named operator.zywx= */
bool4 operator.zywx=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
uint4 operator.zywx=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
int4 operator.zywx=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
float4 operator.zywx=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.yz= */
bool3 operator.yz=(bool3 v, bool2 c) {
bool3 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
bool4 operator.yz=(bool4 v, bool2 c) {
bool4 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
uint3 operator.yz=(uint3 v, uint2 c) {
uint3 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
uint4 operator.yz=(uint4 v, uint2 c) {
uint4 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
int3 operator.yz=(int3 v, int2 c) {
int3 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
int4 operator.yz=(int4 v, int2 c) {
int4 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
float3 operator.yz=(float3 v, float2 c) {
float3 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
float4 operator.yz=(float4 v, float2 c) {
float4 result = v;
result.y = c.x;
result.z = c.y;
return result;
}
/* Functions named asin */
native float asin(float);
float2 asin(float2 x) {
float2 result;
result[0] = asin(x[0]);
result[1] = asin(x[1]);
return result;
}
float3 asin(float3 x) {
float3 result;
result[0] = asin(x[0]);
result[1] = asin(x[1]);
result[2] = asin(x[2]);
return result;
}
float4 asin(float4 x) {
float4 result;
result[0] = asin(x[0]);
result[1] = asin(x[1]);
result[2] = asin(x[2]);
result[3] = asin(x[3]);
return result;
}
float2x2 asin(float2x2 x) {
float2x2 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
return result;
}
float2x3 asin(float2x3 x) {
float2x3 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
return result;
}
float2x4 asin(float2x4 x) {
float2x4 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[0][3] = asin(x[0][3]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
result[1][3] = asin(x[1][3]);
return result;
}
float3x2 asin(float3x2 x) {
float3x2 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
return result;
}
float3x3 asin(float3x3 x) {
float3x3 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
result[2][2] = asin(x[2][2]);
return result;
}
float3x4 asin(float3x4 x) {
float3x4 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[0][3] = asin(x[0][3]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
result[1][3] = asin(x[1][3]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
result[2][2] = asin(x[2][2]);
result[2][3] = asin(x[2][3]);
return result;
}
float4x2 asin(float4x2 x) {
float4x2 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
result[3][0] = asin(x[3][0]);
result[3][1] = asin(x[3][1]);
return result;
}
float4x3 asin(float4x3 x) {
float4x3 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
result[2][2] = asin(x[2][2]);
result[3][0] = asin(x[3][0]);
result[3][1] = asin(x[3][1]);
result[3][2] = asin(x[3][2]);
return result;
}
float4x4 asin(float4x4 x) {
float4x4 result;
result[0][0] = asin(x[0][0]);
result[0][1] = asin(x[0][1]);
result[0][2] = asin(x[0][2]);
result[0][3] = asin(x[0][3]);
result[1][0] = asin(x[1][0]);
result[1][1] = asin(x[1][1]);
result[1][2] = asin(x[1][2]);
result[1][3] = asin(x[1][3]);
result[2][0] = asin(x[2][0]);
result[2][1] = asin(x[2][1]);
result[2][2] = asin(x[2][2]);
result[2][3] = asin(x[2][3]);
result[3][0] = asin(x[3][0]);
result[3][1] = asin(x[3][1]);
result[3][2] = asin(x[3][2]);
result[3][3] = asin(x[3][3]);
return result;
}
/* Functions named operator.xwzw */
bool4 operator.xwzw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.xwzw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.xwzw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.xwzw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.ywzw */
bool4 operator.ywzw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.ywzw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.ywzw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.ywzw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.zzyz */
bool4 operator.zzyz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.zzyz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zzyz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.zzyz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zzyz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.zzyz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zzyz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.zzyz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.zzzy */
bool4 operator.zzzy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.zzzy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zzzy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zzzy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zzzy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zzzy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zzzy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zzzy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named asuint */
uint asuint(int x) {
return uint(x);
}
uint2 asuint(int2 x) {
uint2 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
return result;
}
uint3 asuint(int3 x) {
uint3 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
result[2] = asuint(x[2]);
return result;
}
uint4 asuint(int4 x) {
uint4 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
result[2] = asuint(x[2]);
result[3] = asuint(x[3]);
return result;
}
uint asuint(uint x) {
return x;
}
uint2 asuint(uint2 x) {
return x;
}
uint3 asuint(uint3 x) {
return x;
}
uint4 asuint(uint4 x) {
return x;
}
native uint asuint(float);
uint2 asuint(float2 x) {
uint2 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
return result;
}
uint3 asuint(float3 x) {
uint3 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
result[2] = asuint(x[2]);
return result;
}
uint4 asuint(float4 x) {
uint4 result;
result[0] = asuint(x[0]);
result[1] = asuint(x[1]);
result[2] = asuint(x[2]);
result[3] = asuint(x[3]);
return result;
}
/* Functions named operator.yzxy */
bool4 operator.yzxy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.yzxy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yzxy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.yzxy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yzxy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.yzxy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yzxy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.yzxy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named pow */
native float pow(float, float);
float2 pow(float2 x, float2 y) {
float2 result;
result[0] = pow(x[0], y[0]);
result[1] = pow(x[1], y[1]);
return result;
}
float3 pow(float3 x, float3 y) {
float3 result;
result[0] = pow(x[0], y[0]);
result[1] = pow(x[1], y[1]);
result[2] = pow(x[2], y[2]);
return result;
}
float4 pow(float4 x, float4 y) {
float4 result;
result[0] = pow(x[0], y[0]);
result[1] = pow(x[1], y[1]);
result[2] = pow(x[2], y[2]);
result[3] = pow(x[3], y[3]);
return result;
}
float2x2 pow(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
return result;
}
float2x3 pow(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
return result;
}
float2x4 pow(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[0][3] = pow(x[0][3], y[0][3]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
result[1][3] = pow(x[1][3], y[1][3]);
return result;
}
float3x2 pow(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
return result;
}
float3x3 pow(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
result[2][2] = pow(x[2][2], y[2][2]);
return result;
}
float3x4 pow(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[0][3] = pow(x[0][3], y[0][3]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
result[1][3] = pow(x[1][3], y[1][3]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
result[2][2] = pow(x[2][2], y[2][2]);
result[2][3] = pow(x[2][3], y[2][3]);
return result;
}
float4x2 pow(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
result[3][0] = pow(x[3][0], y[3][0]);
result[3][1] = pow(x[3][1], y[3][1]);
return result;
}
float4x3 pow(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
result[2][2] = pow(x[2][2], y[2][2]);
result[3][0] = pow(x[3][0], y[3][0]);
result[3][1] = pow(x[3][1], y[3][1]);
result[3][2] = pow(x[3][2], y[3][2]);
return result;
}
float4x4 pow(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = pow(x[0][0], y[0][0]);
result[0][1] = pow(x[0][1], y[0][1]);
result[0][2] = pow(x[0][2], y[0][2]);
result[0][3] = pow(x[0][3], y[0][3]);
result[1][0] = pow(x[1][0], y[1][0]);
result[1][1] = pow(x[1][1], y[1][1]);
result[1][2] = pow(x[1][2], y[1][2]);
result[1][3] = pow(x[1][3], y[1][3]);
result[2][0] = pow(x[2][0], y[2][0]);
result[2][1] = pow(x[2][1], y[2][1]);
result[2][2] = pow(x[2][2], y[2][2]);
result[2][3] = pow(x[2][3], y[2][3]);
result[3][0] = pow(x[3][0], y[3][0]);
result[3][1] = pow(x[3][1], y[3][1]);
result[3][2] = pow(x[3][2], y[3][2]);
result[3][3] = pow(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.zxxw */
bool4 operator.zxxw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.zxxw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.zxxw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.zxxw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.xzzz */
bool4 operator.xzzz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.xzzz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xzzz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xzzz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xzzz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xzzz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xzzz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xzzz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.zxy */
bool3 operator.zxy(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
bool3 operator.zxy(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.zxy(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.zxy(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.zxy(int3 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.zxy(int4 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.zxy(float3 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.zxy(float4 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
return result;
}
/* Functions named operator.wxyy */
bool4 operator.wxyy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.wxyy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.wxyy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.wxyy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.zyzx */
bool4 operator.zyzx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.zyzx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zyzx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zyzx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zyzx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zyzx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zyzx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zyzx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.xzxw */
bool4 operator.xzxw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.xzxw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.xzxw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.xzxw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.xzw= */
bool4 operator.xzw=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
uint4 operator.xzw=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
int4 operator.xzw=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
float4 operator.xzw=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.z = c.y;
result.w = c.z;
return result;
}
/* Functions named tan */
native float tan(float);
float2 tan(float2 x) {
float2 result;
result[0] = tan(x[0]);
result[1] = tan(x[1]);
return result;
}
float3 tan(float3 x) {
float3 result;
result[0] = tan(x[0]);
result[1] = tan(x[1]);
result[2] = tan(x[2]);
return result;
}
float4 tan(float4 x) {
float4 result;
result[0] = tan(x[0]);
result[1] = tan(x[1]);
result[2] = tan(x[2]);
result[3] = tan(x[3]);
return result;
}
float2x2 tan(float2x2 x) {
float2x2 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
return result;
}
float2x3 tan(float2x3 x) {
float2x3 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
return result;
}
float2x4 tan(float2x4 x) {
float2x4 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[0][3] = tan(x[0][3]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
result[1][3] = tan(x[1][3]);
return result;
}
float3x2 tan(float3x2 x) {
float3x2 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
return result;
}
float3x3 tan(float3x3 x) {
float3x3 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
result[2][2] = tan(x[2][2]);
return result;
}
float3x4 tan(float3x4 x) {
float3x4 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[0][3] = tan(x[0][3]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
result[1][3] = tan(x[1][3]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
result[2][2] = tan(x[2][2]);
result[2][3] = tan(x[2][3]);
return result;
}
float4x2 tan(float4x2 x) {
float4x2 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
result[3][0] = tan(x[3][0]);
result[3][1] = tan(x[3][1]);
return result;
}
float4x3 tan(float4x3 x) {
float4x3 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
result[2][2] = tan(x[2][2]);
result[3][0] = tan(x[3][0]);
result[3][1] = tan(x[3][1]);
result[3][2] = tan(x[3][2]);
return result;
}
float4x4 tan(float4x4 x) {
float4x4 result;
result[0][0] = tan(x[0][0]);
result[0][1] = tan(x[0][1]);
result[0][2] = tan(x[0][2]);
result[0][3] = tan(x[0][3]);
result[1][0] = tan(x[1][0]);
result[1][1] = tan(x[1][1]);
result[1][2] = tan(x[1][2]);
result[1][3] = tan(x[1][3]);
result[2][0] = tan(x[2][0]);
result[2][1] = tan(x[2][1]);
result[2][2] = tan(x[2][2]);
result[2][3] = tan(x[2][3]);
result[3][0] = tan(x[3][0]);
result[3][1] = tan(x[3][1]);
result[3][2] = tan(x[3][2]);
result[3][3] = tan(x[3][3]);
return result;
}
/* Functions named fma */
float fma(float x, float y, float z) {
return x * y + z;
}
float2 fma(float2 x, float2 y, float2 z) {
float2 result;
result[0] = fma(x[0], y[0], z[0]);
result[1] = fma(x[1], y[1], z[1]);
return result;
}
float3 fma(float3 x, float3 y, float3 z) {
float3 result;
result[0] = fma(x[0], y[0], z[0]);
result[1] = fma(x[1], y[1], z[1]);
result[2] = fma(x[2], y[2], z[2]);
return result;
}
float4 fma(float4 x, float4 y, float4 z) {
float4 result;
result[0] = fma(x[0], y[0], z[0]);
result[1] = fma(x[1], y[1], z[1]);
result[2] = fma(x[2], y[2], z[2]);
result[3] = fma(x[3], y[3], z[3]);
return result;
}
float2x2 fma(float2x2 x, float2x2 y, float2x2 z) {
float2x2 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
return result;
}
float2x3 fma(float2x3 x, float2x3 y, float2x3 z) {
float2x3 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
return result;
}
float2x4 fma(float2x4 x, float2x4 y, float2x4 z) {
float2x4 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[0][3] = fma(x[0][3], y[0][3], z[0][3]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
result[1][3] = fma(x[1][3], y[1][3], z[1][3]);
return result;
}
float3x2 fma(float3x2 x, float3x2 y, float3x2 z) {
float3x2 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
return result;
}
float3x3 fma(float3x3 x, float3x3 y, float3x3 z) {
float3x3 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
result[2][2] = fma(x[2][2], y[2][2], z[2][2]);
return result;
}
float3x4 fma(float3x4 x, float3x4 y, float3x4 z) {
float3x4 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[0][3] = fma(x[0][3], y[0][3], z[0][3]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
result[1][3] = fma(x[1][3], y[1][3], z[1][3]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
result[2][2] = fma(x[2][2], y[2][2], z[2][2]);
result[2][3] = fma(x[2][3], y[2][3], z[2][3]);
return result;
}
float4x2 fma(float4x2 x, float4x2 y, float4x2 z) {
float4x2 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
result[3][0] = fma(x[3][0], y[3][0], z[3][0]);
result[3][1] = fma(x[3][1], y[3][1], z[3][1]);
return result;
}
float4x3 fma(float4x3 x, float4x3 y, float4x3 z) {
float4x3 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
result[2][2] = fma(x[2][2], y[2][2], z[2][2]);
result[3][0] = fma(x[3][0], y[3][0], z[3][0]);
result[3][1] = fma(x[3][1], y[3][1], z[3][1]);
result[3][2] = fma(x[3][2], y[3][2], z[3][2]);
return result;
}
float4x4 fma(float4x4 x, float4x4 y, float4x4 z) {
float4x4 result;
result[0][0] = fma(x[0][0], y[0][0], z[0][0]);
result[0][1] = fma(x[0][1], y[0][1], z[0][1]);
result[0][2] = fma(x[0][2], y[0][2], z[0][2]);
result[0][3] = fma(x[0][3], y[0][3], z[0][3]);
result[1][0] = fma(x[1][0], y[1][0], z[1][0]);
result[1][1] = fma(x[1][1], y[1][1], z[1][1]);
result[1][2] = fma(x[1][2], y[1][2], z[1][2]);
result[1][3] = fma(x[1][3], y[1][3], z[1][3]);
result[2][0] = fma(x[2][0], y[2][0], z[2][0]);
result[2][1] = fma(x[2][1], y[2][1], z[2][1]);
result[2][2] = fma(x[2][2], y[2][2], z[2][2]);
result[2][3] = fma(x[2][3], y[2][3], z[2][3]);
result[3][0] = fma(x[3][0], y[3][0], z[3][0]);
result[3][1] = fma(x[3][1], y[3][1], z[3][1]);
result[3][2] = fma(x[3][2], y[3][2], z[3][2]);
result[3][3] = fma(x[3][3], y[3][3], z[3][3]);
return result;
}
/* Functions named determinant */
float determinant(float x) {
return x;
}
float determinant(float2x2 x) {
return x[0][0] * x[1][1] - x[0][1] * x[1][0];
}
float determinant(float3x3 x) {
return x[0][0] * x[1][1] * x[2][2] +
x[0][1] * x[1][2] * x[2][0] +
x[0][2] * x[1][0] * x[2][1] -
x[2][0] * x[1][1] * x[0][2] -
x[2][1] * x[1][2] * x[0][0] -
x[2][2] * x[1][0] * x[0][1];
}
float determinant(float4x4 x) {
float result;
float3x3 minor;
minor[0][0] = x[1][1];
minor[0][1] = x[1][2];
minor[0][2] = x[1][3];
minor[1][0] = x[2][1];
minor[1][1] = x[2][2];
minor[1][2] = x[2][3];
minor[2][0] = x[3][1];
minor[2][1] = x[3][2];
minor[2][2] = x[3][3];
result = result + x[0][0] * determinant(minor);
minor[0][0] = x[1][0];
minor[0][1] = x[1][2];
minor[0][2] = x[1][3];
minor[1][0] = x[2][0];
minor[1][1] = x[2][2];
minor[1][2] = x[2][3];
minor[2][0] = x[3][0];
minor[2][1] = x[3][2];
minor[2][2] = x[3][3];
result = result - x[0][1] * determinant(minor);
minor[0][0] = x[1][0];
minor[0][1] = x[1][1];
minor[0][2] = x[1][3];
minor[1][0] = x[2][0];
minor[1][1] = x[2][1];
minor[1][2] = x[2][3];
minor[2][0] = x[3][0];
minor[2][1] = x[3][1];
minor[2][2] = x[3][3];
result = result + x[0][2] * determinant(minor);
minor[0][0] = x[1][0];
minor[0][1] = x[1][1];
minor[0][2] = x[1][2];
minor[1][0] = x[2][0];
minor[1][1] = x[2][1];
minor[1][2] = x[2][2];
minor[2][0] = x[3][0];
minor[2][1] = x[3][1];
minor[2][2] = x[3][2];
result = result - x[0][3] * determinant(minor);
return result;
}
/* Functions named operator.ywxy */
bool4 operator.ywxy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.ywxy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.ywxy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.ywxy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named floor */
native float floor(float);
float2 floor(float2 x) {
float2 result;
result[0] = floor(x[0]);
result[1] = floor(x[1]);
return result;
}
float3 floor(float3 x) {
float3 result;
result[0] = floor(x[0]);
result[1] = floor(x[1]);
result[2] = floor(x[2]);
return result;
}
float4 floor(float4 x) {
float4 result;
result[0] = floor(x[0]);
result[1] = floor(x[1]);
result[2] = floor(x[2]);
result[3] = floor(x[3]);
return result;
}
float2x2 floor(float2x2 x) {
float2x2 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
return result;
}
float2x3 floor(float2x3 x) {
float2x3 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
return result;
}
float2x4 floor(float2x4 x) {
float2x4 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[0][3] = floor(x[0][3]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
result[1][3] = floor(x[1][3]);
return result;
}
float3x2 floor(float3x2 x) {
float3x2 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
return result;
}
float3x3 floor(float3x3 x) {
float3x3 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
result[2][2] = floor(x[2][2]);
return result;
}
float3x4 floor(float3x4 x) {
float3x4 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[0][3] = floor(x[0][3]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
result[1][3] = floor(x[1][3]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
result[2][2] = floor(x[2][2]);
result[2][3] = floor(x[2][3]);
return result;
}
float4x2 floor(float4x2 x) {
float4x2 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
result[3][0] = floor(x[3][0]);
result[3][1] = floor(x[3][1]);
return result;
}
float4x3 floor(float4x3 x) {
float4x3 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
result[2][2] = floor(x[2][2]);
result[3][0] = floor(x[3][0]);
result[3][1] = floor(x[3][1]);
result[3][2] = floor(x[3][2]);
return result;
}
float4x4 floor(float4x4 x) {
float4x4 result;
result[0][0] = floor(x[0][0]);
result[0][1] = floor(x[0][1]);
result[0][2] = floor(x[0][2]);
result[0][3] = floor(x[0][3]);
result[1][0] = floor(x[1][0]);
result[1][1] = floor(x[1][1]);
result[1][2] = floor(x[1][2]);
result[1][3] = floor(x[1][3]);
result[2][0] = floor(x[2][0]);
result[2][1] = floor(x[2][1]);
result[2][2] = floor(x[2][2]);
result[2][3] = floor(x[2][3]);
result[3][0] = floor(x[3][0]);
result[3][1] = floor(x[3][1]);
result[3][2] = floor(x[3][2]);
result[3][3] = floor(x[3][3]);
return result;
}
/* Functions named cross */
float3 cross(float3 u, float3 v) {
float3 result;
result.x = u.y * v.z - u.z * v.y;
result.y = u.z * v.x - u.x * v.z;
result.z = u.x * v.y - u.y * v.x;
return result;
}
/* Functions named operator.xwyz */
bool4 operator.xwyz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xwyz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xwyz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xwyz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xxyy */
bool4 operator.xxyy(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.xxyy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.xxyy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xxyy(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xxyy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xxyy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xxyy(int2 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xxyy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xxyy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xxyy(float2 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xxyy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xxyy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named isfinite */
native bool isfinite(float);
bool2 isfinite(float2 x) {
bool2 result;
result[0] = isfinite(x[0]);
result[1] = isfinite(x[1]);
return result;
}
bool3 isfinite(float3 x) {
bool3 result;
result[0] = isfinite(x[0]);
result[1] = isfinite(x[1]);
result[2] = isfinite(x[2]);
return result;
}
bool4 isfinite(float4 x) {
bool4 result;
result[0] = isfinite(x[0]);
result[1] = isfinite(x[1]);
result[2] = isfinite(x[2]);
result[3] = isfinite(x[3]);
return result;
}
/* Functions named operator.zxy= */
bool3 operator.zxy=(bool3 v, bool3 c) {
bool3 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
bool4 operator.zxy=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
uint3 operator.zxy=(uint3 v, uint3 c) {
uint3 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
uint4 operator.zxy=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
int3 operator.zxy=(int3 v, int3 c) {
int3 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
int4 operator.zxy=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
float3 operator.zxy=(float3 v, float3 c) {
float3 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
float4 operator.zxy=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
return result;
}
/* Functions named InterlockedOr */
native void InterlockedOr(device atomic_uint*, uint, thread uint*);
native void InterlockedOr(device atomic_int*, int, thread int*);
native void InterlockedOr(device atomic_uint*, uint, device uint*);
native void InterlockedOr(device atomic_int*, int, device int*);
native void InterlockedOr(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedOr(device atomic_int*, int, threadgroup int*);
native void InterlockedOr(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedOr(threadgroup atomic_int*, int, thread int*);
native void InterlockedOr(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedOr(threadgroup atomic_int*, int, device int*);
native void InterlockedOr(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedOr(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named operator.zxzw */
bool4 operator.zxzw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.zxzw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.zxzw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.zxzw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named atan2 */
native float atan2(float, float);
float2 atan2(float2 x, float2 y) {
float2 result;
result[0] = atan2(x[0], y[0]);
result[1] = atan2(x[1], y[1]);
return result;
}
float3 atan2(float3 x, float3 y) {
float3 result;
result[0] = atan2(x[0], y[0]);
result[1] = atan2(x[1], y[1]);
result[2] = atan2(x[2], y[2]);
return result;
}
float4 atan2(float4 x, float4 y) {
float4 result;
result[0] = atan2(x[0], y[0]);
result[1] = atan2(x[1], y[1]);
result[2] = atan2(x[2], y[2]);
result[3] = atan2(x[3], y[3]);
return result;
}
float2x2 atan2(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
return result;
}
float2x3 atan2(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
return result;
}
float2x4 atan2(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[0][3] = atan2(x[0][3], y[0][3]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
result[1][3] = atan2(x[1][3], y[1][3]);
return result;
}
float3x2 atan2(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
return result;
}
float3x3 atan2(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
result[2][2] = atan2(x[2][2], y[2][2]);
return result;
}
float3x4 atan2(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[0][3] = atan2(x[0][3], y[0][3]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
result[1][3] = atan2(x[1][3], y[1][3]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
result[2][2] = atan2(x[2][2], y[2][2]);
result[2][3] = atan2(x[2][3], y[2][3]);
return result;
}
float4x2 atan2(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
result[3][0] = atan2(x[3][0], y[3][0]);
result[3][1] = atan2(x[3][1], y[3][1]);
return result;
}
float4x3 atan2(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
result[2][2] = atan2(x[2][2], y[2][2]);
result[3][0] = atan2(x[3][0], y[3][0]);
result[3][1] = atan2(x[3][1], y[3][1]);
result[3][2] = atan2(x[3][2], y[3][2]);
return result;
}
float4x4 atan2(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = atan2(x[0][0], y[0][0]);
result[0][1] = atan2(x[0][1], y[0][1]);
result[0][2] = atan2(x[0][2], y[0][2]);
result[0][3] = atan2(x[0][3], y[0][3]);
result[1][0] = atan2(x[1][0], y[1][0]);
result[1][1] = atan2(x[1][1], y[1][1]);
result[1][2] = atan2(x[1][2], y[1][2]);
result[1][3] = atan2(x[1][3], y[1][3]);
result[2][0] = atan2(x[2][0], y[2][0]);
result[2][1] = atan2(x[2][1], y[2][1]);
result[2][2] = atan2(x[2][2], y[2][2]);
result[2][3] = atan2(x[2][3], y[2][3]);
result[3][0] = atan2(x[3][0], y[3][0]);
result[3][1] = atan2(x[3][1], y[3][1]);
result[3][2] = atan2(x[3][2], y[3][2]);
result[3][3] = atan2(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.yzwy */
bool4 operator.yzwy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.yzwy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.yzwy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.yzwy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.zzxw */
bool4 operator.zzxw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.zzxw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.zzxw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.zzxw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.wywz */
bool4 operator.wywz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.wywz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.wywz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.wywz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.ywyz */
bool4 operator.ywyz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.ywyz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.ywyz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.ywyz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.yzx */
bool3 operator.yzx(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
bool3 operator.yzx(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.yzx(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.yzx(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.yzx(int3 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.yzx(int4 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.yzx(float3 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.yzx(float4 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
return result;
}
/* Functions named operator.yz */
bool2 operator.yz(bool3 v) {
bool2 result;
result.x = v.y;
result.y = v.z;
return result;
}
bool2 operator.yz(bool4 v) {
bool2 result;
result.x = v.y;
result.y = v.z;
return result;
}
uint2 operator.yz(uint3 v) {
uint2 result;
result.x = v.y;
result.y = v.z;
return result;
}
uint2 operator.yz(uint4 v) {
uint2 result;
result.x = v.y;
result.y = v.z;
return result;
}
int2 operator.yz(int3 v) {
int2 result;
result.x = v.y;
result.y = v.z;
return result;
}
int2 operator.yz(int4 v) {
int2 result;
result.x = v.y;
result.y = v.z;
return result;
}
float2 operator.yz(float3 v) {
float2 result;
result.x = v.y;
result.y = v.z;
return result;
}
float2 operator.yz(float4 v) {
float2 result;
result.x = v.y;
result.y = v.z;
return result;
}
/* Functions named operator.wxxz */
bool4 operator.wxxz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.wxxz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.wxxz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.wxxz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.xw= */
bool4 operator.xw=(bool4 v, bool2 c) {
bool4 result = v;
result.x = c.x;
result.w = c.y;
return result;
}
uint4 operator.xw=(uint4 v, uint2 c) {
uint4 result = v;
result.x = c.x;
result.w = c.y;
return result;
}
int4 operator.xw=(int4 v, int2 c) {
int4 result = v;
result.x = c.x;
result.w = c.y;
return result;
}
float4 operator.xw=(float4 v, float2 c) {
float4 result = v;
result.x = c.x;
result.w = c.y;
return result;
}
/* Functions named operator.xyxy */
bool4 operator.xyxy(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.xyxy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.xyxy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xyxy(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xyxy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xyxy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xyxy(int2 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xyxy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xyxy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xyxy(float2 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xyxy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xyxy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.yyyx */
bool4 operator.yyyx(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.yyyx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.yyyx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yyyx(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yyyx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yyyx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yyyx(int2 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yyyx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yyyx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yyyx(float2 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yyyx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yyyx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.yzzx */
bool4 operator.yzzx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.yzzx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yzzx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.yzzx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yzzx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.yzzx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yzzx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.yzzx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.xzz */
bool3 operator.xzz(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
bool3 operator.xzz(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.xzz(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.xzz(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.xzz(int3 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.xzz(int4 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.xzz(float3 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.xzz(float4 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
return result;
}
/* Functions named operator.yxyz */
bool4 operator.yxyz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.yxyz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yxyz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.yxyz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yxyz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.yxyz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yxyz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.yxyz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.zzxx */
bool4 operator.zzxx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.zzxx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zzxx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zzxx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zzxx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zzxx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zzxx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zzxx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.zzwx */
bool4 operator.zzwx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.zzwx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.zzwx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.zzwx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.yxx */
bool3 operator.yxx(bool2 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
bool3 operator.yxx(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
bool3 operator.yxx(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.yxx(uint2 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.yxx(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.yxx(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.yxx(int2 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.yxx(int3 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.yxx(int4 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.yxx(float2 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.yxx(float3 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.yxx(float4 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
return result;
}
/* Functions named DeviceMemoryBarrierWithGroupSync */
native void DeviceMemoryBarrierWithGroupSync();
/* Functions named operator.zwww */
bool4 operator.zwww(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.zwww(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.zwww(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.zwww(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.wzz */
bool3 operator.wzz(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
return result;
}
uint3 operator.wzz(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
return result;
}
int3 operator.wzz(int4 v) {
int3 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
return result;
}
float3 operator.wzz(float4 v) {
float3 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
return result;
}
/* Functions named fmod */
float fmod(float x, float y) {
uint whole = uint(x / y);
float multiple = float(whole) * y;
return x - multiple;
}
float2 fmod(float2 x, float2 y) {
float2 result;
result[0] = fmod(x[0], y[0]);
result[1] = fmod(x[1], y[1]);
return result;
}
float3 fmod(float3 x, float3 y) {
float3 result;
result[0] = fmod(x[0], y[0]);
result[1] = fmod(x[1], y[1]);
result[2] = fmod(x[2], y[2]);
return result;
}
float4 fmod(float4 x, float4 y) {
float4 result;
result[0] = fmod(x[0], y[0]);
result[1] = fmod(x[1], y[1]);
result[2] = fmod(x[2], y[2]);
result[3] = fmod(x[3], y[3]);
return result;
}
float2x2 fmod(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
return result;
}
float2x3 fmod(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
return result;
}
float2x4 fmod(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[0][3] = fmod(x[0][3], y[0][3]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
result[1][3] = fmod(x[1][3], y[1][3]);
return result;
}
float3x2 fmod(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
return result;
}
float3x3 fmod(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
result[2][2] = fmod(x[2][2], y[2][2]);
return result;
}
float3x4 fmod(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[0][3] = fmod(x[0][3], y[0][3]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
result[1][3] = fmod(x[1][3], y[1][3]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
result[2][2] = fmod(x[2][2], y[2][2]);
result[2][3] = fmod(x[2][3], y[2][3]);
return result;
}
float4x2 fmod(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
result[3][0] = fmod(x[3][0], y[3][0]);
result[3][1] = fmod(x[3][1], y[3][1]);
return result;
}
float4x3 fmod(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
result[2][2] = fmod(x[2][2], y[2][2]);
result[3][0] = fmod(x[3][0], y[3][0]);
result[3][1] = fmod(x[3][1], y[3][1]);
result[3][2] = fmod(x[3][2], y[3][2]);
return result;
}
float4x4 fmod(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = fmod(x[0][0], y[0][0]);
result[0][1] = fmod(x[0][1], y[0][1]);
result[0][2] = fmod(x[0][2], y[0][2]);
result[0][3] = fmod(x[0][3], y[0][3]);
result[1][0] = fmod(x[1][0], y[1][0]);
result[1][1] = fmod(x[1][1], y[1][1]);
result[1][2] = fmod(x[1][2], y[1][2]);
result[1][3] = fmod(x[1][3], y[1][3]);
result[2][0] = fmod(x[2][0], y[2][0]);
result[2][1] = fmod(x[2][1], y[2][1]);
result[2][2] = fmod(x[2][2], y[2][2]);
result[2][3] = fmod(x[2][3], y[2][3]);
result[3][0] = fmod(x[3][0], y[3][0]);
result[3][1] = fmod(x[3][1], y[3][1]);
result[3][2] = fmod(x[3][2], y[3][2]);
result[3][3] = fmod(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.xzzx */
bool4 operator.xzzx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.xzzx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xzzx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xzzx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xzzx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xzzx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xzzx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xzzx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.yyzy */
bool4 operator.yyzy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.yyzy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yyzy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yyzy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yyzy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yyzy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yyzy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yyzy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.wyy */
bool3 operator.wyy(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.wyy(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.wyy(int4 v) {
int3 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.wyy(float4 v) {
float3 result;
result.x = v.w;
result.y = v.y;
result.z = v.y;
return result;
}
/* Functions named operator.yzyx */
bool4 operator.yzyx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.yzyx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yzyx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.yzyx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yzyx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.yzyx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yzyx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.yzyx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.ywzx= */
bool4 operator.ywzx=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
uint4 operator.ywzx=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
int4 operator.ywzx=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
float4 operator.ywzx=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.xxzw */
bool4 operator.xxzw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.xxzw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.xxzw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.xxzw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.xyxx */
bool4 operator.xyxx(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.xyxx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.xyxx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xyxx(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xyxx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xyxx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xyxx(int2 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xyxx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xyxx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xyxx(float2 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xyxx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xyxx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.zyw= */
bool4 operator.zyw=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
uint4 operator.zyw=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
int4 operator.zyw=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
float4 operator.zyw=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
/* Functions named operator.wzxy */
bool4 operator.wzxy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.wzxy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.wzxy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.wzxy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.zwx */
bool3 operator.zwx(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
return result;
}
uint3 operator.zwx(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
return result;
}
int3 operator.zwx(int4 v) {
int3 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
return result;
}
float3 operator.zwx(float4 v) {
float3 result;
result.x = v.z;
result.y = v.w;
result.z = v.x;
return result;
}
/* Functions named operator- */
native int operator-(int, int);
native uint operator-(uint, uint);
native float operator-(float, float);
native int operator-(int);
native float operator-(float);
native uint2 operator-(uint2, uint2);
native uint2 operator-(uint, uint2);
native uint2 operator-(uint2, uint);
native uint3 operator-(uint3, uint3);
native uint3 operator-(uint, uint3);
native uint3 operator-(uint3, uint);
native uint4 operator-(uint4, uint4);
native uint4 operator-(uint, uint4);
native uint4 operator-(uint4, uint);
native int2 operator-(int2, int2);
native int2 operator-(int, int2);
native int2 operator-(int2, int);
native int3 operator-(int3, int3);
native int3 operator-(int, int3);
native int3 operator-(int3, int);
native int4 operator-(int4, int4);
native int4 operator-(int, int4);
native int4 operator-(int4, int);
native float2 operator-(float2, float2);
native float2 operator-(float, float2);
native float2 operator-(float2, float);
native float3 operator-(float3, float3);
native float3 operator-(float, float3);
native float3 operator-(float3, float);
native float4 operator-(float4, float4);
native float4 operator-(float, float4);
native float4 operator-(float4, float);
native int2 operator-(int2);
native int3 operator-(int3);
native int4 operator-(int4);
native float2 operator-(float2);
native float3 operator-(float3);
native float4 operator-(float4);
native float2x2 operator-(float2x2, float2x2);
native float2x2 operator-(float2x2, float);
native float2x2 operator-(float, float2x2);
native float2x2 operator-(float2x2);
native float2x3 operator-(float2x3, float2x3);
native float2x3 operator-(float, float2x3);
native float2x3 operator-(float2x3, float);
native float2x3 operator-(float2x3);
native float2x4 operator-(float2x4, float2x4);
native float2x4 operator-(float, float2x4);
native float2x4 operator-(float2x4, float);
native float2x4 operator-(float2x4);
native float3x2 operator-(float3x2, float3x2);
native float3x2 operator-(float, float3x2);
native float3x2 operator-(float3x2, float);
native float3x2 operator-(float3x2);
native float3x3 operator-(float3x3, float3x3);
native float3x3 operator-(float, float3x3);
native float3x3 operator-(float3x3, float);
native float3x3 operator-(float3x3);
native float3x4 operator-(float3x4, float3x4);
native float3x4 operator-(float, float3x4);
native float3x4 operator-(float3x4, float);
native float3x4 operator-(float3x4);
native float4x2 operator-(float4x2, float4x2);
native float4x2 operator-(float, float4x2);
native float4x2 operator-(float4x2, float);
native float4x2 operator-(float4x2);
native float4x3 operator-(float4x3, float4x3);
native float4x3 operator-(float, float4x3);
native float4x3 operator-(float4x3, float);
native float4x3 operator-(float4x3);
native float4x4 operator-(float4x4, float4x4);
native float4x4 operator-(float, float4x4);
native float4x4 operator-(float4x4, float);
native float4x4 operator-(float4x4);
/* Functions named min */
uint min(uint x, uint y) {
return x > y ? y : x;
}
uint2 min(uint2 x, uint2 y) {
uint2 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
return result;
}
uint3 min(uint3 x, uint3 y) {
uint3 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
return result;
}
uint4 min(uint4 x, uint4 y) {
uint4 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
result[3] = min(x[3], y[3]);
return result;
}
int min(int x, int y) {
return x > y ? y : x;
}
int2 min(int2 x, int2 y) {
int2 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
return result;
}
int3 min(int3 x, int3 y) {
int3 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
return result;
}
int4 min(int4 x, int4 y) {
int4 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
result[3] = min(x[3], y[3]);
return result;
}
float min(float x, float y) {
return x > y ? y : x;
}
float2 min(float2 x, float2 y) {
float2 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
return result;
}
float3 min(float3 x, float3 y) {
float3 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
return result;
}
float4 min(float4 x, float4 y) {
float4 result;
result[0] = min(x[0], y[0]);
result[1] = min(x[1], y[1]);
result[2] = min(x[2], y[2]);
result[3] = min(x[3], y[3]);
return result;
}
float2x2 min(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
return result;
}
float2x3 min(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
return result;
}
float2x4 min(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[0][3] = min(x[0][3], y[0][3]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
result[1][3] = min(x[1][3], y[1][3]);
return result;
}
float3x2 min(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
return result;
}
float3x3 min(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
result[2][2] = min(x[2][2], y[2][2]);
return result;
}
float3x4 min(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[0][3] = min(x[0][3], y[0][3]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
result[1][3] = min(x[1][3], y[1][3]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
result[2][2] = min(x[2][2], y[2][2]);
result[2][3] = min(x[2][3], y[2][3]);
return result;
}
float4x2 min(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
result[3][0] = min(x[3][0], y[3][0]);
result[3][1] = min(x[3][1], y[3][1]);
return result;
}
float4x3 min(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
result[2][2] = min(x[2][2], y[2][2]);
result[3][0] = min(x[3][0], y[3][0]);
result[3][1] = min(x[3][1], y[3][1]);
result[3][2] = min(x[3][2], y[3][2]);
return result;
}
float4x4 min(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = min(x[0][0], y[0][0]);
result[0][1] = min(x[0][1], y[0][1]);
result[0][2] = min(x[0][2], y[0][2]);
result[0][3] = min(x[0][3], y[0][3]);
result[1][0] = min(x[1][0], y[1][0]);
result[1][1] = min(x[1][1], y[1][1]);
result[1][2] = min(x[1][2], y[1][2]);
result[1][3] = min(x[1][3], y[1][3]);
result[2][0] = min(x[2][0], y[2][0]);
result[2][1] = min(x[2][1], y[2][1]);
result[2][2] = min(x[2][2], y[2][2]);
result[2][3] = min(x[2][3], y[2][3]);
result[3][0] = min(x[3][0], y[3][0]);
result[3][1] = min(x[3][1], y[3][1]);
result[3][2] = min(x[3][2], y[3][2]);
result[3][3] = min(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.xyz */
bool3 operator.xyz(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
bool3 operator.xyz(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.xyz(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.xyz(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.xyz(int3 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.xyz(int4 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.xyz(float3 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.xyz(float4 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
return result;
}
/* Functions named operator.wz= */
bool4 operator.wz=(bool4 v, bool2 c) {
bool4 result = v;
result.w = c.x;
result.z = c.y;
return result;
}
uint4 operator.wz=(uint4 v, uint2 c) {
uint4 result = v;
result.w = c.x;
result.z = c.y;
return result;
}
int4 operator.wz=(int4 v, int2 c) {
int4 result = v;
result.w = c.x;
result.z = c.y;
return result;
}
float4 operator.wz=(float4 v, float2 c) {
float4 result = v;
result.w = c.x;
result.z = c.y;
return result;
}
/* Functions named operator.zyyy */
bool4 operator.zyyy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.zyyy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zyyy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zyyy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zyyy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zyyy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zyyy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zyyy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named InterlockedXor */
native void InterlockedXor(device atomic_uint*, uint, thread uint*);
native void InterlockedXor(device atomic_int*, int, thread int*);
native void InterlockedXor(device atomic_uint*, uint, device uint*);
native void InterlockedXor(device atomic_int*, int, device int*);
native void InterlockedXor(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedXor(device atomic_int*, int, threadgroup int*);
native void InterlockedXor(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedXor(threadgroup atomic_int*, int, thread int*);
native void InterlockedXor(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedXor(threadgroup atomic_int*, int, device int*);
native void InterlockedXor(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedXor(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named operator.wzx= */
bool4 operator.wzx=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
uint4 operator.wzx=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
int4 operator.wzx=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
float4 operator.wzx=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.z = c.y;
result.x = c.z;
return result;
}
/* Functions named operator.zwzy */
bool4 operator.zwzy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.zwzy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.zwzy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.zwzy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named GroupMemoryBarrierWithGroupSync */
native void GroupMemoryBarrierWithGroupSync();
/* Functions named operator.xyzy */
bool4 operator.xyzy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.xyzy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xyzy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xyzy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xyzy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xyzy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xyzy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xyzy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named trunc */
native float trunc(float);
float2 trunc(float2 x) {
float2 result;
result[0] = trunc(x[0]);
result[1] = trunc(x[1]);
return result;
}
float3 trunc(float3 x) {
float3 result;
result[0] = trunc(x[0]);
result[1] = trunc(x[1]);
result[2] = trunc(x[2]);
return result;
}
float4 trunc(float4 x) {
float4 result;
result[0] = trunc(x[0]);
result[1] = trunc(x[1]);
result[2] = trunc(x[2]);
result[3] = trunc(x[3]);
return result;
}
float2x2 trunc(float2x2 x) {
float2x2 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
return result;
}
float2x3 trunc(float2x3 x) {
float2x3 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
return result;
}
float2x4 trunc(float2x4 x) {
float2x4 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[0][3] = trunc(x[0][3]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
result[1][3] = trunc(x[1][3]);
return result;
}
float3x2 trunc(float3x2 x) {
float3x2 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
return result;
}
float3x3 trunc(float3x3 x) {
float3x3 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
result[2][2] = trunc(x[2][2]);
return result;
}
float3x4 trunc(float3x4 x) {
float3x4 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[0][3] = trunc(x[0][3]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
result[1][3] = trunc(x[1][3]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
result[2][2] = trunc(x[2][2]);
result[2][3] = trunc(x[2][3]);
return result;
}
float4x2 trunc(float4x2 x) {
float4x2 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
result[3][0] = trunc(x[3][0]);
result[3][1] = trunc(x[3][1]);
return result;
}
float4x3 trunc(float4x3 x) {
float4x3 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
result[2][2] = trunc(x[2][2]);
result[3][0] = trunc(x[3][0]);
result[3][1] = trunc(x[3][1]);
result[3][2] = trunc(x[3][2]);
return result;
}
float4x4 trunc(float4x4 x) {
float4x4 result;
result[0][0] = trunc(x[0][0]);
result[0][1] = trunc(x[0][1]);
result[0][2] = trunc(x[0][2]);
result[0][3] = trunc(x[0][3]);
result[1][0] = trunc(x[1][0]);
result[1][1] = trunc(x[1][1]);
result[1][2] = trunc(x[1][2]);
result[1][3] = trunc(x[1][3]);
result[2][0] = trunc(x[2][0]);
result[2][1] = trunc(x[2][1]);
result[2][2] = trunc(x[2][2]);
result[2][3] = trunc(x[2][3]);
result[3][0] = trunc(x[3][0]);
result[3][1] = trunc(x[3][1]);
result[3][2] = trunc(x[3][2]);
result[3][3] = trunc(x[3][3]);
return result;
}
/* Functions named operator.length */
uint operator.length(bool2) {
return 2;
}
uint operator.length(bool3) {
return 3;
}
uint operator.length(bool4) {
return 4;
}
uint operator.length(uint2) {
return 2;
}
uint operator.length(uint3) {
return 3;
}
uint operator.length(uint4) {
return 4;
}
uint operator.length(int2) {
return 2;
}
uint operator.length(int3) {
return 3;
}
uint operator.length(int4) {
return 4;
}
uint operator.length(float2) {
return 2;
}
uint operator.length(float3) {
return 3;
}
uint operator.length(float4) {
return 4;
}
/* Functions named operator.zwwx */
bool4 operator.zwwx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.zwwx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.zwwx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.zwwx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.wyxx */
bool4 operator.wyxx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.wyxx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.wyxx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.wyxx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.ywz= */
bool4 operator.ywz=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
uint4 operator.ywz=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
int4 operator.ywz=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
float4 operator.ywz=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.w = c.y;
result.z = c.z;
return result;
}
/* Functions named operator.xzyy */
bool4 operator.xzyy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.xzyy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xzyy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xzyy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xzyy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xzyy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xzyy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xzyy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.xxxz */
bool4 operator.xxxz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.xxxz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xxxz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xxxz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xxxz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xxxz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xxxz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xxxz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.wxwy */
bool4 operator.wxwy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.wxwy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.wxwy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.wxwy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.yxwz */
bool4 operator.yxwz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.yxwz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.yxwz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.yxwz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.ywww */
bool4 operator.ywww(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.ywww(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.ywww(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.ywww(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.xzw */
bool3 operator.xzw(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
return result;
}
uint3 operator.xzw(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
return result;
}
int3 operator.xzw(int4 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
return result;
}
float3 operator.xzw(float4 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.w;
return result;
}
/* Functions named operator.wwwx */
bool4 operator.wwwx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.wwwx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.wwwx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.wwwx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.wwxx */
bool4 operator.wwxx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.wwxx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.wwxx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.wwxx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.xyw= */
bool4 operator.xyw=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
uint4 operator.xyw=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
int4 operator.xyw=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
float4 operator.xyw=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
return result;
}
/* Functions named operator.xzy */
bool3 operator.xzy(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
bool3 operator.xzy(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.xzy(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.xzy(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.xzy(int3 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.xzy(int4 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.xzy(float3 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.xzy(float4 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.y;
return result;
}
/* Functions named operator.zzzz */
bool4 operator.zzzz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.zzzz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zzzz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zzzz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zzzz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zzzz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zzzz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zzzz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.zzzx */
bool4 operator.zzzx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.zzzx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zzzx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zzzx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zzzx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zzzx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zzzx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zzzx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.xw */
bool2 operator.xw(bool4 v) {
bool2 result;
result.x = v.x;
result.y = v.w;
return result;
}
uint2 operator.xw(uint4 v) {
uint2 result;
result.x = v.x;
result.y = v.w;
return result;
}
int2 operator.xw(int4 v) {
int2 result;
result.x = v.x;
result.y = v.w;
return result;
}
float2 operator.xw(float4 v) {
float2 result;
result.x = v.x;
result.y = v.w;
return result;
}
/* Functions named operator.wxyw */
bool4 operator.wxyw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.wxyw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.wxyw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.wxyw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.yzww */
bool4 operator.yzww(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.yzww(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.yzww(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.yzww(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.wxw */
bool3 operator.wxw(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
return result;
}
uint3 operator.wxw(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
return result;
}
int3 operator.wxw(int4 v) {
int3 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
return result;
}
float3 operator.wxw(float4 v) {
float3 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
return result;
}
/* Functions named operator.xwwy */
bool4 operator.xwwy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.xwwy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.xwwy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.xwwy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wzzw */
bool4 operator.wzzw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.wzzw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.wzzw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.wzzw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.wxww */
bool4 operator.wxww(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.wxww(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.wxww(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.wxww(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named max */
uint max(uint x, uint y) {
return x > y ? x : y;
}
uint2 max(uint2 x, uint2 y) {
uint2 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
return result;
}
uint3 max(uint3 x, uint3 y) {
uint3 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
return result;
}
uint4 max(uint4 x, uint4 y) {
uint4 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
result[3] = max(x[3], y[3]);
return result;
}
int max(int x, int y) {
return x > y ? x : y;
}
int2 max(int2 x, int2 y) {
int2 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
return result;
}
int3 max(int3 x, int3 y) {
int3 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
return result;
}
int4 max(int4 x, int4 y) {
int4 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
result[3] = max(x[3], y[3]);
return result;
}
float max(float x, float y) {
return x > y ? x : y;
}
float2 max(float2 x, float2 y) {
float2 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
return result;
}
float3 max(float3 x, float3 y) {
float3 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
return result;
}
float4 max(float4 x, float4 y) {
float4 result;
result[0] = max(x[0], y[0]);
result[1] = max(x[1], y[1]);
result[2] = max(x[2], y[2]);
result[3] = max(x[3], y[3]);
return result;
}
float2x2 max(float2x2 x, float2x2 y) {
float2x2 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
return result;
}
float2x3 max(float2x3 x, float2x3 y) {
float2x3 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
return result;
}
float2x4 max(float2x4 x, float2x4 y) {
float2x4 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[0][3] = max(x[0][3], y[0][3]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
result[1][3] = max(x[1][3], y[1][3]);
return result;
}
float3x2 max(float3x2 x, float3x2 y) {
float3x2 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
return result;
}
float3x3 max(float3x3 x, float3x3 y) {
float3x3 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
result[2][2] = max(x[2][2], y[2][2]);
return result;
}
float3x4 max(float3x4 x, float3x4 y) {
float3x4 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[0][3] = max(x[0][3], y[0][3]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
result[1][3] = max(x[1][3], y[1][3]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
result[2][2] = max(x[2][2], y[2][2]);
result[2][3] = max(x[2][3], y[2][3]);
return result;
}
float4x2 max(float4x2 x, float4x2 y) {
float4x2 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
result[3][0] = max(x[3][0], y[3][0]);
result[3][1] = max(x[3][1], y[3][1]);
return result;
}
float4x3 max(float4x3 x, float4x3 y) {
float4x3 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
result[2][2] = max(x[2][2], y[2][2]);
result[3][0] = max(x[3][0], y[3][0]);
result[3][1] = max(x[3][1], y[3][1]);
result[3][2] = max(x[3][2], y[3][2]);
return result;
}
float4x4 max(float4x4 x, float4x4 y) {
float4x4 result;
result[0][0] = max(x[0][0], y[0][0]);
result[0][1] = max(x[0][1], y[0][1]);
result[0][2] = max(x[0][2], y[0][2]);
result[0][3] = max(x[0][3], y[0][3]);
result[1][0] = max(x[1][0], y[1][0]);
result[1][1] = max(x[1][1], y[1][1]);
result[1][2] = max(x[1][2], y[1][2]);
result[1][3] = max(x[1][3], y[1][3]);
result[2][0] = max(x[2][0], y[2][0]);
result[2][1] = max(x[2][1], y[2][1]);
result[2][2] = max(x[2][2], y[2][2]);
result[2][3] = max(x[2][3], y[2][3]);
result[3][0] = max(x[3][0], y[3][0]);
result[3][1] = max(x[3][1], y[3][1]);
result[3][2] = max(x[3][2], y[3][2]);
result[3][3] = max(x[3][3], y[3][3]);
return result;
}
/* Functions named operator.wwz */
bool3 operator.wwz(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
return result;
}
uint3 operator.wwz(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
return result;
}
int3 operator.wwz(int4 v) {
int3 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
return result;
}
float3 operator.wwz(float4 v) {
float3 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
return result;
}
/* Functions named operator.wyz= */
bool4 operator.wyz=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
uint4 operator.wyz=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
int4 operator.wyz=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
float4 operator.wyz=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
/* Functions named operator.ywyy */
bool4 operator.ywyy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.ywyy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.ywyy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.ywyy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named asint */
int asint(int x) {
return x;
}
int2 asint(int2 x) {
return x;
}
int3 asint(int3 x) {
return x;
}
int4 asint(int4 x) {
return x;
}
int asint(uint x) {
return int(x);
}
int2 asint(uint2 x) {
int2 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
return result;
}
int3 asint(uint3 x) {
int3 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
result[2] = asint(x[2]);
return result;
}
int4 asint(uint4 x) {
int4 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
result[2] = asint(x[2]);
result[3] = asint(x[3]);
return result;
}
native int asint(float);
int2 asint(float2 x) {
int2 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
return result;
}
int3 asint(float3 x) {
int3 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
result[2] = asint(x[2]);
return result;
}
int4 asint(float4 x) {
int4 result;
result[0] = asint(x[0]);
result[1] = asint(x[1]);
result[2] = asint(x[2]);
result[3] = asint(x[3]);
return result;
}
/* Functions named operator.yzwz */
bool4 operator.yzwz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.yzwz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.yzwz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.yzwz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.yxzy */
bool4 operator.yxzy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.yxzy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yxzy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.yxzy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yxzy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.yxzy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yxzy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.yxzy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.yzxz */
bool4 operator.yzxz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
bool4 operator.yzxz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yzxz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.yzxz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yzxz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.yzxz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yzxz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.yzxz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.wzzx */
bool4 operator.wzzx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.wzzx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.wzzx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.wzzx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.yzxw= */
bool4 operator.yzxw=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
uint4 operator.yzxw=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
int4 operator.yzxw=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
float4 operator.yzxw=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.z = c.y;
result.x = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.zyxx */
bool4 operator.zyxx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.zyxx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zyxx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zyxx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zyxx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zyxx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zyxx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zyxx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.xywz */
bool4 operator.xywz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.xywz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.xywz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.xywz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.wzwz */
bool4 operator.wzwz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.wzwz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.wzwz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.wzwz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.xxxy */
bool4 operator.xxxy(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.xxxy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.xxxy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xxxy(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xxxy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.xxxy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xxxy(int2 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xxxy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.xxxy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xxxy(float2 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xxxy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.xxxy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.zwxy= */
bool4 operator.zwxy=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
uint4 operator.zwxy=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
int4 operator.zwxy=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
float4 operator.zwxy=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
result.y = c.w;
return result;
}
/* Functions named operator.zwzw */
bool4 operator.zwzw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.zwzw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.zwzw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.zwzw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.wwwy */
bool4 operator.wwwy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.wwwy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.wwwy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.wwwy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.ywx */
bool3 operator.ywx(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
return result;
}
uint3 operator.ywx(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
return result;
}
int3 operator.ywx(int4 v) {
int3 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
return result;
}
float3 operator.ywx(float4 v) {
float3 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
return result;
}
/* Functions named operator.xxzz */
bool4 operator.xxzz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.xxzz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xxzz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xxzz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xxzz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xxzz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xxzz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xxzz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.xwyz= */
bool4 operator.xwyz=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
uint4 operator.xwyz=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
int4 operator.xwyz=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
float4 operator.xwyz=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.yyx */
bool3 operator.yyx(bool2 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
bool3 operator.yyx(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
bool3 operator.yyx(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.yyx(uint2 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.yyx(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
uint3 operator.yyx(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.yyx(int2 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.yyx(int3 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
int3 operator.yyx(int4 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.yyx(float2 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.yyx(float3 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
float3 operator.yyx(float4 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.x;
return result;
}
/* Functions named operator.zzwy */
bool4 operator.zzwy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.zzwy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.zzwy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.zzwy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wx= */
bool4 operator.wx=(bool4 v, bool2 c) {
bool4 result = v;
result.w = c.x;
result.x = c.y;
return result;
}
uint4 operator.wx=(uint4 v, uint2 c) {
uint4 result = v;
result.w = c.x;
result.x = c.y;
return result;
}
int4 operator.wx=(int4 v, int2 c) {
int4 result = v;
result.w = c.x;
result.x = c.y;
return result;
}
float4 operator.wx=(float4 v, float2 c) {
float4 result = v;
result.w = c.x;
result.x = c.y;
return result;
}
/* Functions named operator.zzw */
bool3 operator.zzw(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
return result;
}
uint3 operator.zzw(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
return result;
}
int3 operator.zzw(int4 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
return result;
}
float3 operator.zzw(float4 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
return result;
}
/* Functions named operator.xxzy */
bool4 operator.xxzy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.xxzy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xxzy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xxzy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xxzy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xxzy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xxzy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xxzy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.yxz */
bool3 operator.yxz(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
bool3 operator.yxz(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.yxz(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.yxz(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.yxz(int3 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.yxz(int4 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.yxz(float3 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.yxz(float4 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.z;
return result;
}
/* Functions named operator.yzy */
bool3 operator.yzy(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
bool3 operator.yzy(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.yzy(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.yzy(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.yzy(int3 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.yzy(int4 v) {
int3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.yzy(float3 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.yzy(float4 v) {
float3 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
return result;
}
/* Functions named operator.y= */
native bool2 operator.y=(bool2, bool);
native bool3 operator.y=(bool3, bool);
native bool4 operator.y=(bool4, bool);
native uint2 operator.y=(uint2, uint);
native uint3 operator.y=(uint3, uint);
native uint4 operator.y=(uint4, uint);
native int2 operator.y=(int2, int);
native int3 operator.y=(int3, int);
native int4 operator.y=(int4, int);
native float2 operator.y=(float2, float);
native float3 operator.y=(float3, float);
native float4 operator.y=(float4, float);
/* Functions named operator.zxzz */
bool4 operator.zxzz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.zxzz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zxzz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zxzz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zxzz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zxzz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zxzz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zxzz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.xyzw */
bool4 operator.xyzw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.xyzw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.xyzw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.xyzw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.zwyw */
bool4 operator.zwyw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.zwyw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.zwyw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.zwyw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.xyw */
bool3 operator.xyw(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
return result;
}
uint3 operator.xyw(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
return result;
}
int3 operator.xyw(int4 v) {
int3 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
return result;
}
float3 operator.xyw(float4 v) {
float3 result;
result.x = v.x;
result.y = v.y;
result.z = v.w;
return result;
}
/* Functions named operator.zzww */
bool4 operator.zzww(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.zzww(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.zzww(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.zzww(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.zyw */
bool3 operator.zyw(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
return result;
}
uint3 operator.zyw(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
return result;
}
int3 operator.zyw(int4 v) {
int3 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
return result;
}
float3 operator.zyw(float4 v) {
float3 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
return result;
}
/* Functions named clamp */
native uint clamp(uint, uint, uint);
native uint2 clamp(uint2, uint2, uint2);
native uint3 clamp(uint3, uint3, uint3);
native uint4 clamp(uint4, uint4, uint4);
native int clamp(int, int, int);
native int2 clamp(int2, int2, int2);
native int3 clamp(int3, int3, int3);
native int4 clamp(int4, int4, int4);
native float clamp(float, float, float);
native float2 clamp(float2, float2, float2);
native float3 clamp(float3, float3, float3);
native float4 clamp(float4, float4, float4);
native float2x2 clamp(float2x2, float2x2, float2x2);
native float2x3 clamp(float2x3, float2x3, float2x3);
native float2x4 clamp(float2x4, float2x4, float2x4);
native float3x2 clamp(float3x2, float3x2, float3x2);
native float3x3 clamp(float3x3, float3x3, float3x3);
native float3x4 clamp(float3x4, float3x4, float3x4);
native float4x2 clamp(float4x2, float4x2, float4x2);
native float4x3 clamp(float4x3, float4x3, float4x3);
native float4x4 clamp(float4x4, float4x4, float4x4);
/* Functions named operator.wxxy */
bool4 operator.wxxy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.wxxy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.wxxy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.wxxy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named operator.yxwy */
bool4 operator.yxwy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.yxwy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.yxwy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.yxwy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.xwy */
bool3 operator.xwy(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
return result;
}
uint3 operator.xwy(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
return result;
}
int3 operator.xwy(int4 v) {
int3 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
return result;
}
float3 operator.xwy(float4 v) {
float3 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
return result;
}
/* Functions named operator< */
native bool operator<(int, int);
native bool operator<(uint, uint);
native bool operator<(float, float);
native bool2 operator<(uint2, uint2);
native bool3 operator<(uint3, uint3);
native bool4 operator<(uint4, uint4);
native bool2 operator<(int2, int2);
native bool3 operator<(int3, int3);
native bool4 operator<(int4, int4);
native bool2 operator<(float2, float2);
native bool3 operator<(float3, float3);
native bool4 operator<(float4, float4);
native bool2x2 operator<(float2x2, float2x2);
native bool2x3 operator<(float2x3, float2x3);
native bool2x4 operator<(float2x4, float2x4);
native bool3x2 operator<(float3x2, float3x2);
native bool3x3 operator<(float3x3, float3x3);
native bool3x4 operator<(float3x4, float3x4);
native bool4x2 operator<(float4x2, float4x2);
native bool4x3 operator<(float4x3, float4x3);
native bool4x4 operator<(float4x4, float4x4);
/* Functions named operator.wyw */
bool3 operator.wyw(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
return result;
}
uint3 operator.wyw(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
return result;
}
int3 operator.wyw(int4 v) {
int3 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
return result;
}
float3 operator.wyw(float4 v) {
float3 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
return result;
}
/* Functions named operator.zzyw */
bool4 operator.zzyw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.zzyw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.zzyw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.zzyw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.zxz */
bool3 operator.zxz(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
bool3 operator.zxz(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.zxz(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.zxz(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.zxz(int3 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.zxz(int4 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.zxz(float3 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.zxz(float4 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.z;
return result;
}
/* Functions named operator.ywzx */
bool4 operator.ywzx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.ywzx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.ywzx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.ywzx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.zxxy */
bool4 operator.zxxy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.zxxy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zxxy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zxxy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zxxy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zxxy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zxxy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zxxy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named isnan */
native bool isnan(float);
bool2 isnan(float2 x) {
bool2 result;
result[0] = isnan(x[0]);
result[1] = isnan(x[1]);
return result;
}
bool3 isnan(float3 x) {
bool3 result;
result[0] = isnan(x[0]);
result[1] = isnan(x[1]);
result[2] = isnan(x[2]);
return result;
}
bool4 isnan(float4 x) {
bool4 result;
result[0] = isnan(x[0]);
result[1] = isnan(x[1]);
result[2] = isnan(x[2]);
result[3] = isnan(x[3]);
return result;
}
/* Functions named operator.xxww */
bool4 operator.xxww(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.xxww(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.xxww(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.xxww(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.xwy= */
bool4 operator.xwy=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
uint4 operator.xwy=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
int4 operator.xwy=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
float4 operator.xwy=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.w = c.y;
result.y = c.z;
return result;
}
/* Functions named AllMemoryBarrierWithGroupSync */
native void AllMemoryBarrierWithGroupSync();
/* Functions named operator.yx= */
bool2 operator.yx=(bool2 v, bool2 c) {
bool2 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
bool3 operator.yx=(bool3 v, bool2 c) {
bool3 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
bool4 operator.yx=(bool4 v, bool2 c) {
bool4 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
uint2 operator.yx=(uint2 v, uint2 c) {
uint2 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
uint3 operator.yx=(uint3 v, uint2 c) {
uint3 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
uint4 operator.yx=(uint4 v, uint2 c) {
uint4 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
int2 operator.yx=(int2 v, int2 c) {
int2 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
int3 operator.yx=(int3 v, int2 c) {
int3 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
int4 operator.yx=(int4 v, int2 c) {
int4 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
float2 operator.yx=(float2 v, float2 c) {
float2 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
float3 operator.yx=(float3 v, float2 c) {
float3 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
float4 operator.yx=(float4 v, float2 c) {
float4 result = v;
result.y = c.x;
result.x = c.y;
return result;
}
/* Functions named operator^ */
bool operator^(bool a, bool b) {
if (a)
return !b;
return b;
}
native int operator^(int, int);
native uint operator^(uint, uint);
/* Functions named operator.yzyw */
bool4 operator.yzyw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.yzyw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.yzyw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.yzyw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.xwwz */
bool4 operator.xwwz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.xwwz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.xwwz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.xwwz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named isinf */
native bool isinf(float);
bool2 isinf(float2 x) {
bool2 result;
result[0] = isinf(x[0]);
result[1] = isinf(x[1]);
return result;
}
bool3 isinf(float3 x) {
bool3 result;
result[0] = isinf(x[0]);
result[1] = isinf(x[1]);
result[2] = isinf(x[2]);
return result;
}
bool4 isinf(float4 x) {
bool4 result;
result[0] = isinf(x[0]);
result[1] = isinf(x[1]);
result[2] = isinf(x[2]);
result[3] = isinf(x[3]);
return result;
}
/* Functions named operator| */
bool operator|(bool a, bool b) {
return a || b;
}
native int operator|(int, int);
native uint operator|(uint, uint);
/* Functions named operator.zwy */
bool3 operator.zwy(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
return result;
}
uint3 operator.zwy(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
return result;
}
int3 operator.zwy(int4 v) {
int3 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
return result;
}
float3 operator.zwy(float4 v) {
float3 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
return result;
}
/* Functions named operator.yzxx */
bool4 operator.yzxx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.yzxx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yzxx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yzxx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yzxx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yzxx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yzxx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yzxx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.zyyx */
bool4 operator.zyyx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.zyyx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zyyx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zyyx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zyyx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zyyx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zyyx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zyyx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.zywy */
bool4 operator.zywy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.zywy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.zywy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.zywy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.ywyx */
bool4 operator.ywyx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.ywyx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.ywyx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.ywyx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.yxxx */
bool4 operator.yxxx(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.yxxx(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.yxxx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yxxx(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yxxx(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.yxxx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yxxx(int2 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yxxx(int3 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.yxxx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yxxx(float2 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yxxx(float3 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.yxxx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.xyyz */
bool4 operator.xyyz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
bool4 operator.xyyz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xyyz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.xyyz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xyyz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.xyyz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xyyz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.xyyz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xxyw */
bool4 operator.xxyw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.xxyw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.xxyw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.xxyw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.wzxx */
bool4 operator.wzxx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.wzxx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.wzxx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.wzxx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.zxwz */
bool4 operator.zxwz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.zxwz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.zxwz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.zxwz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.wxyz */
bool4 operator.wxyz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.wxyz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.wxyz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.wxyz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named operator.xwyy */
bool4 operator.xwyy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.xwyy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.xwyy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.xwyy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.wzww */
bool4 operator.wzww(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.wzww(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.wzww(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.wzww(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named degrees */
float degrees(float x) {
return x * 180 / 3.14159;
}
float2 degrees(float2 x) {
float2 result;
result[0] = degrees(x[0]);
result[1] = degrees(x[1]);
return result;
}
float3 degrees(float3 x) {
float3 result;
result[0] = degrees(x[0]);
result[1] = degrees(x[1]);
result[2] = degrees(x[2]);
return result;
}
float4 degrees(float4 x) {
float4 result;
result[0] = degrees(x[0]);
result[1] = degrees(x[1]);
result[2] = degrees(x[2]);
result[3] = degrees(x[3]);
return result;
}
float2x2 degrees(float2x2 x) {
float2x2 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
return result;
}
float2x3 degrees(float2x3 x) {
float2x3 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
return result;
}
float2x4 degrees(float2x4 x) {
float2x4 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[0][3] = degrees(x[0][3]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
result[1][3] = degrees(x[1][3]);
return result;
}
float3x2 degrees(float3x2 x) {
float3x2 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
return result;
}
float3x3 degrees(float3x3 x) {
float3x3 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
result[2][2] = degrees(x[2][2]);
return result;
}
float3x4 degrees(float3x4 x) {
float3x4 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[0][3] = degrees(x[0][3]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
result[1][3] = degrees(x[1][3]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
result[2][2] = degrees(x[2][2]);
result[2][3] = degrees(x[2][3]);
return result;
}
float4x2 degrees(float4x2 x) {
float4x2 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
result[3][0] = degrees(x[3][0]);
result[3][1] = degrees(x[3][1]);
return result;
}
float4x3 degrees(float4x3 x) {
float4x3 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
result[2][2] = degrees(x[2][2]);
result[3][0] = degrees(x[3][0]);
result[3][1] = degrees(x[3][1]);
result[3][2] = degrees(x[3][2]);
return result;
}
float4x4 degrees(float4x4 x) {
float4x4 result;
result[0][0] = degrees(x[0][0]);
result[0][1] = degrees(x[0][1]);
result[0][2] = degrees(x[0][2]);
result[0][3] = degrees(x[0][3]);
result[1][0] = degrees(x[1][0]);
result[1][1] = degrees(x[1][1]);
result[1][2] = degrees(x[1][2]);
result[1][3] = degrees(x[1][3]);
result[2][0] = degrees(x[2][0]);
result[2][1] = degrees(x[2][1]);
result[2][2] = degrees(x[2][2]);
result[2][3] = degrees(x[2][3]);
result[3][0] = degrees(x[3][0]);
result[3][1] = degrees(x[3][1]);
result[3][2] = degrees(x[3][2]);
result[3][3] = degrees(x[3][3]);
return result;
}
/* Functions named operator.yyy */
bool3 operator.yyy(bool2 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
bool3 operator.yyy(bool3 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
bool3 operator.yyy(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.yyy(uint2 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.yyy(uint3 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
uint3 operator.yyy(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.yyy(int2 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.yyy(int3 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
int3 operator.yyy(int4 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.yyy(float2 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.yyy(float3 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
float3 operator.yyy(float4 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
return result;
}
/* Functions named operator.wzzy */
bool4 operator.wzzy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.wzzy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.wzzy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.wzzy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.zzwz */
bool4 operator.zzwz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
uint4 operator.zzwz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
int4 operator.zzwz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
float4 operator.zzwz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.w;
result.w = v.z;
return result;
}
/* Functions named operator.zzyy */
bool4 operator.zzyy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.zzyy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zzyy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zzyy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zzyy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zzyy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zzyy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zzyy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named Sample */
native uint Sample(Texture1D<uint>, sampler, float location);
native uint Sample(Texture1DArray<uint>, sampler, float2 location);
native uint Sample(Texture2D<uint>, sampler, float2 location);
native uint Sample(Texture2D<uint>, sampler, float2 location, int2 offset);
native uint Sample(Texture2DArray<uint>, sampler, float3 location);
native uint Sample(Texture2DArray<uint>, sampler, float3 location, int2 offset);
native uint Sample(Texture3D<uint>, sampler, float3 location);
native uint Sample(Texture3D<uint>, sampler, float3 location, int3 offset);
native uint Sample(TextureCube<uint>, sampler, float3 location);
native uint2 Sample(Texture1D<uint2>, sampler, float location);
native uint2 Sample(Texture1DArray<uint2>, sampler, float2 location);
native uint2 Sample(Texture2D<uint2>, sampler, float2 location);
native uint2 Sample(Texture2D<uint2>, sampler, float2 location, int2 offset);
native uint2 Sample(Texture2DArray<uint2>, sampler, float3 location);
native uint2 Sample(Texture2DArray<uint2>, sampler, float3 location, int2 offset);
native uint2 Sample(Texture3D<uint2>, sampler, float3 location);
native uint2 Sample(Texture3D<uint2>, sampler, float3 location, int3 offset);
native uint2 Sample(TextureCube<uint2>, sampler, float3 location);
native uint3 Sample(Texture1D<uint3>, sampler, float location);
native uint3 Sample(Texture1DArray<uint3>, sampler, float2 location);
native uint3 Sample(Texture2D<uint3>, sampler, float2 location);
native uint3 Sample(Texture2D<uint3>, sampler, float2 location, int2 offset);
native uint3 Sample(Texture2DArray<uint3>, sampler, float3 location);
native uint3 Sample(Texture2DArray<uint3>, sampler, float3 location, int2 offset);
native uint3 Sample(Texture3D<uint3>, sampler, float3 location);
native uint3 Sample(Texture3D<uint3>, sampler, float3 location, int3 offset);
native uint3 Sample(TextureCube<uint3>, sampler, float3 location);
native uint4 Sample(Texture1D<uint4>, sampler, float location);
native uint4 Sample(Texture1DArray<uint4>, sampler, float2 location);
native uint4 Sample(Texture2D<uint4>, sampler, float2 location);
native uint4 Sample(Texture2D<uint4>, sampler, float2 location, int2 offset);
native uint4 Sample(Texture2DArray<uint4>, sampler, float3 location);
native uint4 Sample(Texture2DArray<uint4>, sampler, float3 location, int2 offset);
native uint4 Sample(Texture3D<uint4>, sampler, float3 location);
native uint4 Sample(Texture3D<uint4>, sampler, float3 location, int3 offset);
native uint4 Sample(TextureCube<uint4>, sampler, float3 location);
native int Sample(Texture1D<int>, sampler, float location);
native int Sample(Texture1DArray<int>, sampler, float2 location);
native int Sample(Texture2D<int>, sampler, float2 location);
native int Sample(Texture2D<int>, sampler, float2 location, int2 offset);
native int Sample(Texture2DArray<int>, sampler, float3 location);
native int Sample(Texture2DArray<int>, sampler, float3 location, int2 offset);
native int Sample(Texture3D<int>, sampler, float3 location);
native int Sample(Texture3D<int>, sampler, float3 location, int3 offset);
native int Sample(TextureCube<int>, sampler, float3 location);
native int2 Sample(Texture1D<int2>, sampler, float location);
native int2 Sample(Texture1DArray<int2>, sampler, float2 location);
native int2 Sample(Texture2D<int2>, sampler, float2 location);
native int2 Sample(Texture2D<int2>, sampler, float2 location, int2 offset);
native int2 Sample(Texture2DArray<int2>, sampler, float3 location);
native int2 Sample(Texture2DArray<int2>, sampler, float3 location, int2 offset);
native int2 Sample(Texture3D<int2>, sampler, float3 location);
native int2 Sample(Texture3D<int2>, sampler, float3 location, int3 offset);
native int2 Sample(TextureCube<int2>, sampler, float3 location);
native int3 Sample(Texture1D<int3>, sampler, float location);
native int3 Sample(Texture1DArray<int3>, sampler, float2 location);
native int3 Sample(Texture2D<int3>, sampler, float2 location);
native int3 Sample(Texture2D<int3>, sampler, float2 location, int2 offset);
native int3 Sample(Texture2DArray<int3>, sampler, float3 location);
native int3 Sample(Texture2DArray<int3>, sampler, float3 location, int2 offset);
native int3 Sample(Texture3D<int3>, sampler, float3 location);
native int3 Sample(Texture3D<int3>, sampler, float3 location, int3 offset);
native int3 Sample(TextureCube<int3>, sampler, float3 location);
native int4 Sample(Texture1D<int4>, sampler, float location);
native int4 Sample(Texture1DArray<int4>, sampler, float2 location);
native int4 Sample(Texture2D<int4>, sampler, float2 location);
native int4 Sample(Texture2D<int4>, sampler, float2 location, int2 offset);
native int4 Sample(Texture2DArray<int4>, sampler, float3 location);
native int4 Sample(Texture2DArray<int4>, sampler, float3 location, int2 offset);
native int4 Sample(Texture3D<int4>, sampler, float3 location);
native int4 Sample(Texture3D<int4>, sampler, float3 location, int3 offset);
native int4 Sample(TextureCube<int4>, sampler, float3 location);
native float Sample(Texture1D<float>, sampler, float location);
native float Sample(Texture1DArray<float>, sampler, float2 location);
native float Sample(Texture2D<float>, sampler, float2 location);
native float Sample(Texture2D<float>, sampler, float2 location, int2 offset);
native float Sample(Texture2DArray<float>, sampler, float3 location);
native float Sample(Texture2DArray<float>, sampler, float3 location, int2 offset);
native float Sample(Texture3D<float>, sampler, float3 location);
native float Sample(Texture3D<float>, sampler, float3 location, int3 offset);
native float Sample(TextureCube<float>, sampler, float3 location);
native float2 Sample(Texture1D<float2>, sampler, float location);
native float2 Sample(Texture1DArray<float2>, sampler, float2 location);
native float2 Sample(Texture2D<float2>, sampler, float2 location);
native float2 Sample(Texture2D<float2>, sampler, float2 location, int2 offset);
native float2 Sample(Texture2DArray<float2>, sampler, float3 location);
native float2 Sample(Texture2DArray<float2>, sampler, float3 location, int2 offset);
native float2 Sample(Texture3D<float2>, sampler, float3 location);
native float2 Sample(Texture3D<float2>, sampler, float3 location, int3 offset);
native float2 Sample(TextureCube<float2>, sampler, float3 location);
native float3 Sample(Texture1D<float3>, sampler, float location);
native float3 Sample(Texture1DArray<float3>, sampler, float2 location);
native float3 Sample(Texture2D<float3>, sampler, float2 location);
native float3 Sample(Texture2D<float3>, sampler, float2 location, int2 offset);
native float3 Sample(Texture2DArray<float3>, sampler, float3 location);
native float3 Sample(Texture2DArray<float3>, sampler, float3 location, int2 offset);
native float3 Sample(Texture3D<float3>, sampler, float3 location);
native float3 Sample(Texture3D<float3>, sampler, float3 location, int3 offset);
native float3 Sample(TextureCube<float3>, sampler, float3 location);
native float4 Sample(Texture1D<float4>, sampler, float location);
native float4 Sample(Texture1DArray<float4>, sampler, float2 location);
native float4 Sample(Texture2D<float4>, sampler, float2 location);
native float4 Sample(Texture2D<float4>, sampler, float2 location, int2 offset);
native float4 Sample(Texture2DArray<float4>, sampler, float3 location);
native float4 Sample(Texture2DArray<float4>, sampler, float3 location, int2 offset);
native float4 Sample(Texture3D<float4>, sampler, float3 location);
native float4 Sample(Texture3D<float4>, sampler, float3 location, int3 offset);
native float4 Sample(TextureCube<float4>, sampler, float3 location);
native float Sample(TextureDepth2D<float>, sampler, float2 location);
native float Sample(TextureDepth2D<float>, sampler, float2 location, int2 offset);
native float Sample(TextureDepth2DArray<float>, sampler, float3 location);
native float Sample(TextureDepth2DArray<float>, sampler, float3 location, int2 offset);
native float Sample(TextureDepthCube<float>, sampler, float3 location);
/* Functions named operator.zwx= */
bool4 operator.zwx=(bool4 v, bool3 c) {
bool4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
uint4 operator.zwx=(uint4 v, uint3 c) {
uint4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
int4 operator.zwx=(int4 v, int3 c) {
int4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
float4 operator.zwx=(float4 v, float3 c) {
float4 result = v;
result.z = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
/* Functions named operator.zzy */
bool3 operator.zzy(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
bool3 operator.zzy(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.zzy(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.zzy(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.zzy(int3 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.zzy(int4 v) {
int3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.zzy(float3 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.zzy(float4 v) {
float3 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
return result;
}
/* Functions named operator.wywy */
bool4 operator.wywy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.wywy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.wywy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.wywy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.wxxx */
bool4 operator.wxxx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.wxxx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.wxxx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.wxxx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named sinh */
native float sinh(float);
float2 sinh(float2 x) {
float2 result;
result[0] = sinh(x[0]);
result[1] = sinh(x[1]);
return result;
}
float3 sinh(float3 x) {
float3 result;
result[0] = sinh(x[0]);
result[1] = sinh(x[1]);
result[2] = sinh(x[2]);
return result;
}
float4 sinh(float4 x) {
float4 result;
result[0] = sinh(x[0]);
result[1] = sinh(x[1]);
result[2] = sinh(x[2]);
result[3] = sinh(x[3]);
return result;
}
float2x2 sinh(float2x2 x) {
float2x2 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
return result;
}
float2x3 sinh(float2x3 x) {
float2x3 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
return result;
}
float2x4 sinh(float2x4 x) {
float2x4 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[0][3] = sinh(x[0][3]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
result[1][3] = sinh(x[1][3]);
return result;
}
float3x2 sinh(float3x2 x) {
float3x2 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
return result;
}
float3x3 sinh(float3x3 x) {
float3x3 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
result[2][2] = sinh(x[2][2]);
return result;
}
float3x4 sinh(float3x4 x) {
float3x4 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[0][3] = sinh(x[0][3]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
result[1][3] = sinh(x[1][3]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
result[2][2] = sinh(x[2][2]);
result[2][3] = sinh(x[2][3]);
return result;
}
float4x2 sinh(float4x2 x) {
float4x2 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
result[3][0] = sinh(x[3][0]);
result[3][1] = sinh(x[3][1]);
return result;
}
float4x3 sinh(float4x3 x) {
float4x3 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
result[2][2] = sinh(x[2][2]);
result[3][0] = sinh(x[3][0]);
result[3][1] = sinh(x[3][1]);
result[3][2] = sinh(x[3][2]);
return result;
}
float4x4 sinh(float4x4 x) {
float4x4 result;
result[0][0] = sinh(x[0][0]);
result[0][1] = sinh(x[0][1]);
result[0][2] = sinh(x[0][2]);
result[0][3] = sinh(x[0][3]);
result[1][0] = sinh(x[1][0]);
result[1][1] = sinh(x[1][1]);
result[1][2] = sinh(x[1][2]);
result[1][3] = sinh(x[1][3]);
result[2][0] = sinh(x[2][0]);
result[2][1] = sinh(x[2][1]);
result[2][2] = sinh(x[2][2]);
result[2][3] = sinh(x[2][3]);
result[3][0] = sinh(x[3][0]);
result[3][1] = sinh(x[3][1]);
result[3][2] = sinh(x[3][2]);
result[3][3] = sinh(x[3][3]);
return result;
}
/* Functions named ddy */
native float ddy(float);
float2 ddy(float2 x) {
float2 result;
result[0] = ddy(x[0]);
result[1] = ddy(x[1]);
return result;
}
float3 ddy(float3 x) {
float3 result;
result[0] = ddy(x[0]);
result[1] = ddy(x[1]);
result[2] = ddy(x[2]);
return result;
}
float4 ddy(float4 x) {
float4 result;
result[0] = ddy(x[0]);
result[1] = ddy(x[1]);
result[2] = ddy(x[2]);
result[3] = ddy(x[3]);
return result;
}
float2x2 ddy(float2x2 x) {
float2x2 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
return result;
}
float2x3 ddy(float2x3 x) {
float2x3 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
return result;
}
float2x4 ddy(float2x4 x) {
float2x4 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[0][3] = ddy(x[0][3]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
result[1][3] = ddy(x[1][3]);
return result;
}
float3x2 ddy(float3x2 x) {
float3x2 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
return result;
}
float3x3 ddy(float3x3 x) {
float3x3 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
result[2][2] = ddy(x[2][2]);
return result;
}
float3x4 ddy(float3x4 x) {
float3x4 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[0][3] = ddy(x[0][3]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
result[1][3] = ddy(x[1][3]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
result[2][2] = ddy(x[2][2]);
result[2][3] = ddy(x[2][3]);
return result;
}
float4x2 ddy(float4x2 x) {
float4x2 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
result[3][0] = ddy(x[3][0]);
result[3][1] = ddy(x[3][1]);
return result;
}
float4x3 ddy(float4x3 x) {
float4x3 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
result[2][2] = ddy(x[2][2]);
result[3][0] = ddy(x[3][0]);
result[3][1] = ddy(x[3][1]);
result[3][2] = ddy(x[3][2]);
return result;
}
float4x4 ddy(float4x4 x) {
float4x4 result;
result[0][0] = ddy(x[0][0]);
result[0][1] = ddy(x[0][1]);
result[0][2] = ddy(x[0][2]);
result[0][3] = ddy(x[0][3]);
result[1][0] = ddy(x[1][0]);
result[1][1] = ddy(x[1][1]);
result[1][2] = ddy(x[1][2]);
result[1][3] = ddy(x[1][3]);
result[2][0] = ddy(x[2][0]);
result[2][1] = ddy(x[2][1]);
result[2][2] = ddy(x[2][2]);
result[2][3] = ddy(x[2][3]);
result[3][0] = ddy(x[3][0]);
result[3][1] = ddy(x[3][1]);
result[3][2] = ddy(x[3][2]);
result[3][3] = ddy(x[3][3]);
return result;
}
/* Functions named operator>= */
native bool operator>=(int, int);
native bool operator>=(uint, uint);
native bool operator>=(float, float);
native bool2 operator>=(uint2, uint2);
native bool3 operator>=(uint3, uint3);
native bool4 operator>=(uint4, uint4);
native bool2 operator>=(int2, int2);
native bool3 operator>=(int3, int3);
native bool4 operator>=(int4, int4);
native bool2 operator>=(float2, float2);
native bool3 operator>=(float3, float3);
native bool4 operator>=(float4, float4);
native bool2x2 operator>=(float2x2, float2x2);
native bool2x3 operator>=(float2x3, float2x3);
native bool2x4 operator>=(float2x4, float2x4);
native bool3x2 operator>=(float3x2, float3x2);
native bool3x3 operator>=(float3x3, float3x3);
native bool3x4 operator>=(float3x4, float3x4);
native bool4x2 operator>=(float4x2, float4x2);
native bool4x3 operator>=(float4x3, float4x3);
native bool4x4 operator>=(float4x4, float4x4);
/* Functions named dst */
uint4 dst(uint4 src0, uint4 src1) {
uint4 result;
result.x = 1;
result.y = src0.y * src1.y;
result.z = src0.z;
result.w = src1.w;
return result;
}
int4 dst(int4 src0, int4 src1) {
int4 result;
result.x = 1;
result.y = src0.y * src1.y;
result.z = src0.z;
result.w = src1.w;
return result;
}
float4 dst(float4 src0, float4 src1) {
float4 result;
result.x = 1;
result.y = src0.y * src1.y;
result.z = src0.z;
result.w = src1.w;
return result;
}
/* Functions named operator.xyz= */
bool3 operator.xyz=(bool3 v, bool3 c) {
bool3 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
bool4 operator.xyz=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
uint3 operator.xyz=(uint3 v, uint3 c) {
uint3 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
uint4 operator.xyz=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
int3 operator.xyz=(int3 v, int3 c) {
int3 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
int4 operator.xyz=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
float3 operator.xyz=(float3 v, float3 c) {
float3 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
float4 operator.xyz=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.y = c.y;
result.z = c.z;
return result;
}
/* Functions named operator.yxxw */
bool4 operator.yxxw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.yxxw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.yxxw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.yxxw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.wxy */
bool3 operator.wxy(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
return result;
}
uint3 operator.wxy(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
return result;
}
int3 operator.wxy(int4 v) {
int3 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
return result;
}
float3 operator.wxy(float4 v) {
float3 result;
result.x = v.w;
result.y = v.x;
result.z = v.y;
return result;
}
/* Functions named dot */
uint dot(uint a, uint b) {
return a * b;
}
uint dot(uint2 a, uint2 b) {
uint result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
return result;
}
uint dot(uint3 a, uint3 b) {
uint result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
return result;
}
uint dot(uint4 a, uint4 b) {
uint result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
result = result + a[3] * b[3];
return result;
}
int dot(int a, int b) {
return a * b;
}
int dot(int2 a, int2 b) {
int result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
return result;
}
int dot(int3 a, int3 b) {
int result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
return result;
}
int dot(int4 a, int4 b) {
int result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
result = result + a[3] * b[3];
return result;
}
float dot(float a, float b) {
return a * b;
}
float dot(float2 a, float2 b) {
float result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
return result;
}
float dot(float3 a, float3 b) {
float result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
return result;
}
float dot(float4 a, float4 b) {
float result = 0;
result = result + a[0] * b[0];
result = result + a[1] * b[1];
result = result + a[2] * b[2];
result = result + a[3] * b[3];
return result;
}
/* Functions named operator.zxyw= */
bool4 operator.zxyw=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
uint4 operator.zxyw=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
int4 operator.zxyw=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
float4 operator.zxyw=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.x = c.y;
result.y = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.yyw */
bool3 operator.yyw(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
return result;
}
uint3 operator.yyw(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
return result;
}
int3 operator.yyw(int4 v) {
int3 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
return result;
}
float3 operator.yyw(float4 v) {
float3 result;
result.x = v.y;
result.y = v.y;
result.z = v.w;
return result;
}
/* Functions named operator.ywx= */
bool4 operator.ywx=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
uint4 operator.ywx=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
int4 operator.ywx=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
float4 operator.ywx=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.w = c.y;
result.x = c.z;
return result;
}
/* Functions named operator.xzxx */
bool4 operator.xzxx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.xzxx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xzxx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.xzxx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xzxx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.xzxx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xzxx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.xzxx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.yxzw= */
bool4 operator.yxzw=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
uint4 operator.yxzw=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
int4 operator.yxzw=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
float4 operator.yxzw=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.x = c.y;
result.z = c.z;
result.w = c.w;
return result;
}
/* Functions named operator.wxz */
bool3 operator.wxz(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
return result;
}
uint3 operator.wxz(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
return result;
}
int3 operator.wxz(int4 v) {
int3 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
return result;
}
float3 operator.wxz(float4 v) {
float3 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
return result;
}
/* Functions named operator.wwzy */
bool4 operator.wwzy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.wwzy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.wwzy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.wwzy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.xwxz */
bool4 operator.xwxz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.xwxz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.xwxz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.xwxz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.wwzz */
bool4 operator.wwzz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.wwzz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.wwzz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.wwzz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.zxxx */
bool4 operator.zxxx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
bool4 operator.zxxx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zxxx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.zxxx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zxxx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.zxxx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zxxx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.zxxx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named asfloat */
native float asfloat(int);
float2 asfloat(int2 x) {
float2 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
return result;
}
float3 asfloat(int3 x) {
float3 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
result[2] = asfloat(x[2]);
return result;
}
float4 asfloat(int4 x) {
float4 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
result[2] = asfloat(x[2]);
result[3] = asfloat(x[3]);
return result;
}
native float asfloat(uint);
float2 asfloat(uint2 x) {
float2 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
return result;
}
float3 asfloat(uint3 x) {
float3 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
result[2] = asfloat(x[2]);
return result;
}
float4 asfloat(uint4 x) {
float4 result;
result[0] = asfloat(x[0]);
result[1] = asfloat(x[1]);
result[2] = asfloat(x[2]);
result[3] = asfloat(x[3]);
return result;
}
float asfloat(float x) {
return x;
}
float2 asfloat(float2 x) {
return x;
}
float3 asfloat(float3 x) {
return x;
}
float4 asfloat(float4 x) {
return x;
}
float2x2 asfloat(float2x2 x) {
return x;
}
float2x3 asfloat(float2x3 x) {
return x;
}
float2x4 asfloat(float2x4 x) {
return x;
}
float3x2 asfloat(float3x2 x) {
return x;
}
float3x3 asfloat(float3x3 x) {
return x;
}
float3x4 asfloat(float3x4 x) {
return x;
}
float4x2 asfloat(float4x2 x) {
return x;
}
float4x3 asfloat(float4x3 x) {
return x;
}
float4x4 asfloat(float4x4 x) {
return x;
}
/* Functions named operator.zwyx */
bool4 operator.zwyx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zwyx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zwyx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zwyx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named isnormal */
native bool isnormal(float);
bool2 isnormal(float2 x) {
bool2 result;
result[0] = isnormal(x[0]);
result[1] = isnormal(x[1]);
return result;
}
bool3 isnormal(float3 x) {
bool3 result;
result[0] = isnormal(x[0]);
result[1] = isnormal(x[1]);
result[2] = isnormal(x[2]);
return result;
}
bool4 isnormal(float4 x) {
bool4 result;
result[0] = isnormal(x[0]);
result[1] = isnormal(x[1]);
result[2] = isnormal(x[2]);
result[3] = isnormal(x[3]);
return result;
}
/* Functions named InterlockedExchange */
native void InterlockedExchange(device atomic_uint*, uint, thread uint*);
native void InterlockedExchange(device atomic_int*, int, thread int*);
native void InterlockedExchange(device atomic_uint*, uint, device uint*);
native void InterlockedExchange(device atomic_int*, int, device int*);
native void InterlockedExchange(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedExchange(device atomic_int*, int, threadgroup int*);
native void InterlockedExchange(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedExchange(threadgroup atomic_int*, int, thread int*);
native void InterlockedExchange(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedExchange(threadgroup atomic_int*, int, device int*);
native void InterlockedExchange(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedExchange(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named operator.xzx */
bool3 operator.xzx(bool3 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
bool3 operator.xzx(bool4 v) {
bool3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.xzx(uint3 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
uint3 operator.xzx(uint4 v) {
uint3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.xzx(int3 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
int3 operator.xzx(int4 v) {
int3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.xzx(float3 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
float3 operator.xzx(float4 v) {
float3 result;
result.x = v.x;
result.y = v.z;
result.z = v.x;
return result;
}
/* Functions named GetDimensions */
native void GetDimensions(Texture1D<uint>, thread uint* Width);
native void GetDimensions(Texture1D<uint>, thread uint* Width);
native void GetDimensions(Texture1D<uint>, thread uint* Width);
native void GetDimensions(Texture1D<uint>, device uint* Width);
native void GetDimensions(Texture1D<uint>, device uint* Width);
native void GetDimensions(Texture1D<uint>, device uint* Width);
native void GetDimensions(Texture1D<uint>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<uint2>, thread uint* Width);
native void GetDimensions(Texture1D<uint2>, thread uint* Width);
native void GetDimensions(Texture1D<uint2>, thread uint* Width);
native void GetDimensions(Texture1D<uint2>, device uint* Width);
native void GetDimensions(Texture1D<uint2>, device uint* Width);
native void GetDimensions(Texture1D<uint2>, device uint* Width);
native void GetDimensions(Texture1D<uint2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint2>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<uint3>, thread uint* Width);
native void GetDimensions(Texture1D<uint3>, thread uint* Width);
native void GetDimensions(Texture1D<uint3>, thread uint* Width);
native void GetDimensions(Texture1D<uint3>, device uint* Width);
native void GetDimensions(Texture1D<uint3>, device uint* Width);
native void GetDimensions(Texture1D<uint3>, device uint* Width);
native void GetDimensions(Texture1D<uint3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint3>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<uint4>, thread uint* Width);
native void GetDimensions(Texture1D<uint4>, thread uint* Width);
native void GetDimensions(Texture1D<uint4>, thread uint* Width);
native void GetDimensions(Texture1D<uint4>, device uint* Width);
native void GetDimensions(Texture1D<uint4>, device uint* Width);
native void GetDimensions(Texture1D<uint4>, device uint* Width);
native void GetDimensions(Texture1D<uint4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<uint4>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<uint4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<uint4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<int>, thread uint* Width);
native void GetDimensions(Texture1D<int>, thread uint* Width);
native void GetDimensions(Texture1D<int>, thread uint* Width);
native void GetDimensions(Texture1D<int>, device uint* Width);
native void GetDimensions(Texture1D<int>, device uint* Width);
native void GetDimensions(Texture1D<int>, device uint* Width);
native void GetDimensions(Texture1D<int>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<int2>, thread uint* Width);
native void GetDimensions(Texture1D<int2>, thread uint* Width);
native void GetDimensions(Texture1D<int2>, thread uint* Width);
native void GetDimensions(Texture1D<int2>, device uint* Width);
native void GetDimensions(Texture1D<int2>, device uint* Width);
native void GetDimensions(Texture1D<int2>, device uint* Width);
native void GetDimensions(Texture1D<int2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int2>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<int3>, thread uint* Width);
native void GetDimensions(Texture1D<int3>, thread uint* Width);
native void GetDimensions(Texture1D<int3>, thread uint* Width);
native void GetDimensions(Texture1D<int3>, device uint* Width);
native void GetDimensions(Texture1D<int3>, device uint* Width);
native void GetDimensions(Texture1D<int3>, device uint* Width);
native void GetDimensions(Texture1D<int3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int3>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<int4>, thread uint* Width);
native void GetDimensions(Texture1D<int4>, thread uint* Width);
native void GetDimensions(Texture1D<int4>, thread uint* Width);
native void GetDimensions(Texture1D<int4>, device uint* Width);
native void GetDimensions(Texture1D<int4>, device uint* Width);
native void GetDimensions(Texture1D<int4>, device uint* Width);
native void GetDimensions(Texture1D<int4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<int4>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<int4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<int4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<float>, thread uint* Width);
native void GetDimensions(Texture1D<float>, thread uint* Width);
native void GetDimensions(Texture1D<float>, thread uint* Width);
native void GetDimensions(Texture1D<float>, device uint* Width);
native void GetDimensions(Texture1D<float>, device uint* Width);
native void GetDimensions(Texture1D<float>, device uint* Width);
native void GetDimensions(Texture1D<float>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<float2>, thread uint* Width);
native void GetDimensions(Texture1D<float2>, thread uint* Width);
native void GetDimensions(Texture1D<float2>, thread uint* Width);
native void GetDimensions(Texture1D<float2>, device uint* Width);
native void GetDimensions(Texture1D<float2>, device uint* Width);
native void GetDimensions(Texture1D<float2>, device uint* Width);
native void GetDimensions(Texture1D<float2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float2>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float2>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float2>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float2>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<float3>, thread uint* Width);
native void GetDimensions(Texture1D<float3>, thread uint* Width);
native void GetDimensions(Texture1D<float3>, thread uint* Width);
native void GetDimensions(Texture1D<float3>, device uint* Width);
native void GetDimensions(Texture1D<float3>, device uint* Width);
native void GetDimensions(Texture1D<float3>, device uint* Width);
native void GetDimensions(Texture1D<float3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float3>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float3>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float3>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float3>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture1D<float4>, thread uint* Width);
native void GetDimensions(Texture1D<float4>, thread uint* Width);
native void GetDimensions(Texture1D<float4>, thread uint* Width);
native void GetDimensions(Texture1D<float4>, device uint* Width);
native void GetDimensions(Texture1D<float4>, device uint* Width);
native void GetDimensions(Texture1D<float4>, device uint* Width);
native void GetDimensions(Texture1D<float4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float4>, threadgroup uint* Width);
native void GetDimensions(Texture1D<float4>, threadgroup uint* Width);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, thread uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, device uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, thread uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, device uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture1DArray<float4>, threadgroup uint* Width, threadgroup uint* Elements);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(Texture2D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(Texture2DArray<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels);
native void GetDimensions(Texture3D<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureCube<float4>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2D<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels);
native void GetDimensions(TextureDepth2DArray<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels);
native void GetDimensions(TextureDepthCube<float>, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels);
/* Functions named operator.xwyw */
bool4 operator.xwyw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.xwyw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.xwyw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.xwyw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator+ */
native int operator+(int, int);
native uint operator+(uint, uint);
native float operator+(float, float);
native uint2 operator+(uint2, uint2);
native uint2 operator+(uint, uint2);
native uint2 operator+(uint2, uint);
native uint3 operator+(uint3, uint3);
native uint3 operator+(uint, uint3);
native uint3 operator+(uint3, uint);
native uint4 operator+(uint4, uint4);
native uint4 operator+(uint, uint4);
native uint4 operator+(uint4, uint);
native int2 operator+(int2, int2);
native int2 operator+(int, int2);
native int2 operator+(int2, int);
native int3 operator+(int3, int3);
native int3 operator+(int, int3);
native int3 operator+(int3, int);
native int4 operator+(int4, int4);
native int4 operator+(int, int4);
native int4 operator+(int4, int);
native float2 operator+(float2, float2);
native float2 operator+(float, float2);
native float2 operator+(float2, float);
native float3 operator+(float3, float3);
native float3 operator+(float, float3);
native float3 operator+(float3, float);
native float4 operator+(float4, float4);
native float4 operator+(float, float4);
native float4 operator+(float4, float);
native float2x2 operator+(float2x2, float2x2);
native float2x2 operator+(float, float2x2);
native float2x2 operator+(float2x2, float);
native float2x3 operator+(float2x3, float2x3);
native float2x3 operator+(float, float2x3);
native float2x3 operator+(float2x3, float);
native float2x4 operator+(float2x4, float2x4);
native float2x4 operator+(float, float2x4);
native float2x4 operator+(float2x4, float);
native float3x2 operator+(float3x2, float3x2);
native float3x2 operator+(float, float3x2);
native float3x2 operator+(float3x2, float);
native float3x3 operator+(float3x3, float3x3);
native float3x3 operator+(float, float3x3);
native float3x3 operator+(float3x3, float);
native float3x4 operator+(float3x4, float3x4);
native float3x4 operator+(float, float3x4);
native float3x4 operator+(float3x4, float);
native float4x2 operator+(float4x2, float4x2);
native float4x2 operator+(float, float4x2);
native float4x2 operator+(float4x2, float);
native float4x3 operator+(float4x3, float4x3);
native float4x3 operator+(float, float4x3);
native float4x3 operator+(float4x3, float);
native float4x4 operator+(float4x4, float4x4);
native float4x4 operator+(float, float4x4);
native float4x4 operator+(float4x4, float);
native uint2 operator+(uint2);
native uint3 operator+(uint3);
native uint4 operator+(uint4);
native int2 operator+(int2);
native int3 operator+(int3);
native int4 operator+(int4);
native float2 operator+(float2);
native float3 operator+(float3);
native float4 operator+(float4);
native float2x2 operator+(float2x2);
native float2x3 operator+(float2x3);
native float2x4 operator+(float2x4);
native float3x2 operator+(float3x2);
native float3x3 operator+(float3x3);
native float3x4 operator+(float3x4);
native float4x2 operator+(float4x2);
native float4x3 operator+(float4x3);
native float4x4 operator+(float4x4);
/* Functions named operator.zxx */
bool3 operator.zxx(bool3 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
bool3 operator.zxx(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.zxx(uint3 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.zxx(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.zxx(int3 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.zxx(int4 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.zxx(float3 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.zxx(float4 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.x;
return result;
}
/* Functions named operator.xxyx */
bool4 operator.xxyx(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.xxyx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.xxyx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xxyx(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xxyx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xxyx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xxyx(int2 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xxyx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xxyx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xxyx(float2 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xxyx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xxyx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.xzzw */
bool4 operator.xzzw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.xzzw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.xzzw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.xzzw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.xywz= */
bool4 operator.xywz=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
uint4 operator.xywz=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
int4 operator.xywz=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
float4 operator.xywz=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.y = c.y;
result.w = c.z;
result.z = c.w;
return result;
}
/* Functions named operator.wxxw */
bool4 operator.wxxw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.wxxw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.wxxw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.wxxw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named operator.wzyx */
bool4 operator.wzyx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.wzyx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.wzyx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.wzyx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named frac */
float frac(float x) {
return x - floor(x);
}
float2 frac(float2 x) {
float2 result;
result[0] = frac(x[0]);
result[1] = frac(x[1]);
return result;
}
float3 frac(float3 x) {
float3 result;
result[0] = frac(x[0]);
result[1] = frac(x[1]);
result[2] = frac(x[2]);
return result;
}
float4 frac(float4 x) {
float4 result;
result[0] = frac(x[0]);
result[1] = frac(x[1]);
result[2] = frac(x[2]);
result[3] = frac(x[3]);
return result;
}
float2x2 frac(float2x2 x) {
float2x2 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
return result;
}
float2x3 frac(float2x3 x) {
float2x3 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
return result;
}
float2x4 frac(float2x4 x) {
float2x4 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[0][3] = frac(x[0][3]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
result[1][3] = frac(x[1][3]);
return result;
}
float3x2 frac(float3x2 x) {
float3x2 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
return result;
}
float3x3 frac(float3x3 x) {
float3x3 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
result[2][2] = frac(x[2][2]);
return result;
}
float3x4 frac(float3x4 x) {
float3x4 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[0][3] = frac(x[0][3]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
result[1][3] = frac(x[1][3]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
result[2][2] = frac(x[2][2]);
result[2][3] = frac(x[2][3]);
return result;
}
float4x2 frac(float4x2 x) {
float4x2 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
result[3][0] = frac(x[3][0]);
result[3][1] = frac(x[3][1]);
return result;
}
float4x3 frac(float4x3 x) {
float4x3 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
result[2][2] = frac(x[2][2]);
result[3][0] = frac(x[3][0]);
result[3][1] = frac(x[3][1]);
result[3][2] = frac(x[3][2]);
return result;
}
float4x4 frac(float4x4 x) {
float4x4 result;
result[0][0] = frac(x[0][0]);
result[0][1] = frac(x[0][1]);
result[0][2] = frac(x[0][2]);
result[0][3] = frac(x[0][3]);
result[1][0] = frac(x[1][0]);
result[1][1] = frac(x[1][1]);
result[1][2] = frac(x[1][2]);
result[1][3] = frac(x[1][3]);
result[2][0] = frac(x[2][0]);
result[2][1] = frac(x[2][1]);
result[2][2] = frac(x[2][2]);
result[2][3] = frac(x[2][3]);
result[3][0] = frac(x[3][0]);
result[3][1] = frac(x[3][1]);
result[3][2] = frac(x[3][2]);
result[3][3] = frac(x[3][3]);
return result;
}
/* Functions named store */
native void store(device atomic_int*, int);
native void store(device atomic_uint*, uint);
native void store(threadgroup atomic_int*, int);
native void store(threadgroup atomic_uint*, uint);
/* Functions named operator.zww */
bool3 operator.zww(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
return result;
}
uint3 operator.zww(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
return result;
}
int3 operator.zww(int4 v) {
int3 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
return result;
}
float3 operator.zww(float4 v) {
float3 result;
result.x = v.z;
result.y = v.w;
result.z = v.w;
return result;
}
/* Functions named operator.yzzz */
bool4 operator.yzzz(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.yzzz(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yzzz(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.yzzz(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yzzz(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.yzzz(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yzzz(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.yzzz(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named refract */
float refract(float i, float n, float eta) {
float result;
float k = 1 - eta * eta * (1 - dot(n, i) * dot(n, i));
if (k < 0)
return result;
return eta * i - (eta * dot(n, i) + sqrt(k)) * n;
}
float2 refract(float2 i, float2 n, float eta) {
float2 result;
float k = 1 - eta * eta * (1 - dot(n, i) * dot(n, i));
if (k < 0)
return result;
return eta * i - (eta * dot(n, i) + sqrt(k)) * n;
}
float3 refract(float3 i, float3 n, float eta) {
float3 result;
float k = 1 - eta * eta * (1 - dot(n, i) * dot(n, i));
if (k < 0)
return result;
return eta * i - (eta * dot(n, i) + sqrt(k)) * n;
}
float4 refract(float4 i, float4 n, float eta) {
float4 result;
float k = 1 - eta * eta * (1 - dot(n, i) * dot(n, i));
if (k < 0)
return result;
return eta * i - (eta * dot(n, i) + sqrt(k)) * n;
}
/* Functions named operator.zxyw */
bool4 operator.zxyw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.zxyw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.zxyw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.zxyw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.wzw */
bool3 operator.wzw(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
return result;
}
uint3 operator.wzw(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
return result;
}
int3 operator.wzw(int4 v) {
int3 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
return result;
}
float3 operator.wzw(float4 v) {
float3 result;
result.x = v.w;
result.y = v.z;
result.z = v.w;
return result;
}
/* Functions named operator.zwzz */
bool4 operator.zwzz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zwzz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zwzz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zwzz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named log10 */
float log10(float x) {
return log(x) / log(float(10));
}
float2 log10(float2 x) {
float2 result;
result[0] = log10(x[0]);
result[1] = log10(x[1]);
return result;
}
float3 log10(float3 x) {
float3 result;
result[0] = log10(x[0]);
result[1] = log10(x[1]);
result[2] = log10(x[2]);
return result;
}
float4 log10(float4 x) {
float4 result;
result[0] = log10(x[0]);
result[1] = log10(x[1]);
result[2] = log10(x[2]);
result[3] = log10(x[3]);
return result;
}
float2x2 log10(float2x2 x) {
float2x2 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
return result;
}
float2x3 log10(float2x3 x) {
float2x3 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
return result;
}
float2x4 log10(float2x4 x) {
float2x4 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[0][3] = log10(x[0][3]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
result[1][3] = log10(x[1][3]);
return result;
}
float3x2 log10(float3x2 x) {
float3x2 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
return result;
}
float3x3 log10(float3x3 x) {
float3x3 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
result[2][2] = log10(x[2][2]);
return result;
}
float3x4 log10(float3x4 x) {
float3x4 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[0][3] = log10(x[0][3]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
result[1][3] = log10(x[1][3]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
result[2][2] = log10(x[2][2]);
result[2][3] = log10(x[2][3]);
return result;
}
float4x2 log10(float4x2 x) {
float4x2 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
result[3][0] = log10(x[3][0]);
result[3][1] = log10(x[3][1]);
return result;
}
float4x3 log10(float4x3 x) {
float4x3 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
result[2][2] = log10(x[2][2]);
result[3][0] = log10(x[3][0]);
result[3][1] = log10(x[3][1]);
result[3][2] = log10(x[3][2]);
return result;
}
float4x4 log10(float4x4 x) {
float4x4 result;
result[0][0] = log10(x[0][0]);
result[0][1] = log10(x[0][1]);
result[0][2] = log10(x[0][2]);
result[0][3] = log10(x[0][3]);
result[1][0] = log10(x[1][0]);
result[1][1] = log10(x[1][1]);
result[1][2] = log10(x[1][2]);
result[1][3] = log10(x[1][3]);
result[2][0] = log10(x[2][0]);
result[2][1] = log10(x[2][1]);
result[2][2] = log10(x[2][2]);
result[2][3] = log10(x[2][3]);
result[3][0] = log10(x[3][0]);
result[3][1] = log10(x[3][1]);
result[3][2] = log10(x[3][2]);
result[3][3] = log10(x[3][3]);
return result;
}
/* Functions named operator/ */
native int operator/(int, int);
native uint operator/(uint, uint);
native float operator/(float, float);
native uint2 operator/(uint2, uint2);
native uint2 operator/(uint2, uint);
native uint2 operator/(uint, uint2);
native uint3 operator/(uint3, uint3);
native uint3 operator/(uint3, uint);
native uint3 operator/(uint, uint3);
native uint4 operator/(uint4, uint4);
native uint4 operator/(uint4, uint);
native uint4 operator/(uint, uint4);
native int2 operator/(int2, int2);
native int2 operator/(int2, int);
native int2 operator/(int, int2);
native int3 operator/(int3, int3);
native int3 operator/(int3, int);
native int3 operator/(int, int3);
native int4 operator/(int4, int4);
native int4 operator/(int4, int);
native int4 operator/(int, int4);
native float2 operator/(float2, float2);
native float2 operator/(float2, float);
native float2 operator/(float, float2);
native float3 operator/(float3, float3);
native float3 operator/(float3, float);
native float3 operator/(float, float3);
native float4 operator/(float4, float4);
native float4 operator/(float4, float);
native float4 operator/(float, float4);
native float2x2 operator/(float2x2, float2x2);
native float2x2 operator/(float2x2, float);
native float2x2 operator/(float, float2x2);
native float2x3 operator/(float2x3, float2x3);
native float2x3 operator/(float2x3, float);
native float2x3 operator/(float, float2x3);
native float2x4 operator/(float2x4, float2x4);
native float2x4 operator/(float2x4, float);
native float2x4 operator/(float, float2x4);
native float3x2 operator/(float3x2, float3x2);
native float3x2 operator/(float3x2, float);
native float3x2 operator/(float, float3x2);
native float3x3 operator/(float3x3, float3x3);
native float3x3 operator/(float3x3, float);
native float3x3 operator/(float, float3x3);
native float3x4 operator/(float3x4, float3x4);
native float3x4 operator/(float3x4, float);
native float3x4 operator/(float, float3x4);
native float4x2 operator/(float4x2, float4x2);
native float4x2 operator/(float4x2, float);
native float4x2 operator/(float, float4x2);
native float4x3 operator/(float4x3, float4x3);
native float4x3 operator/(float4x3, float);
native float4x3 operator/(float, float4x3);
native float4x4 operator/(float4x4, float4x4);
native float4x4 operator/(float4x4, float);
native float4x4 operator/(float, float4x4);
/* Functions named operator.xwzx */
bool4 operator.xwzx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xwzx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xwzx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xwzx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.zxww */
bool4 operator.zxww(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.zxww(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.zxww(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.zxww(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.wyzx */
bool4 operator.wyzx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.wyzx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.wyzx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.wyzx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.wy */
bool2 operator.wy(bool4 v) {
bool2 result;
result.x = v.w;
result.y = v.y;
return result;
}
uint2 operator.wy(uint4 v) {
uint2 result;
result.x = v.w;
result.y = v.y;
return result;
}
int2 operator.wy(int4 v) {
int2 result;
result.x = v.w;
result.y = v.y;
return result;
}
float2 operator.wy(float4 v) {
float2 result;
result.x = v.w;
result.y = v.y;
return result;
}
/* Functions named operator.wzyz */
bool4 operator.wzyz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
uint4 operator.wzyz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
int4 operator.wzyz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
float4 operator.wzyz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.z;
return result;
}
/* Functions named ddy_fine */
float ddy_fine(float x) {
return ddy(x);
}
float2 ddy_fine(float2 x) {
float2 result;
result[0] = ddy_fine(x[0]);
result[1] = ddy_fine(x[1]);
return result;
}
float3 ddy_fine(float3 x) {
float3 result;
result[0] = ddy_fine(x[0]);
result[1] = ddy_fine(x[1]);
result[2] = ddy_fine(x[2]);
return result;
}
float4 ddy_fine(float4 x) {
float4 result;
result[0] = ddy_fine(x[0]);
result[1] = ddy_fine(x[1]);
result[2] = ddy_fine(x[2]);
result[3] = ddy_fine(x[3]);
return result;
}
float2x2 ddy_fine(float2x2 x) {
float2x2 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
return result;
}
float2x3 ddy_fine(float2x3 x) {
float2x3 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
return result;
}
float2x4 ddy_fine(float2x4 x) {
float2x4 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[0][3] = ddy_fine(x[0][3]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
result[1][3] = ddy_fine(x[1][3]);
return result;
}
float3x2 ddy_fine(float3x2 x) {
float3x2 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
return result;
}
float3x3 ddy_fine(float3x3 x) {
float3x3 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
result[2][2] = ddy_fine(x[2][2]);
return result;
}
float3x4 ddy_fine(float3x4 x) {
float3x4 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[0][3] = ddy_fine(x[0][3]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
result[1][3] = ddy_fine(x[1][3]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
result[2][2] = ddy_fine(x[2][2]);
result[2][3] = ddy_fine(x[2][3]);
return result;
}
float4x2 ddy_fine(float4x2 x) {
float4x2 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
result[3][0] = ddy_fine(x[3][0]);
result[3][1] = ddy_fine(x[3][1]);
return result;
}
float4x3 ddy_fine(float4x3 x) {
float4x3 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
result[2][2] = ddy_fine(x[2][2]);
result[3][0] = ddy_fine(x[3][0]);
result[3][1] = ddy_fine(x[3][1]);
result[3][2] = ddy_fine(x[3][2]);
return result;
}
float4x4 ddy_fine(float4x4 x) {
float4x4 result;
result[0][0] = ddy_fine(x[0][0]);
result[0][1] = ddy_fine(x[0][1]);
result[0][2] = ddy_fine(x[0][2]);
result[0][3] = ddy_fine(x[0][3]);
result[1][0] = ddy_fine(x[1][0]);
result[1][1] = ddy_fine(x[1][1]);
result[1][2] = ddy_fine(x[1][2]);
result[1][3] = ddy_fine(x[1][3]);
result[2][0] = ddy_fine(x[2][0]);
result[2][1] = ddy_fine(x[2][1]);
result[2][2] = ddy_fine(x[2][2]);
result[2][3] = ddy_fine(x[2][3]);
result[3][0] = ddy_fine(x[3][0]);
result[3][1] = ddy_fine(x[3][1]);
result[3][2] = ddy_fine(x[3][2]);
result[3][3] = ddy_fine(x[3][3]);
return result;
}
/* Functions named operator.xyzx */
bool4 operator.xyzx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
bool4 operator.xyzx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xyzx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.xyzx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xyzx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.xyzx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xyzx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.xyzx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.wyx= */
bool4 operator.wyx=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
uint4 operator.wyx=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
int4 operator.wyx=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
float4 operator.wyx=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.y = c.y;
result.x = c.z;
return result;
}
/* Functions named operator.wzyy */
bool4 operator.wzyy(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.wzyy(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.wzyy(int4 v) {
int4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.wzyy(float4 v) {
float4 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.ywz */
bool3 operator.ywz(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
return result;
}
uint3 operator.ywz(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
return result;
}
int3 operator.ywz(int4 v) {
int3 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
return result;
}
float3 operator.ywz(float4 v) {
float3 result;
result.x = v.y;
result.y = v.w;
result.z = v.z;
return result;
}
/* Functions named any */
bool any(bool x) {
return x;
}
bool any(bool2 x) {
bool result = false;
result = result || (x[0]);
result = result || (x[1]);
return result;
}
bool any(bool3 x) {
bool result = false;
result = result || (x[0]);
result = result || (x[1]);
result = result || (x[2]);
return result;
}
bool any(bool4 x) {
bool result = false;
result = result || (x[0]);
result = result || (x[1]);
result = result || (x[2]);
result = result || (x[3]);
return result;
}
bool any(uint x) {
return x != 0;
}
bool any(uint2 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
return result;
}
bool any(uint3 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
return result;
}
bool any(uint4 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
result = result || (x[3] != 0);
return result;
}
bool any(int x) {
return x != 0;
}
bool any(int2 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
return result;
}
bool any(int3 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
return result;
}
bool any(int4 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
result = result || (x[3] != 0);
return result;
}
bool any(float x) {
return x != 0;
}
bool any(float2 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
return result;
}
bool any(float3 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
return result;
}
bool any(float4 x) {
bool result = false;
result = result || (x[0] != 0);
result = result || (x[1] != 0);
result = result || (x[2] != 0);
result = result || (x[3] != 0);
return result;
}
bool any(float2x2 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
return result;
}
bool any(float2x3 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
return result;
}
bool any(float2x4 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[0][3] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
result = result || (x[1][3] != 0);
return result;
}
bool any(float3x2 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
return result;
}
bool any(float3x3 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
result = result || (x[2][2] != 0);
return result;
}
bool any(float3x4 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[0][3] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
result = result || (x[1][3] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
result = result || (x[2][2] != 0);
result = result || (x[2][3] != 0);
return result;
}
bool any(float4x2 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
result = result || (x[3][0] != 0);
result = result || (x[3][1] != 0);
return result;
}
bool any(float4x3 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
result = result || (x[2][2] != 0);
result = result || (x[3][0] != 0);
result = result || (x[3][1] != 0);
result = result || (x[3][2] != 0);
return result;
}
bool any(float4x4 x) {
bool result = false;
result = result || (x[0][0] != 0);
result = result || (x[0][1] != 0);
result = result || (x[0][2] != 0);
result = result || (x[0][3] != 0);
result = result || (x[1][0] != 0);
result = result || (x[1][1] != 0);
result = result || (x[1][2] != 0);
result = result || (x[1][3] != 0);
result = result || (x[2][0] != 0);
result = result || (x[2][1] != 0);
result = result || (x[2][2] != 0);
result = result || (x[2][3] != 0);
result = result || (x[3][0] != 0);
result = result || (x[3][1] != 0);
result = result || (x[3][2] != 0);
result = result || (x[3][3] != 0);
return result;
}
bool any(bool2x2 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[1][0];
result = result || x[1][1];
return result;
}
bool any(bool2x3 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
return result;
}
bool any(bool2x4 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[0][3];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
result = result || x[1][3];
return result;
}
bool any(bool3x2 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[2][0];
result = result || x[2][1];
return result;
}
bool any(bool3x3 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
result = result || x[2][0];
result = result || x[2][1];
result = result || x[2][2];
return result;
}
bool any(bool3x4 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[0][3];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
result = result || x[1][3];
result = result || x[2][0];
result = result || x[2][1];
result = result || x[2][2];
result = result || x[2][3];
return result;
}
bool any(bool4x2 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[2][0];
result = result || x[2][1];
result = result || x[3][0];
result = result || x[3][1];
return result;
}
bool any(bool4x3 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
result = result || x[2][0];
result = result || x[2][1];
result = result || x[2][2];
result = result || x[3][0];
result = result || x[3][1];
result = result || x[3][2];
return result;
}
bool any(bool4x4 x) {
bool result = false;
result = result || x[0][0];
result = result || x[0][1];
result = result || x[0][2];
result = result || x[0][3];
result = result || x[1][0];
result = result || x[1][1];
result = result || x[1][2];
result = result || x[1][3];
result = result || x[2][0];
result = result || x[2][1];
result = result || x[2][2];
result = result || x[2][3];
result = result || x[3][0];
result = result || x[3][1];
result = result || x[3][2];
result = result || x[3][3];
return result;
}
/* Functions named operator.yxww */
bool4 operator.yxww(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
uint4 operator.yxww(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
int4 operator.yxww(int4 v) {
int4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
float4 operator.yxww(float4 v) {
float4 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
result.w = v.w;
return result;
}
/* Functions named operator.zy= */
bool3 operator.zy=(bool3 v, bool2 c) {
bool3 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
bool4 operator.zy=(bool4 v, bool2 c) {
bool4 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
uint3 operator.zy=(uint3 v, uint2 c) {
uint3 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
uint4 operator.zy=(uint4 v, uint2 c) {
uint4 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
int3 operator.zy=(int3 v, int2 c) {
int3 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
int4 operator.zy=(int4 v, int2 c) {
int4 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
float3 operator.zy=(float3 v, float2 c) {
float3 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
float4 operator.zy=(float4 v, float2 c) {
float4 result = v;
result.z = c.x;
result.y = c.y;
return result;
}
/* Functions named operator.wyz */
bool3 operator.wyz(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
return result;
}
uint3 operator.wyz(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
return result;
}
int3 operator.wyz(int4 v) {
int3 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
return result;
}
float3 operator.wyz(float4 v) {
float3 result;
result.x = v.w;
result.y = v.y;
result.z = v.z;
return result;
}
/* Functions named operator.yxw= */
bool4 operator.yxw=(bool4 v, bool3 c) {
bool4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
uint4 operator.yxw=(uint4 v, uint3 c) {
uint4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
int4 operator.yxw=(int4 v, int3 c) {
int4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
float4 operator.yxw=(float4 v, float3 c) {
float4 result = v;
result.y = c.x;
result.x = c.y;
result.w = c.z;
return result;
}
/* Functions named operator.wyxz */
bool4 operator.wyxz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.wyxz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.wyxz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.wyxz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named ddy_coarse */
float ddy_coarse(float x) {
return ddy(x);
}
float2 ddy_coarse(float2 x) {
float2 result;
result[0] = ddy_coarse(x[0]);
result[1] = ddy_coarse(x[1]);
return result;
}
float3 ddy_coarse(float3 x) {
float3 result;
result[0] = ddy_coarse(x[0]);
result[1] = ddy_coarse(x[1]);
result[2] = ddy_coarse(x[2]);
return result;
}
float4 ddy_coarse(float4 x) {
float4 result;
result[0] = ddy_coarse(x[0]);
result[1] = ddy_coarse(x[1]);
result[2] = ddy_coarse(x[2]);
result[3] = ddy_coarse(x[3]);
return result;
}
float2x2 ddy_coarse(float2x2 x) {
float2x2 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
return result;
}
float2x3 ddy_coarse(float2x3 x) {
float2x3 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
return result;
}
float2x4 ddy_coarse(float2x4 x) {
float2x4 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[0][3] = ddy_coarse(x[0][3]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
result[1][3] = ddy_coarse(x[1][3]);
return result;
}
float3x2 ddy_coarse(float3x2 x) {
float3x2 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
return result;
}
float3x3 ddy_coarse(float3x3 x) {
float3x3 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
result[2][2] = ddy_coarse(x[2][2]);
return result;
}
float3x4 ddy_coarse(float3x4 x) {
float3x4 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[0][3] = ddy_coarse(x[0][3]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
result[1][3] = ddy_coarse(x[1][3]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
result[2][2] = ddy_coarse(x[2][2]);
result[2][3] = ddy_coarse(x[2][3]);
return result;
}
float4x2 ddy_coarse(float4x2 x) {
float4x2 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
result[3][0] = ddy_coarse(x[3][0]);
result[3][1] = ddy_coarse(x[3][1]);
return result;
}
float4x3 ddy_coarse(float4x3 x) {
float4x3 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
result[2][2] = ddy_coarse(x[2][2]);
result[3][0] = ddy_coarse(x[3][0]);
result[3][1] = ddy_coarse(x[3][1]);
result[3][2] = ddy_coarse(x[3][2]);
return result;
}
float4x4 ddy_coarse(float4x4 x) {
float4x4 result;
result[0][0] = ddy_coarse(x[0][0]);
result[0][1] = ddy_coarse(x[0][1]);
result[0][2] = ddy_coarse(x[0][2]);
result[0][3] = ddy_coarse(x[0][3]);
result[1][0] = ddy_coarse(x[1][0]);
result[1][1] = ddy_coarse(x[1][1]);
result[1][2] = ddy_coarse(x[1][2]);
result[1][3] = ddy_coarse(x[1][3]);
result[2][0] = ddy_coarse(x[2][0]);
result[2][1] = ddy_coarse(x[2][1]);
result[2][2] = ddy_coarse(x[2][2]);
result[2][3] = ddy_coarse(x[2][3]);
result[3][0] = ddy_coarse(x[3][0]);
result[3][1] = ddy_coarse(x[3][1]);
result[3][2] = ddy_coarse(x[3][2]);
result[3][3] = ddy_coarse(x[3][3]);
return result;
}
/* Functions named operator.xyzz */
bool4 operator.xyzz(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.xyzz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xyzz(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xyzz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xyzz(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xyzz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xyzz(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xyzz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator++ */
uint operator++(uint value) {
return value + 1;
}
int operator++(int value) {
return value + 1;
}
float operator++(float value) {
return value + 1;
}
/* Functions named InterlockedAnd */
native void InterlockedAnd(device atomic_uint*, uint, thread uint*);
native void InterlockedAnd(device atomic_int*, int, thread int*);
native void InterlockedAnd(device atomic_uint*, uint, device uint*);
native void InterlockedAnd(device atomic_int*, int, device int*);
native void InterlockedAnd(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedAnd(device atomic_int*, int, threadgroup int*);
native void InterlockedAnd(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedAnd(threadgroup atomic_int*, int, thread int*);
native void InterlockedAnd(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedAnd(threadgroup atomic_int*, int, device int*);
native void InterlockedAnd(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedAnd(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named operator.wyzx= */
bool4 operator.wyzx=(bool4 v, bool4 c) {
bool4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
uint4 operator.wyzx=(uint4 v, uint4 c) {
uint4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
int4 operator.wyzx=(int4 v, int4 c) {
int4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
float4 operator.wyzx=(float4 v, float4 c) {
float4 result = v;
result.w = c.x;
result.y = c.y;
result.z = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.xxwx */
bool4 operator.xxwx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.xxwx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.xxwx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.xxwx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.xwwx */
bool4 operator.xwwx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.xwwx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.xwwx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.xwwx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.zy */
bool2 operator.zy(bool3 v) {
bool2 result;
result.x = v.z;
result.y = v.y;
return result;
}
bool2 operator.zy(bool4 v) {
bool2 result;
result.x = v.z;
result.y = v.y;
return result;
}
uint2 operator.zy(uint3 v) {
uint2 result;
result.x = v.z;
result.y = v.y;
return result;
}
uint2 operator.zy(uint4 v) {
uint2 result;
result.x = v.z;
result.y = v.y;
return result;
}
int2 operator.zy(int3 v) {
int2 result;
result.x = v.z;
result.y = v.y;
return result;
}
int2 operator.zy(int4 v) {
int2 result;
result.x = v.z;
result.y = v.y;
return result;
}
float2 operator.zy(float3 v) {
float2 result;
result.x = v.z;
result.y = v.y;
return result;
}
float2 operator.zy(float4 v) {
float2 result;
result.x = v.z;
result.y = v.y;
return result;
}
/* Functions named operator.zyyw */
bool4 operator.zyyw(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.zyyw(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.zyyw(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.zyyw(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.xwzy= */
bool4 operator.xwzy=(bool4 v, bool4 c) {
bool4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
uint4 operator.xwzy=(uint4 v, uint4 c) {
uint4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
int4 operator.xwzy=(int4 v, int4 c) {
int4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
float4 operator.xwzy=(float4 v, float4 c) {
float4 result = v;
result.x = c.x;
result.w = c.y;
result.z = c.z;
result.y = c.w;
return result;
}
/* Functions named operator~ */
bool operator~(bool value) {
return !value;
}
native int operator~(int);
native uint operator~(uint);
/* Functions named ddx */
native float ddx(float);
float2 ddx(float2 x) {
float2 result;
result[0] = ddx(x[0]);
result[1] = ddx(x[1]);
return result;
}
float3 ddx(float3 x) {
float3 result;
result[0] = ddx(x[0]);
result[1] = ddx(x[1]);
result[2] = ddx(x[2]);
return result;
}
float4 ddx(float4 x) {
float4 result;
result[0] = ddx(x[0]);
result[1] = ddx(x[1]);
result[2] = ddx(x[2]);
result[3] = ddx(x[3]);
return result;
}
float2x2 ddx(float2x2 x) {
float2x2 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
return result;
}
float2x3 ddx(float2x3 x) {
float2x3 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
return result;
}
float2x4 ddx(float2x4 x) {
float2x4 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[0][3] = ddx(x[0][3]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
result[1][3] = ddx(x[1][3]);
return result;
}
float3x2 ddx(float3x2 x) {
float3x2 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
return result;
}
float3x3 ddx(float3x3 x) {
float3x3 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
result[2][2] = ddx(x[2][2]);
return result;
}
float3x4 ddx(float3x4 x) {
float3x4 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[0][3] = ddx(x[0][3]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
result[1][3] = ddx(x[1][3]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
result[2][2] = ddx(x[2][2]);
result[2][3] = ddx(x[2][3]);
return result;
}
float4x2 ddx(float4x2 x) {
float4x2 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
result[3][0] = ddx(x[3][0]);
result[3][1] = ddx(x[3][1]);
return result;
}
float4x3 ddx(float4x3 x) {
float4x3 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
result[2][2] = ddx(x[2][2]);
result[3][0] = ddx(x[3][0]);
result[3][1] = ddx(x[3][1]);
result[3][2] = ddx(x[3][2]);
return result;
}
float4x4 ddx(float4x4 x) {
float4x4 result;
result[0][0] = ddx(x[0][0]);
result[0][1] = ddx(x[0][1]);
result[0][2] = ddx(x[0][2]);
result[0][3] = ddx(x[0][3]);
result[1][0] = ddx(x[1][0]);
result[1][1] = ddx(x[1][1]);
result[1][2] = ddx(x[1][2]);
result[1][3] = ddx(x[1][3]);
result[2][0] = ddx(x[2][0]);
result[2][1] = ddx(x[2][1]);
result[2][2] = ddx(x[2][2]);
result[2][3] = ddx(x[2][3]);
result[3][0] = ddx(x[3][0]);
result[3][1] = ddx(x[3][1]);
result[3][2] = ddx(x[3][2]);
result[3][3] = ddx(x[3][3]);
return result;
}
/* Functions named operator.zzyx */
bool4 operator.zzyx(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.zzyx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zzyx(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.zzyx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zzyx(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.zzyx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zzyx(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.zzyx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.xwzz */
bool4 operator.xwzz(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.xwzz(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.xwzz(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.xwzz(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.wywx */
bool4 operator.wywx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.wywx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.wywx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.wywx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.y;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named InterlockedMax */
native void InterlockedMax(device atomic_uint*, uint, thread uint*);
native void InterlockedMax(device atomic_int*, int, thread int*);
native void InterlockedMax(device atomic_uint*, uint, device uint*);
native void InterlockedMax(device atomic_int*, int, device int*);
native void InterlockedMax(device atomic_uint*, uint, threadgroup uint*);
native void InterlockedMax(device atomic_int*, int, threadgroup int*);
native void InterlockedMax(threadgroup atomic_uint*, uint, thread uint*);
native void InterlockedMax(threadgroup atomic_int*, int, thread int*);
native void InterlockedMax(threadgroup atomic_uint*, uint, device uint*);
native void InterlockedMax(threadgroup atomic_int*, int, device int*);
native void InterlockedMax(threadgroup atomic_uint*, uint, threadgroup uint*);
native void InterlockedMax(threadgroup atomic_int*, int, threadgroup int*);
/* Functions named cosh */
native float cosh(float);
float2 cosh(float2 x) {
float2 result;
result[0] = cosh(x[0]);
result[1] = cosh(x[1]);
return result;
}
float3 cosh(float3 x) {
float3 result;
result[0] = cosh(x[0]);
result[1] = cosh(x[1]);
result[2] = cosh(x[2]);
return result;
}
float4 cosh(float4 x) {
float4 result;
result[0] = cosh(x[0]);
result[1] = cosh(x[1]);
result[2] = cosh(x[2]);
result[3] = cosh(x[3]);
return result;
}
float2x2 cosh(float2x2 x) {
float2x2 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
return result;
}
float2x3 cosh(float2x3 x) {
float2x3 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
return result;
}
float2x4 cosh(float2x4 x) {
float2x4 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[0][3] = cosh(x[0][3]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
result[1][3] = cosh(x[1][3]);
return result;
}
float3x2 cosh(float3x2 x) {
float3x2 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
return result;
}
float3x3 cosh(float3x3 x) {
float3x3 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
result[2][2] = cosh(x[2][2]);
return result;
}
float3x4 cosh(float3x4 x) {
float3x4 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[0][3] = cosh(x[0][3]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
result[1][3] = cosh(x[1][3]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
result[2][2] = cosh(x[2][2]);
result[2][3] = cosh(x[2][3]);
return result;
}
float4x2 cosh(float4x2 x) {
float4x2 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
result[3][0] = cosh(x[3][0]);
result[3][1] = cosh(x[3][1]);
return result;
}
float4x3 cosh(float4x3 x) {
float4x3 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
result[2][2] = cosh(x[2][2]);
result[3][0] = cosh(x[3][0]);
result[3][1] = cosh(x[3][1]);
result[3][2] = cosh(x[3][2]);
return result;
}
float4x4 cosh(float4x4 x) {
float4x4 result;
result[0][0] = cosh(x[0][0]);
result[0][1] = cosh(x[0][1]);
result[0][2] = cosh(x[0][2]);
result[0][3] = cosh(x[0][3]);
result[1][0] = cosh(x[1][0]);
result[1][1] = cosh(x[1][1]);
result[1][2] = cosh(x[1][2]);
result[1][3] = cosh(x[1][3]);
result[2][0] = cosh(x[2][0]);
result[2][1] = cosh(x[2][1]);
result[2][2] = cosh(x[2][2]);
result[2][3] = cosh(x[2][3]);
result[3][0] = cosh(x[3][0]);
result[3][1] = cosh(x[3][1]);
result[3][2] = cosh(x[3][2]);
result[3][3] = cosh(x[3][3]);
return result;
}
/* Functions named ddx_coarse */
float ddx_coarse(float x) {
return ddx(x);
}
float2 ddx_coarse(float2 x) {
float2 result;
result[0] = ddx_coarse(x[0]);
result[1] = ddx_coarse(x[1]);
return result;
}
float3 ddx_coarse(float3 x) {
float3 result;
result[0] = ddx_coarse(x[0]);
result[1] = ddx_coarse(x[1]);
result[2] = ddx_coarse(x[2]);
return result;
}
float4 ddx_coarse(float4 x) {
float4 result;
result[0] = ddx_coarse(x[0]);
result[1] = ddx_coarse(x[1]);
result[2] = ddx_coarse(x[2]);
result[3] = ddx_coarse(x[3]);
return result;
}
float2x2 ddx_coarse(float2x2 x) {
float2x2 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
return result;
}
float2x3 ddx_coarse(float2x3 x) {
float2x3 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
return result;
}
float2x4 ddx_coarse(float2x4 x) {
float2x4 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[0][3] = ddx_coarse(x[0][3]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
result[1][3] = ddx_coarse(x[1][3]);
return result;
}
float3x2 ddx_coarse(float3x2 x) {
float3x2 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
return result;
}
float3x3 ddx_coarse(float3x3 x) {
float3x3 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
result[2][2] = ddx_coarse(x[2][2]);
return result;
}
float3x4 ddx_coarse(float3x4 x) {
float3x4 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[0][3] = ddx_coarse(x[0][3]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
result[1][3] = ddx_coarse(x[1][3]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
result[2][2] = ddx_coarse(x[2][2]);
result[2][3] = ddx_coarse(x[2][3]);
return result;
}
float4x2 ddx_coarse(float4x2 x) {
float4x2 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
result[3][0] = ddx_coarse(x[3][0]);
result[3][1] = ddx_coarse(x[3][1]);
return result;
}
float4x3 ddx_coarse(float4x3 x) {
float4x3 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
result[2][2] = ddx_coarse(x[2][2]);
result[3][0] = ddx_coarse(x[3][0]);
result[3][1] = ddx_coarse(x[3][1]);
result[3][2] = ddx_coarse(x[3][2]);
return result;
}
float4x4 ddx_coarse(float4x4 x) {
float4x4 result;
result[0][0] = ddx_coarse(x[0][0]);
result[0][1] = ddx_coarse(x[0][1]);
result[0][2] = ddx_coarse(x[0][2]);
result[0][3] = ddx_coarse(x[0][3]);
result[1][0] = ddx_coarse(x[1][0]);
result[1][1] = ddx_coarse(x[1][1]);
result[1][2] = ddx_coarse(x[1][2]);
result[1][3] = ddx_coarse(x[1][3]);
result[2][0] = ddx_coarse(x[2][0]);
result[2][1] = ddx_coarse(x[2][1]);
result[2][2] = ddx_coarse(x[2][2]);
result[2][3] = ddx_coarse(x[2][3]);
result[3][0] = ddx_coarse(x[3][0]);
result[3][1] = ddx_coarse(x[3][1]);
result[3][2] = ddx_coarse(x[3][2]);
result[3][3] = ddx_coarse(x[3][3]);
return result;
}
/* Functions named operator.wxz= */
bool4 operator.wxz=(bool4 v, bool3 c) {
bool4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
uint4 operator.wxz=(uint4 v, uint3 c) {
uint4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
int4 operator.wxz=(int4 v, int3 c) {
int4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
float4 operator.wxz=(float4 v, float3 c) {
float4 result = v;
result.w = c.x;
result.x = c.y;
result.z = c.z;
return result;
}
/* Functions named firstbithigh */
uint firstbithigh(uint x) {
if ((x & uint(1 << 31)) != 0)
return 0;
if ((x & uint(1 << 30)) != 0)
return 1;
if ((x & uint(1 << 29)) != 0)
return 2;
if ((x & uint(1 << 28)) != 0)
return 3;
if ((x & uint(1 << 27)) != 0)
return 4;
if ((x & uint(1 << 26)) != 0)
return 5;
if ((x & uint(1 << 25)) != 0)
return 6;
if ((x & uint(1 << 24)) != 0)
return 7;
if ((x & uint(1 << 23)) != 0)
return 8;
if ((x & uint(1 << 22)) != 0)
return 9;
if ((x & uint(1 << 21)) != 0)
return 10;
if ((x & uint(1 << 20)) != 0)
return 11;
if ((x & uint(1 << 19)) != 0)
return 12;
if ((x & uint(1 << 18)) != 0)
return 13;
if ((x & uint(1 << 17)) != 0)
return 14;
if ((x & uint(1 << 16)) != 0)
return 15;
if ((x & uint(1 << 15)) != 0)
return 16;
if ((x & uint(1 << 14)) != 0)
return 17;
if ((x & uint(1 << 13)) != 0)
return 18;
if ((x & uint(1 << 12)) != 0)
return 19;
if ((x & uint(1 << 11)) != 0)
return 20;
if ((x & uint(1 << 10)) != 0)
return 21;
if ((x & uint(1 << 9)) != 0)
return 22;
if ((x & uint(1 << 8)) != 0)
return 23;
if ((x & uint(1 << 7)) != 0)
return 24;
if ((x & uint(1 << 6)) != 0)
return 25;
if ((x & uint(1 << 5)) != 0)
return 26;
if ((x & uint(1 << 4)) != 0)
return 27;
if ((x & uint(1 << 3)) != 0)
return 28;
if ((x & uint(1 << 2)) != 0)
return 29;
if ((x & uint(1 << 1)) != 0)
return 30;
if ((x & uint(1 << 0)) != 0)
return 31;
return 32;
}
uint firstbithigh(int x) {
return firstbithigh(uint(x));
}
uint2 firstbithigh(uint2 x) {
uint2 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
return result;
}
uint3 firstbithigh(uint3 x) {
uint3 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
result[2] = firstbithigh(x[2]);
return result;
}
uint4 firstbithigh(uint4 x) {
uint4 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
result[2] = firstbithigh(x[2]);
result[3] = firstbithigh(x[3]);
return result;
}
uint2 firstbithigh(int2 x) {
uint2 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
return result;
}
uint3 firstbithigh(int3 x) {
uint3 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
result[2] = firstbithigh(x[2]);
return result;
}
uint4 firstbithigh(int4 x) {
uint4 result;
result[0] = firstbithigh(x[0]);
result[1] = firstbithigh(x[1]);
result[2] = firstbithigh(x[2]);
result[3] = firstbithigh(x[3]);
return result;
}
/* Functions named operator.xzzy */
bool4 operator.xzzy(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
bool4 operator.xzzy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xzzy(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
uint4 operator.xzzy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xzzy(int3 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
int4 operator.xzzy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xzzy(float3 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
float4 operator.xzzy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.z;
result.z = v.z;
result.w = v.y;
return result;
}
/* Functions named operator.zwzx */
bool4 operator.zwzx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.zwzx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.zwzx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.zwzx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.w;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.yyzw */
bool4 operator.yyzw(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
uint4 operator.yyzw(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
int4 operator.yyzw(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
float4 operator.yyzw(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.z;
result.w = v.w;
return result;
}
/* Functions named operator.xwxw */
bool4 operator.xwxw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
uint4 operator.xwxw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
int4 operator.xwxw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
float4 operator.xwxw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.x;
result.w = v.w;
return result;
}
/* Functions named rcp */
float rcp(float x) {
return 1 / x;
}
float2 rcp(float2 x) {
float2 result;
result[0] = rcp(x[0]);
result[1] = rcp(x[1]);
return result;
}
float3 rcp(float3 x) {
float3 result;
result[0] = rcp(x[0]);
result[1] = rcp(x[1]);
result[2] = rcp(x[2]);
return result;
}
float4 rcp(float4 x) {
float4 result;
result[0] = rcp(x[0]);
result[1] = rcp(x[1]);
result[2] = rcp(x[2]);
result[3] = rcp(x[3]);
return result;
}
float2x2 rcp(float2x2 x) {
float2x2 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
return result;
}
float2x3 rcp(float2x3 x) {
float2x3 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
return result;
}
float2x4 rcp(float2x4 x) {
float2x4 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[0][3] = rcp(x[0][3]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
result[1][3] = rcp(x[1][3]);
return result;
}
float3x2 rcp(float3x2 x) {
float3x2 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
return result;
}
float3x3 rcp(float3x3 x) {
float3x3 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
result[2][2] = rcp(x[2][2]);
return result;
}
float3x4 rcp(float3x4 x) {
float3x4 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[0][3] = rcp(x[0][3]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
result[1][3] = rcp(x[1][3]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
result[2][2] = rcp(x[2][2]);
result[2][3] = rcp(x[2][3]);
return result;
}
float4x2 rcp(float4x2 x) {
float4x2 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
result[3][0] = rcp(x[3][0]);
result[3][1] = rcp(x[3][1]);
return result;
}
float4x3 rcp(float4x3 x) {
float4x3 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
result[2][2] = rcp(x[2][2]);
result[3][0] = rcp(x[3][0]);
result[3][1] = rcp(x[3][1]);
result[3][2] = rcp(x[3][2]);
return result;
}
float4x4 rcp(float4x4 x) {
float4x4 result;
result[0][0] = rcp(x[0][0]);
result[0][1] = rcp(x[0][1]);
result[0][2] = rcp(x[0][2]);
result[0][3] = rcp(x[0][3]);
result[1][0] = rcp(x[1][0]);
result[1][1] = rcp(x[1][1]);
result[1][2] = rcp(x[1][2]);
result[1][3] = rcp(x[1][3]);
result[2][0] = rcp(x[2][0]);
result[2][1] = rcp(x[2][1]);
result[2][2] = rcp(x[2][2]);
result[2][3] = rcp(x[2][3]);
result[3][0] = rcp(x[3][0]);
result[3][1] = rcp(x[3][1]);
result[3][2] = rcp(x[3][2]);
result[3][3] = rcp(x[3][3]);
return result;
}
/* Functions named operator.wxzx */
bool4 operator.wxzx(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
uint4 operator.wxzx(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
int4 operator.wxzx(int4 v) {
int4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
float4 operator.wxzx(float4 v) {
float4 result;
result.x = v.w;
result.y = v.x;
result.z = v.z;
result.w = v.x;
return result;
}
/* Functions named operator.wzy */
bool3 operator.wzy(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
return result;
}
uint3 operator.wzy(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
return result;
}
int3 operator.wzy(int4 v) {
int3 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
return result;
}
float3 operator.wzy(float4 v) {
float3 result;
result.x = v.w;
result.y = v.z;
result.z = v.y;
return result;
}
/* Functions named operator.zxw */
bool3 operator.zxw(bool4 v) {
bool3 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
return result;
}
uint3 operator.zxw(uint4 v) {
uint3 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
return result;
}
int3 operator.zxw(int4 v) {
int3 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
return result;
}
float3 operator.zxw(float4 v) {
float3 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
return result;
}
/* Functions named operator.zxyy */
bool4 operator.zxyy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.zxyy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zxyy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.zxyy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zxyy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.zxyy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zxyy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.zxyy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.yyyy */
bool4 operator.yyyy(bool2 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.yyyy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.yyyy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yyyy(uint2 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yyyy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yyyy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yyyy(int2 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yyyy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yyyy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yyyy(float2 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yyyy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yyyy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.y;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.yzwx= */
bool4 operator.yzwx=(bool4 v, bool4 c) {
bool4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
uint4 operator.yzwx=(uint4 v, uint4 c) {
uint4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
int4 operator.yzwx=(int4 v, int4 c) {
int4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
float4 operator.yzwx=(float4 v, float4 c) {
float4 result = v;
result.y = c.x;
result.z = c.y;
result.w = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.zzxy */
bool4 operator.zzxy(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
bool4 operator.zzxy(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zzxy(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
uint4 operator.zzxy(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zzxy(int3 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
int4 operator.zzxy(int4 v) {
int4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zzxy(float3 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
float4 operator.zzxy(float4 v) {
float4 result;
result.x = v.z;
result.y = v.z;
result.z = v.x;
result.w = v.y;
return result;
}
/* Functions named fwidth */
float fwidth(float x) {
return abs(ddx(x)) + abs(ddy(x));
}
float2 fwidth(float2 x) {
float2 result;
result[0] = fwidth(x[0]);
result[1] = fwidth(x[1]);
return result;
}
float3 fwidth(float3 x) {
float3 result;
result[0] = fwidth(x[0]);
result[1] = fwidth(x[1]);
result[2] = fwidth(x[2]);
return result;
}
float4 fwidth(float4 x) {
float4 result;
result[0] = fwidth(x[0]);
result[1] = fwidth(x[1]);
result[2] = fwidth(x[2]);
result[3] = fwidth(x[3]);
return result;
}
float2x2 fwidth(float2x2 x) {
float2x2 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
return result;
}
float2x3 fwidth(float2x3 x) {
float2x3 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
return result;
}
float2x4 fwidth(float2x4 x) {
float2x4 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[0][3] = fwidth(x[0][3]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
result[1][3] = fwidth(x[1][3]);
return result;
}
float3x2 fwidth(float3x2 x) {
float3x2 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
return result;
}
float3x3 fwidth(float3x3 x) {
float3x3 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
result[2][2] = fwidth(x[2][2]);
return result;
}
float3x4 fwidth(float3x4 x) {
float3x4 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[0][3] = fwidth(x[0][3]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
result[1][3] = fwidth(x[1][3]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
result[2][2] = fwidth(x[2][2]);
result[2][3] = fwidth(x[2][3]);
return result;
}
float4x2 fwidth(float4x2 x) {
float4x2 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
result[3][0] = fwidth(x[3][0]);
result[3][1] = fwidth(x[3][1]);
return result;
}
float4x3 fwidth(float4x3 x) {
float4x3 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
result[2][2] = fwidth(x[2][2]);
result[3][0] = fwidth(x[3][0]);
result[3][1] = fwidth(x[3][1]);
result[3][2] = fwidth(x[3][2]);
return result;
}
float4x4 fwidth(float4x4 x) {
float4x4 result;
result[0][0] = fwidth(x[0][0]);
result[0][1] = fwidth(x[0][1]);
result[0][2] = fwidth(x[0][2]);
result[0][3] = fwidth(x[0][3]);
result[1][0] = fwidth(x[1][0]);
result[1][1] = fwidth(x[1][1]);
result[1][2] = fwidth(x[1][2]);
result[1][3] = fwidth(x[1][3]);
result[2][0] = fwidth(x[2][0]);
result[2][1] = fwidth(x[2][1]);
result[2][2] = fwidth(x[2][2]);
result[2][3] = fwidth(x[2][3]);
result[3][0] = fwidth(x[3][0]);
result[3][1] = fwidth(x[3][1]);
result[3][2] = fwidth(x[3][2]);
result[3][3] = fwidth(x[3][3]);
return result;
}
/* Functions named operator.z= */
native bool3 operator.z=(bool3, bool);
native bool4 operator.z=(bool4, bool);
native uint3 operator.z=(uint3, uint);
native uint4 operator.z=(uint4, uint);
native int3 operator.z=(int3, int);
native int4 operator.z=(int4, int);
native float3 operator.z=(float3, float);
native float4 operator.z=(float4, float);
/* Functions named operator.x= */
native bool2 operator.x=(bool2, bool);
native bool3 operator.x=(bool3, bool);
native bool4 operator.x=(bool4, bool);
native uint2 operator.x=(uint2, uint);
native uint3 operator.x=(uint3, uint);
native uint4 operator.x=(uint4, uint);
native int2 operator.x=(int2, int);
native int3 operator.x=(int3, int);
native int4 operator.x=(int4, int);
native float2 operator.x=(float2, float);
native float3 operator.x=(float3, float);
native float4 operator.x=(float4, float);
/* Functions named operator.xy= */
native bool2 operator.xy=(bool2, bool2);
native bool3 operator.xy=(bool3, bool2);
native bool4 operator.xy=(bool4, bool2);
native uint2 operator.xy=(uint2, uint2);
native uint3 operator.xy=(uint3, uint2);
native uint4 operator.xy=(uint4, uint2);
native int2 operator.xy=(int2, int2);
native int3 operator.xy=(int3, int2);
native int4 operator.xy=(int4, int2);
native float2 operator.xy=(float2, float2);
native float3 operator.xy=(float3, float2);
native float4 operator.xy=(float4, float2);
/* Functions named operator.yxw */
bool3 operator.yxw(bool4 v) {
bool3 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
return result;
}
uint3 operator.yxw(uint4 v) {
uint3 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
return result;
}
int3 operator.yxw(int4 v) {
int3 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
return result;
}
float3 operator.yxw(float4 v) {
float3 result;
result.x = v.y;
result.y = v.x;
result.z = v.w;
return result;
}
/* Functions named operator.xxwy */
bool4 operator.xxwy(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
uint4 operator.xxwy(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
int4 operator.xxwy(int4 v) {
int4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
float4 operator.xxwy(float4 v) {
float4 result;
result.x = v.x;
result.y = v.x;
result.z = v.w;
result.w = v.y;
return result;
}
/* Functions named operator.yw */
bool2 operator.yw(bool4 v) {
bool2 result;
result.x = v.y;
result.y = v.w;
return result;
}
uint2 operator.yw(uint4 v) {
uint2 result;
result.x = v.y;
result.y = v.w;
return result;
}
int2 operator.yw(int4 v) {
int2 result;
result.x = v.y;
result.y = v.w;
return result;
}
float2 operator.yw(float4 v) {
float2 result;
result.x = v.y;
result.y = v.w;
return result;
}
/* Functions named operator.zxwx */
bool4 operator.zxwx(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
uint4 operator.zxwx(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
int4 operator.zxwx(int4 v) {
int4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
float4 operator.zxwx(float4 v) {
float4 result;
result.x = v.z;
result.y = v.x;
result.z = v.w;
result.w = v.x;
return result;
}
/* Functions named operator.yzyy */
bool4 operator.yzyy(bool3 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
bool4 operator.yzyy(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yzyy(uint3 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
uint4 operator.yzyy(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yzyy(int3 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
int4 operator.yzyy(int4 v) {
int4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yzyy(float3 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
float4 operator.yzyy(float4 v) {
float4 result;
result.x = v.y;
result.y = v.z;
result.z = v.y;
result.w = v.y;
return result;
}
/* Functions named operator.wwx */
bool3 operator.wwx(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
return result;
}
uint3 operator.wwx(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
return result;
}
int3 operator.wwx(int4 v) {
int3 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
return result;
}
float3 operator.wwx(float4 v) {
float3 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
return result;
}
/* Functions named operator.xwyx */
bool4 operator.xwyx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xwyx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xwyx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xwyx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.w;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.wxx */
bool3 operator.wxx(bool4 v) {
bool3 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
return result;
}
uint3 operator.wxx(uint4 v) {
uint3 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
return result;
}
int3 operator.wxx(int4 v) {
int3 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
return result;
}
float3 operator.wxx(float4 v) {
float3 result;
result.x = v.w;
result.y = v.x;
result.z = v.x;
return result;
}
/* Functions named operator.xyyx */
bool4 operator.xyyx(bool2 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.xyyx(bool3 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
bool4 operator.xyyx(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xyyx(uint2 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xyyx(uint3 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
uint4 operator.xyyx(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xyyx(int2 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xyyx(int3 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
int4 operator.xyyx(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xyyx(float2 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xyyx(float3 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
float4 operator.xyyx(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.x;
return result;
}
/* Functions named operator.ywxx */
bool4 operator.ywxx(bool4 v) {
bool4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
uint4 operator.ywxx(uint4 v) {
uint4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
int4 operator.ywxx(int4 v) {
int4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
float4 operator.ywxx(float4 v) {
float4 result;
result.x = v.y;
result.y = v.w;
result.z = v.x;
result.w = v.x;
return result;
}
/* Functions named operator.wwyw */
bool4 operator.wwyw(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.wwyw(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.wwyw(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.wwyw(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named operator.zwyx= */
bool4 operator.zwyx=(bool4 v, bool4 c) {
bool4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
uint4 operator.zwyx=(uint4 v, uint4 c) {
uint4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
int4 operator.zwyx=(int4 v, int4 c) {
int4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
float4 operator.zwyx=(float4 v, float4 c) {
float4 result = v;
result.z = c.x;
result.w = c.y;
result.y = c.z;
result.x = c.w;
return result;
}
/* Functions named operator.xzy= */
bool3 operator.xzy=(bool3 v, bool3 c) {
bool3 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
bool4 operator.xzy=(bool4 v, bool3 c) {
bool4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
uint3 operator.xzy=(uint3 v, uint3 c) {
uint3 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
uint4 operator.xzy=(uint4 v, uint3 c) {
uint4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
int3 operator.xzy=(int3 v, int3 c) {
int3 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
int4 operator.xzy=(int4 v, int3 c) {
int4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
float3 operator.xzy=(float3 v, float3 c) {
float3 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
float4 operator.xzy=(float4 v, float3 c) {
float4 result = v;
result.x = c.x;
result.z = c.y;
result.y = c.z;
return result;
}
/* Functions named operator.xyyw */
bool4 operator.xyyw(bool4 v) {
bool4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
uint4 operator.xyyw(uint4 v) {
uint4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
int4 operator.xyyw(int4 v) {
int4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
float4 operator.xyyw(float4 v) {
float4 result;
result.x = v.x;
result.y = v.y;
result.z = v.y;
result.w = v.w;
return result;
}
/* Functions named lerp */
float lerp(float x, float y, float s) {
return x * (1 - s) + y * s;
}
float2 lerp(float2 x, float2 y, float2 z) {
float2 result;
result[0] = lerp(x[0], y[0], z[0]);
result[1] = lerp(x[1], y[1], z[1]);
return result;
}
float3 lerp(float3 x, float3 y, float3 z) {
float3 result;
result[0] = lerp(x[0], y[0], z[0]);
result[1] = lerp(x[1], y[1], z[1]);
result[2] = lerp(x[2], y[2], z[2]);
return result;
}
float4 lerp(float4 x, float4 y, float4 z) {
float4 result;
result[0] = lerp(x[0], y[0], z[0]);
result[1] = lerp(x[1], y[1], z[1]);
result[2] = lerp(x[2], y[2], z[2]);
result[3] = lerp(x[3], y[3], z[3]);
return result;
}
float2x2 lerp(float2x2 x, float2x2 y, float2x2 z) {
float2x2 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
return result;
}
float2x3 lerp(float2x3 x, float2x3 y, float2x3 z) {
float2x3 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
return result;
}
float2x4 lerp(float2x4 x, float2x4 y, float2x4 z) {
float2x4 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[0][3] = lerp(x[0][3], y[0][3], z[0][3]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
result[1][3] = lerp(x[1][3], y[1][3], z[1][3]);
return result;
}
float3x2 lerp(float3x2 x, float3x2 y, float3x2 z) {
float3x2 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
return result;
}
float3x3 lerp(float3x3 x, float3x3 y, float3x3 z) {
float3x3 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
result[2][2] = lerp(x[2][2], y[2][2], z[2][2]);
return result;
}
float3x4 lerp(float3x4 x, float3x4 y, float3x4 z) {
float3x4 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[0][3] = lerp(x[0][3], y[0][3], z[0][3]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
result[1][3] = lerp(x[1][3], y[1][3], z[1][3]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
result[2][2] = lerp(x[2][2], y[2][2], z[2][2]);
result[2][3] = lerp(x[2][3], y[2][3], z[2][3]);
return result;
}
float4x2 lerp(float4x2 x, float4x2 y, float4x2 z) {
float4x2 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
result[3][0] = lerp(x[3][0], y[3][0], z[3][0]);
result[3][1] = lerp(x[3][1], y[3][1], z[3][1]);
return result;
}
float4x3 lerp(float4x3 x, float4x3 y, float4x3 z) {
float4x3 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
result[2][2] = lerp(x[2][2], y[2][2], z[2][2]);
result[3][0] = lerp(x[3][0], y[3][0], z[3][0]);
result[3][1] = lerp(x[3][1], y[3][1], z[3][1]);
result[3][2] = lerp(x[3][2], y[3][2], z[3][2]);
return result;
}
float4x4 lerp(float4x4 x, float4x4 y, float4x4 z) {
float4x4 result;
result[0][0] = lerp(x[0][0], y[0][0], z[0][0]);
result[0][1] = lerp(x[0][1], y[0][1], z[0][1]);
result[0][2] = lerp(x[0][2], y[0][2], z[0][2]);
result[0][3] = lerp(x[0][3], y[0][3], z[0][3]);
result[1][0] = lerp(x[1][0], y[1][0], z[1][0]);
result[1][1] = lerp(x[1][1], y[1][1], z[1][1]);
result[1][2] = lerp(x[1][2], y[1][2], z[1][2]);
result[1][3] = lerp(x[1][3], y[1][3], z[1][3]);
result[2][0] = lerp(x[2][0], y[2][0], z[2][0]);
result[2][1] = lerp(x[2][1], y[2][1], z[2][1]);
result[2][2] = lerp(x[2][2], y[2][2], z[2][2]);
result[2][3] = lerp(x[2][3], y[2][3], z[2][3]);
result[3][0] = lerp(x[3][0], y[3][0], z[3][0]);
result[3][1] = lerp(x[3][1], y[3][1], z[3][1]);
result[3][2] = lerp(x[3][2], y[3][2], z[3][2]);
result[3][3] = lerp(x[3][3], y[3][3], z[3][3]);
return result;
}
/* Functions named distance */
float distance(float x, float y) {
return length(x - y);
}
float distance(float2 x, float2 y) {
return length(x - y);
}
float distance(float3 x, float3 y) {
return length(x - y);
}
float distance(float4 x, float4 y) {
return length(x - y);
}
/* Functions named operator.zyzz */
bool4 operator.zyzz(bool3 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
bool4 operator.zyzz(bool4 v) {
bool4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zyzz(uint3 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
uint4 operator.zyzz(uint4 v) {
uint4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zyzz(int3 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
int4 operator.zyzz(int4 v) {
int4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zyzz(float3 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
float4 operator.zyzz(float4 v) {
float4 result;
result.x = v.z;
result.y = v.y;
result.z = v.z;
result.w = v.z;
return result;
}
/* Functions named operator.w */
native bool operator.w(bool4);
native uint operator.w(uint4);
native int operator.w(int4);
native float operator.w(float4);
/* Functions named operator.wwxz */
bool4 operator.wwxz(bool4 v) {
bool4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
uint4 operator.wwxz(uint4 v) {
uint4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
int4 operator.wwxz(int4 v) {
int4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
float4 operator.wwxz(float4 v) {
float4 result;
result.x = v.w;
result.y = v.w;
result.z = v.x;
result.w = v.z;
return result;
}
/* Functions named operator.xy */
native bool2 operator.xy(bool2);
native bool2 operator.xy(bool3);
native bool2 operator.xy(bool4);
native uint2 operator.xy(uint2);
native uint2 operator.xy(uint3);
native uint2 operator.xy(uint4);
native int2 operator.xy(int2);
native int2 operator.xy(int3);
native int2 operator.xy(int4);
native float2 operator.xy(float2);
native float2 operator.xy(float3);
native float2 operator.xy(float4);